Coverage Report for AHRSControl

Table of Contents

  1. Analysis Information
  2. Tests
  3. Summary
  4. Details

Analysis Information

Model Information

  Model version   1.99
  Author   bpotter
  Last saved   Tue Jun 30 12:20:53 2020

Simulation Optimization Options

  Default parameter behavior   inlined
  Block reduction   off
  Conditional branch optimization   on

Coverage Options

  Analyzed model   AHRSControl
  Logic block short circuiting   off

Tests

Test# Started execution Ended execution Description
Test 1 30-Jun-2020 13:14:51 30-Jun-2020 13:14:54 This model represents a flight control system for a helicopter that controls pitch attitude, roll attitude and yaw rate based on pilot inputs from the cyclic and pedals. The flight control computer also closes the loop on three hydrualic actuators and has sensor inputs from three Attitude/Heading Reference Systems.

Summary

Model Hierarchy/Complexity Test 1  
Decision Execution  
1. AHRSControl 40 52%
   
100%
   
 
2. . . . AHRS_Control 39 52%
   
100%
   
 
3. . . . . . . AHRSLoopCtrl 20 57%
   
100%
   
 
4. . . . . . . . . . Heli_inner_loop 3 54%
   
100%
   
 
5. . . . . . . . . . . . . RollOff1   NA 100%
   
 
6. . . . . . . . . . . . . RollOff2   NA 100%
   
 
7. . . . . . . . . . . . . RollOff3   NA 100%
   
 
8. . . . . . . . . . Heli_outer_loop 16 57%
   
100%
   
 
9. . . . . . . . . . . . . PitchLoop 3 60%
   
100%
   
 
10. . . . . . . . . . . . . RollLoop 3 60%
   
100%
   
 
11. . . . . . . . . . . . . YawLoop 3 60%
   
100%
   
 
12. . . . . . . AHRS_voter 18 48%
   
100%
   
 
13. . . . . . . . . . Avg_Value 4 57%
   
100%
   
 
14. . . . . . . . . . Mid_Value 6 46%
   
100%
   
 
15. . . . . . . . . . Single_Value 4 57%
   
100%
   
 

Details

1. Model "AHRSControl"

Child Systems: AHRS_Control

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 40
Decision NA 52% (56/108) decision outcomes
Execution NA 100% (112/112) objective outcomes

2. SubSystem block "AHRS_Control"

Justify or Exclude
Parent: /AHRSControl
Child Systems: AHRSLoopCtrl,  AHRS_voter

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 39
Decision 100% (1/1) decision outcomes 52% (56/108) decision outcomes
Execution NA 100% (112/112) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Full Coverage

Model Object Metric
FunctionCaller block "AHRSLoopCtrl_caller" Execution
FunctionCaller block "AHRS_voter_caller" Execution
ArgIn block "Pilot_theta_cmd" Execution
ArgIn block "Pilot_phi_cmd" Execution
ArgIn block "Pilot_r_cmd" Execution
ArgIn block "AHRS1" Execution
ArgIn block "AHRS2" Execution
ArgIn block "AHRS3" Execution

3. SubSystem block "AHRSLoopCtrl"

Justify or Exclude
Parent: AHRSControl/AHRS_Control
Child Systems: Heli_inner_loop,  Heli_outer_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 20
Decision 100% (1/1) decision outcomes 57% (24/42) decision outcomes
Execution NA 100% (65/65) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Full Coverage

Model Object Metric
FunctionCaller block "Heli_inner_loop_caller" Execution
FunctionCaller block "Heli_outer_loop_caller" Execution
ArgIn block "Pilot_theta_cmd" Execution
ArgIn block "Pilot_phi_cmd" Execution
ArgIn block "Pilot_r_cmd" Execution
ArgIn block "voted_fb" Execution

4. SubSystem block "Heli_inner_loop"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl
Child Systems: RollOff1,  RollOff2,  RollOff3

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 3
Decision 100% (1/1) decision outcomes 54% (7/13) decision outcomes
Execution NA 100% (25/25) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Saturate block "Saturation"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_inner_loop
Uncovered Links:  Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (6/12) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  input(1) > lower limit  50%
      false 0/1001
      true 1001/1001
  input(1) >= upper limit  50%
      false 1001/1001
      true 0/1001
  input(2) > lower limit  50%
      false 0/1001
      true 1001/1001
  input(2) >= upper limit  50%
      false 1001/1001
      true 0/1001
  input(3) > lower limit  50%
      false 0/1001
      true 1001/1001
  input(3) >= upper limit  50%
      false 1001/1001
      true 0/1001

   Full Coverage

Model Object Metric
Gain block "Gain" Execution
Gain block "SOF" Execution
Sum block "Sum4" Execution
Sum block "Sum5" Execution
Sum block "Sum6" Execution
ArgIn block "theta_cmd" Execution
ArgIn block "phi_cmd" Execution
ArgIn block "r_cmd" Execution
ArgIn block "voted_fb" Execution

5. SubSystem block "RollOff1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_inner_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 0 0
Execution NA 100% (5/5) objective outcomes

   Full Coverage

Model Object Metric
Gain block "a_2_1" Execution
Gain block "s_1" Execution
Sum block "SumA21" Execution
Sum block "SumB21" Execution
UnitDelay block "UnitDelay" Execution

6. SubSystem block "RollOff2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_inner_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 0 0
Execution NA 100% (5/5) objective outcomes

   Full Coverage

Model Object Metric
Gain block "a_2_1" Execution
Gain block "s_1" Execution
Sum block "SumA21" Execution
Sum block "SumB21" Execution
UnitDelay block "UnitDelay" Execution

7. SubSystem block "RollOff3"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_inner_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 0 0
Execution NA 100% (5/5) objective outcomes

   Full Coverage

Model Object Metric
Gain block "a_2_1" Execution
Gain block "s_1" Execution
Sum block "SumA21" Execution
Sum block "SumB21" Execution
UnitDelay block "UnitDelay" Execution

8. SubSystem block "Heli_outer_loop"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl
Child Systems: PitchLoop,  RollLoop,  YawLoop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 16
Decision 100% (1/1) decision outcomes 57% (16/28) decision outcomes
Execution NA 100% (34/34) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Saturate block "Saturation"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  input > lower limit  50%
      false 0/1001
      true 1001/1001
  input >= upper limit  50%
      false 1001/1001
      true 0/1001

   Saturate block "Saturation1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  input > lower limit  50%
      false 0/1001
      true 1001/1001
  input >= upper limit  50%
      false 1001/1001
      true 0/1001

   Saturate block "Saturation2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  input > lower limit  50%
      false 0/1001
      true 1001/1001
  input >= upper limit  50%
      false 1001/1001
      true 0/1001

   Full Coverage

Model Object Metric
DataTypeConversion block "TypeConversion" Execution
DataTypeConversion block "TypeConversion1" Execution
DataTypeConversion block "TypeConversion2" Execution
Gain block "Scaling" Execution
Gain block "Scaling1" Execution
Gain block "Scaling2" Execution
Sum block "Sum" Execution
Sum block "Sum1" Execution
Sum block "Sum2" Execution
FunctionCaller block "PitchLoop_caller" Execution
FunctionCaller block "RollLoop_caller" Execution
FunctionCaller block "YawLoop_caller" Execution
ArgIn block "Pilot_theta_cmd" Execution
ArgIn block "Pilot_phi_cmd" Execution
ArgIn block "Pilot_r_cmd" Execution
ArgIn block "voted_fb" Execution

9. SubSystem block "PitchLoop"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 3
Decision 100% (1/1) decision outcomes 60% (3/5) decision outcomes
Execution NA 100% (5/5) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   DiscreteIntegrator block "Integrator"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop/PitchLoop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  integration result <= lower limit  50%
      false 1001/1001
      true 0/1001
  integration result >= upper limit  50%
      false 1001/1001
      true 0/1001

   Full Coverage

Model Object Metric
Gain block "Gain" Execution
Gain block "Gain2" Execution
Sum block "Sum3" Execution
ArgIn block "U" Execution

10. SubSystem block "RollLoop"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 3
Decision 100% (1/1) decision outcomes 60% (3/5) decision outcomes
Execution NA 100% (5/5) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   DiscreteIntegrator block "Integrator1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop/RollLoop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  integration result <= lower limit  50%
      false 1001/1001
      true 0/1001
  integration result >= upper limit  50%
      false 1001/1001
      true 0/1001

   Full Coverage

Model Object Metric
Gain block "Gain1" Execution
Gain block "Gain3" Execution
Sum block "Sum4" Execution
ArgIn block "U" Execution

11. SubSystem block "YawLoop"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 3
Decision 100% (1/1) decision outcomes 60% (3/5) decision outcomes
Execution NA 100% (5/5) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   DiscreteIntegrator block "Integrator2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRSLoopCtrl/Heli_outer_loop/YawLoop
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 50% (2/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  integration result <= lower limit  50%
      false 1001/1001
      true 0/1001
  integration result >= upper limit  50%
      false 1001/1001
      true 0/1001

   Full Coverage

Model Object Metric
Gain block "Gain4" Execution
Gain block "Gain5" Execution
Sum block "Sum5" Execution
ArgIn block "U" Execution

12. SubSystem block "AHRS_voter"

Justify or Exclude
Parent: AHRSControl/AHRS_Control
Child Systems: Avg_Value,  Mid_Value,  Single_Value

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 18
Decision 100% (1/1) decision outcomes 48% (31/65) decision outcomes
Execution NA 100% (39/39) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   MultiPortSwitch block "MultiportSwitch"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 3
Decision 25% (1/4) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  integer input value  25%
      = 0 (output is from input port 0) 1001/1001
      = 1 (output is from input port 1) 0/1001
      = 2 (output is from input port 2) 0/1001
      = *,3 (output is from input port 3) 0/1001

   Full Coverage

Model Object Metric
Sum block "Sum" Execution
FunctionCaller block "Avg_Value_caller" Execution
Constant block "Constant" Execution
FunctionCaller block "Mid_Value_caller" Execution
FunctionCaller block "Single_Value_caller" Execution
ArgIn block "AHRS1" Execution
ArgIn block "AHRS2" Execution
ArgIn block "AHRS3" Execution

13. SubSystem block "Avg_Value"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 4
Decision 100% (1/1) decision outcomes 57% (4/7) decision outcomes
Execution NA 100% (12/12) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Switch block "Switch"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Avg_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Switch block "Switch1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Avg_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Switch block "Switch2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Avg_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Full Coverage

Model Object Metric
Gain block "Gain" Execution
Sum block "Sum" Execution
Constant block "Constant" Execution
ArgIn block "AHRS1" Execution
ArgIn block "AHRS2" Execution
ArgIn block "AHRS3" Execution
ArgIn block "AHRS1_Valid" Execution
ArgIn block "AHRS2_Valid" Execution
ArgIn block "AHRS3_Valid" Execution

14. SubSystem block "Mid_Value"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 6
Decision 100% (1/1) decision outcomes 46% (21/46) decision outcomes
Execution NA 100% (7/7) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   MinMax block "MinMax"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Mid_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (5/10) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  Logic to determine output element 1  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 2  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 3  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 4  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 5  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001

   MinMax block "MinMax1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Mid_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (5/10) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  Logic to determine output element 1  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 2  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 3  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 4  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 5  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001

   MinMax block "MinMax2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Mid_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (5/10) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  Logic to determine output element 1  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 2  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 3  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 4  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001
  Logic to determine output element 5  50%
      input 1 is the minimum 1001/1001
      input 2 is the minimum 0/1001

   MinMax block "MinMax3"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Mid_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 2
Decision 33% (5/15) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  Logic to determine output element 1  33%
      input 1 is the maximum 1001/1001
      input 2 is the maximum 0/1001
      input 3 is the maximum 0/1001
  Logic to determine output element 2  33%
      input 1 is the maximum 1001/1001
      input 2 is the maximum 0/1001
      input 3 is the maximum 0/1001
  Logic to determine output element 3  33%
      input 1 is the maximum 1001/1001
      input 2 is the maximum 0/1001
      input 3 is the maximum 0/1001
  Logic to determine output element 4  33%
      input 1 is the maximum 1001/1001
      input 2 is the maximum 0/1001
      input 3 is the maximum 0/1001
  Logic to determine output element 5  33%
      input 1 is the maximum 1001/1001
      input 2 is the maximum 0/1001
      input 3 is the maximum 0/1001

   Full Coverage

Model Object Metric
ArgIn block "AHRS1" Execution
ArgIn block "AHRS2" Execution
ArgIn block "AHRS3" Execution

15. SubSystem block "Single_Value"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter

Metric Coverage (this object) Coverage (inc. descendants)
Cyclomatic Complexity 1 4
Decision 100% (1/1) decision outcomes 57% (4/7) decision outcomes
Execution NA 100% (11/11) objective outcomes
  Decisions analyzed
  Function call  100%
      executed 1001/1001

   Switch block "Switch"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Single_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Switch block "Switch1"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Single_Value
Uncovered Links:  Previous uncovered object Next uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Switch block "Switch2"

Justify or Exclude
Parent: AHRSControl/AHRS_Control/AHRS_voter/Single_Value
Uncovered Links:  Previous uncovered object

Metric Coverage
Cyclomatic Complexity 1
Decision 50% (1/2) decision outcomes
Execution 100% (1/1) objective outcomes
  Decisions analyzed
  logical trigger input  50%
      false (output is from 3rd input port) 1001/1001
      true (output is from 1st input port) 0/1001

   Full Coverage

Model Object Metric
Sum block "Sum" Execution
Constant block "Constant" Execution
ArgIn block "AHRS1" Execution
ArgIn block "AHRS2" Execution
ArgIn block "AHRS3" Execution
ArgIn block "AHRS1_Valid" Execution
ArgIn block "AHRS2_Valid" Execution
ArgIn block "AHRS3_Valid" Execution