Browse Source

Add files via upload

SCADE Model for function F_MM
 - completed for viability checks before take off
not completed for flight aspects
CaseStudiesProcessDefinition
AP Porte 7 years ago committed by GitHub
parent
commit
e96ebf48a8
  1. 81
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.err
  2. 765
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.etp
  3. 351
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.htm
  4. 341
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/FallingEdge.xscade
  5. 55
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerR.xscade
  6. 56
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerRR.xscade
  7. 52
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerRR32.xscade
  8. 341
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/RisingEdge.xscade
  9. 43
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/SqrtR1.xscade
  10. 40
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/SqrtR32.xscade
  11. 183
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/Square.xscade
  12. 454
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableElt.xscade
  13. 670
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableIdx.xscade
  14. 526
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableLineIdx.xscade
  15. 361
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/abs.ann
  16. 396
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/abs.xscade
  17. 366
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/closest_lower_higher.ann
  18. 1477
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/closest_lower_higher.xscade
  19. 314
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/combine_poles.ann
  20. 914
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/combine_poles.xscade
  21. 388
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_distances.ann
  22. 882
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_distances.xscade
  23. 406
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_flight_viability.ann
  24. 354
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_flight_viability.xscade
  25. 384
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_inverse_exp.ann
  26. 477
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_inverse_exp.xscade
  27. 420
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_necessary_energy.ann
  28. 1888
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_necessary_energy.xscade
  29. 386
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_dist.ann
  30. 386
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_val.ann
  31. 527
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_val.xscade
  32. 119
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf.ann
  33. 393
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf.xscade
  34. 119
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf_mm.ann
  35. 393
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf_mm.xscade
  36. 389
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_combinations.ann
  37. 909
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_combinations.xscade
  38. 380
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_poles_combinations.ann
  39. 902
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_poles_combinations.xscade
  40. 4
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.almgp
  41. 54
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.almgr
  42. 100
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.ewo
  43. 20
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.log
  44. 24
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtf
  45. 1
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtf.search
  46. BIN
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtfimage
  47. 7
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.tot
  48. 21
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.trace
  49. 64
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.types
  50. 30
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.vsw
  51. 293
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_closest_neighbours.ann
  52. 1577
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_closest_neighbours.xscade
  53. 332
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_viability.ann
  54. 1854
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_viability.xscade
  55. 378
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/division_by_zero_safe.ann
  56. 1005
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/division_by_zero_safe.xscade
  57. 8
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm - Copie.ann
  58. 42
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm.ann
  59. 42
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm.xscade
  60. 25
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/flight_mm.ann
  61. 23
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/flight_mm.xscade
  62. 368
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_closest_l_h.ann
  63. 517
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_closest_l_h.xscade
  64. 443
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_compute_interpolation.ann
  65. 879
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_compute_interpolation.xscade
  66. 309
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_flight.ann
  67. 171
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_flight.xscade
  68. 88
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission - Copie.ann
  69. 501
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission.ann
  70. 1319
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission.xscade
  71. 411
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_payload_boarding.ann
  72. 674
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_payload_boarding.xscade
  73. 379
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_bool_to_truthtable.ann
  74. 294
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_bool_to_truthtable.xscade
  75. 385
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_combine_values.ann
  76. 367
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_combine_values.xscade
  77. 389
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_distances.ann
  78. 770
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_distances.xscade
  79. 442
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_interpolation.ann
  80. 387
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mapwi_index_array_true.ann
  81. 449
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mapwi_index_array_true.xscade
  82. 25
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mgt_mm.ann
  83. 22
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mgt_mm.xscade
  84. 403
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/select_navigation_data.ann
  85. 458
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/select_navigation_data.xscade
  86. 433
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/set_up_mission.ann
  87. 1448
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/set_up_mission.xscade
  88. 59
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/stp_mm.ann
  89. 65
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/stp_mm.xscade
  90. 628
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/templateann.aty
  91. 395
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/test_param.ann
  92. 1730
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/test_param.xscade
  93. 384
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/transform_index_structure.ann
  94. 461
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/transform_index_structure.xscade
  95. 129
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/types_mm.ann
  96. 284
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/types_mm.xscade
  97. 117
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/utl_mm.ann
  98. 221
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/utl_mm.xscade
  99. 370
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/verify_epsilon.ann
  100. 498
      UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/verify_epsilon.xscade

81
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.err

@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 377, character 0
at path f_mm::manage_mission/LL_missionCancelled/
The local variable LL_missionCancelled has no definition
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 291, character 0
at path f_mm::manage_mission/go/
The input variable go is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 295, character 0
at path f_mm::manage_mission/mission_abort/
The input variable mission_abort is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 299, character 0
at path f_mm::manage_mission/pushbutton_on/
The input variable pushbutton_on is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 323, character 0
at path f_mm::manage_mission/estimated_total_mass/
The input variable estimated_total_mass is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 327, character 0
at path f_mm::manage_mission/current_range/
The input variable current_range is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 331, character 0
at path f_mm::manage_mission/current_speed/
The input variable current_speed is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 335, character 0
at path f_mm::manage_mission/current_altitude/
The input variable current_altitude is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 339, character 0
at path f_mm::manage_mission/flight_mode/
The input variable flight_mode is never used
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 352, character 0
at path f_mm::manage_mission/mission_complete/
The output variable mission_complete has no definition
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 356, character 0
at path f_mm::manage_mission/mission_aborted/
The output variable mission_aborted has no definition
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 360, character 0
at path f_mm::manage_mission/emergency_landing/
The output variable emergency_landing has no definition
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 368, character 0
at path f_mm::manage_mission/start_landing/
The output variable start_landing has no definition
*** Post-namespace Error (ERR_516): Undefined variable
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\manage_mission.scade, line 372, character 0
at path f_mm::manage_mission/operating_point/
The output variable operating_point has no definition
*** Completion Error (SE_EXILPA): Illegal Empty Parameter
at path _L1, _L2 = (viab_mm::na<<_null, _null, _null, _null>>)(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\compute_flight_viability.scade, line 113, character 0
at path flight_mm::compute_flight_viability/LL_viability_array/
The local variable LL_viability_array is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\compute_flight_viability.scade, line 95, character 0
at path flight_mm::compute_flight_viability/nav_parameters/
The input variable nav_parameters is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\compute_flight_viability.scade, line 103, character 0
at path flight_mm::compute_flight_viability/payload_mass/
The input variable payload_mass is never used
*** Post-namespace Warning (WAR_508): Unused flow
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\compute_flight_viability.scade, line 107, character 0
at path flight_mm::compute_flight_viability/energy_level/
The input variable energy_level is never used
*** Type Error (ERR_100): Type mismatch
at file C:\Users\ANNEPE~1.POR\AppData\Local\Temp\ScadeChecker\8528\compute_flight_viability.scade, line 132, character 12
at path flight_mm::compute_flight_viability/navigation_mode:then:LL_viability_array=
This expression has type {altitudes:float32^4, distances:float32^4,
masses:float32^4, speeds:float32^4, energies:float32^4^4^4^4}
but should have type bool
(output flow mismatch)

765
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.etp

@ -0,0 +1,765 @@ @@ -0,0 +1,765 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project id="1" oid_count="538" defaultConfiguration="24">
<props>
<Prop id="10" name="@STUDIO:PRODUCT">
<value>SC</value>
</Prop>
<Prop id="11" name="@SCADE:SAVEVERSION">
<value>SCADE65</value>
</Prop>
<Prop id="15" name="@GENERATOR:TARGET_DIR">
<value>$(Configuration)</value>
<configuration>14</configuration>
</Prop>
<Prop id="16" name="@VC6.0:ADD_COMP_OPTIONS">
<value>/nologo /ML /O2</value>
<configuration>14</configuration>
</Prop>
<Prop id="17" name="@GENERATOR:GENERATOR">
<value>C QUAL65</value>
<configuration>14</configuration>
</Prop>
<Prop id="18" name="@GENERATOR:USE_TYPES">
<value>char</value>
<value>float32</value>
<value>float64</value>
<value>int8</value>
<value>int16</value>
<value>int32</value>
<value>int64</value>
<value>uint8</value>
<value>uint16</value>
<value>uint32</value>
<value>uint64</value>
<value>size</value>
<configuration>14</configuration>
</Prop>
<Prop id="19" name="@GENERATOR:OPTLEVEL">
<value>1</value>
<configuration>14</configuration>
</Prop>
<Prop id="20" name="@GENERATOR:USER_CONFIG">
<value>$(TargetDir)\user_macros.h</value>
<configuration>14</configuration>
</Prop>
<Prop id="21" name="@GENERATOR:ENABLE_EXTENSIONS">
<value>false</value>
<configuration>14</configuration>
</Prop>
<Prop id="22" name="@SIMULATOR:CPU_TYPE">
<value>win64</value>
<configuration>14</configuration>
</Prop>
<Prop id="23" name="@STUDIO:TOOLCONF">
<value>Code Generator</value>
<value>14</value>
<value>24</value>
<value>46</value>
<value>59</value>
</Prop>
<Prop id="25" name="@GENERATOR:TARGET_DIR">
<value>$(Configuration)</value>
<configuration>24</configuration>
</Prop>
<Prop id="26" name="@VC6.0:ADD_COMP_OPTIONS">
<value>/nologo /ML /O2</value>
<configuration>24</configuration>
</Prop>
<Prop id="27" name="@GENERATOR:GENERATOR">
<value>C QUAL65</value>
<configuration>24</configuration>
</Prop>
<Prop id="28" name="@GENERATOR:USE_TYPES">
<value>char</value>
<value>float32</value>
<value>float64</value>
<value>int8</value>
<value>int16</value>
<value>int32</value>
<value>int64</value>
<value>uint8</value>
<value>uint16</value>
<value>uint32</value>
<value>uint64</value>
<value>size</value>
<configuration>24</configuration>
</Prop>
<Prop id="29" name="@GENERATOR:OPTLEVEL">
<value>0</value>
<configuration>24</configuration>
</Prop>
<Prop id="30" name="@GENERATOR:DEBUG">
<value>true</value>
<configuration>24</configuration>
</Prop>
<Prop id="31" name="@GENERATOR:PROBES">
<value>true</value>
<configuration>24</configuration>
</Prop>
<Prop id="32" name="@GENERATOR:SKIP_UNUSED">
<value>true</value>
<configuration>24</configuration>
</Prop>
<Prop id="33" name="@GENERATOR:TARGET_ADAPTOR">
<value>Simulator</value>
<configuration>24</configuration>
</Prop>
<Prop id="34" name="@GENERATOR:USER_CONFIG">
<value>$(TargetDir)\user_macros.h</value>
<configuration>24</configuration>
</Prop>
<Prop id="35" name="@SIMULATOR:CPU_TYPE">
<value>win64</value>
<configuration>24</configuration>
</Prop>
<Prop id="37" name="@REPORTER:SCRIPT">
<value>Reporter/ScadeReport.tcl</value>
<configuration>36</configuration>
</Prop>
<Prop id="38" name="@REPORTER:RotateLandscape">
<value>true</value>
<configuration>36</configuration>
</Prop>
<Prop id="39" name="@REPORTER:cstDisplayType">
<value>Flat</value>
<configuration>36</configuration>
</Prop>
<Prop id="40" name="@STUDIO:TOOLCONF">
<value>Reporter</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>71</value>
</Prop>
<Prop id="42" name="@REPORTER:FORMAT">
<value>rtf</value>
<configuration>41</configuration>
</Prop>
<Prop id="43" name="@REPORTER:SCRIPT">
<value>Reporter/ScadeReport.tcl</value>
<configuration>41</configuration>
</Prop>
<Prop id="44" name="@REPORTER:RotateLandscape">
<value>true</value>
<configuration>41</configuration>
</Prop>
<Prop id="45" name="@REPORTER:cstDisplayType">
<value>Flat</value>
<configuration>41</configuration>
</Prop>
<Prop id="47" name="@STUDIO:TOOLCONF">
<value>Instrumenter</value>
<value>46</value>
</Prop>
<Prop id="48" name="@GENERATOR:TARGET_DIR">
<value>$(Configuration)</value>
<configuration>46</configuration>
</Prop>
<Prop id="49" name="@VC6.0:ADD_COMP_OPTIONS">
<value>/nologo /ML /O2</value>
<configuration>46</configuration>
</Prop>
<Prop id="50" name="@GENERATOR:GENERATOR">
<value>C QUAL65</value>
<configuration>46</configuration>
</Prop>
<Prop id="51" name="@GENERATOR:USE_TYPES">
<value>char</value>
<value>float32</value>
<value>float64</value>
<value>int8</value>
<value>int16</value>
<value>int32</value>
<value>int64</value>
<value>uint8</value>
<value>uint16</value>
<value>uint32</value>
<value>uint64</value>
<value>size</value>
<configuration>46</configuration>
</Prop>
<Prop id="52" name="@GENERATOR:OPTLEVEL">
<value>1</value>
<configuration>46</configuration>
</Prop>
<Prop id="53" name="@GENERATOR:USER_CONFIG">
<value>$(TargetDir)\user_macros.h</value>
<configuration>46</configuration>
</Prop>
<Prop id="54" name="@GENERATOR:PROBES">
<value>true</value>
<configuration>46</configuration>
</Prop>
<Prop id="55" name="@SIMULATOR:ADD_COMP_OPTIONS">
<value></value>
<configuration>46</configuration>
</Prop>
<Prop id="56" name="@REPORTER:SCRIPT">
<value>Reporter/MtcReport.tcl</value>
<configuration>46</configuration>
</Prop>
<Prop id="57" name="@GENERATOR:TARGET_ADAPTOR">
<value>Simulator</value>
<configuration>46</configuration>
</Prop>
<Prop id="58" name="@SIMULATOR:CPU_TYPE">
<value>win64</value>
<configuration>46</configuration>
</Prop>
<Prop id="60" name="@GENERATOR:TARGET_DIR">
<value>$(Configuration)</value>
<configuration>59</configuration>
</Prop>
<Prop id="61" name="@VC6.0:ADD_COMP_OPTIONS">
<value>/nologo /ML /O2</value>
<configuration>59</configuration>
</Prop>
<Prop id="62" name="@GENERATOR:GENERATOR">
<value>C QUAL65</value>
<configuration>59</configuration>
</Prop>
<Prop id="63" name="@GENERATOR:USE_TYPES">
<value>char</value>
<value>float32</value>
<value>float64</value>
<value>int8</value>
<value>int16</value>
<value>int32</value>
<value>int64</value>
<value>uint8</value>
<value>uint16</value>
<value>uint32</value>
<value>uint64</value>
<value>size</value>
<configuration>59</configuration>
</Prop>
<Prop id="64" name="@GENERATOR:OPTLEVEL">
<value>1</value>
<configuration>59</configuration>
</Prop>
<Prop id="65" name="@GENERATOR:USER_CONFIG">
<value>$(TargetDir)\user_macros.h</value>
<configuration>59</configuration>
</Prop>
<Prop id="66" name="@GENERATOR:TARGET_ADAPTOR">
<value>T&amp;S Verifier</value>
<configuration>59</configuration>
</Prop>
<Prop id="67" name="@STUDIO:TOOLCONF">
<value>Timing and Stack Verifiers</value>
<value>59</value>
</Prop>
<Prop id="69" name="@DASHBOARD:SCRIPT">
<value>DashBoard/DashBoardReport.tcl</value>
<configuration>68</configuration>
</Prop>
<Prop id="70" name="@STUDIO:TOOLCONF">
<value>Dashboard</value>
<value>68</value>
</Prop>
<Prop id="72" name="@REPORTER:FORMAT">
<value>rtf</value>
<configuration>71</configuration>
</Prop>
<Prop id="73" name="@REPORTER:SCRIPT">
<value>Reporter/ScadeQualifiedReport.tcl</value>
<configuration>71</configuration>
</Prop>
<Prop id="74" name="@REPORTER:RotateLandscape">
<value>true</value>
<configuration>71</configuration>
</Prop>
<Prop id="75" name="@REPORTER:cstDisplayType">
<value>Flat</value>
<configuration>71</configuration>
</Prop>
<Prop id="76" name="@REPORTER:AllowRowToBreak">
<value>true</value>
<configuration>71</configuration>
</Prop>
<Prop id="77" name="@REPORTER:DisplayCalledAndCalling">
<value>true</value>
<configuration>71</configuration>
</Prop>
<Prop id="78" name="@REPORTER:DisplayKCGPragma">
<value>true</value>
<configuration>71</configuration>
</Prop>
<Prop id="80" name="@GENERATOR:TARGET_DIR">
<value>$(Configuration)</value>
<configuration>79</configuration>
</Prop>
<Prop id="81" name="@VC6.0:ADD_COMP_OPTIONS">
<value>/nologo /ML /O2</value>
<configuration>79</configuration>
</Prop>
<Prop id="82" name="@GENERATOR:GENERATOR">
<value>C QUAL65</value>
<configuration>79</configuration>
</Prop>
<Prop id="83" name="@GENERATOR:USE_TYPES">
<value>char</value>
<value>float32</value>
<value>float64</value>
<value>int8</value>
<value>int16</value>
<value>int32</value>
<value>int64</value>
<value>uint8</value>
<value>uint16</value>
<value>uint32</value>
<value>uint64</value>
<value>size</value>
<configuration>79</configuration>
</Prop>
<Prop id="84" name="@GENERATOR:OPTLEVEL">
<value>0</value>
<configuration>79</configuration>
</Prop>
<Prop id="85" name="@GENERATOR:DEBUG">
<value>true</value>
<configuration>79</configuration>
</Prop>
<Prop id="86" name="@GENERATOR:PROBES">
<value>true</value>
<configuration>79</configuration>
</Prop>
<Prop id="87" name="@GENERATOR:SKIP_UNUSED">
<value>true</value>
<configuration>79</configuration>
</Prop>
<Prop id="88" name="@GENERATOR:TARGET_ADAPTOR">
<value>Simulator</value>
<configuration>79</configuration>
</Prop>
<Prop id="89" name="@GENERATOR:USER_CONFIG">
<value>$(TargetDir)\user_macros.h</value>
<configuration>79</configuration>
</Prop>
<Prop id="90" name="@SIMULATOR:CPU_TYPE">
<value>win64</value>
<configuration>79</configuration>
</Prop>
<Prop id="91" name="@STUDIO:TOOLCONF">
<value>Synchronization</value>
<value>79</value>
</Prop>
<Prop id="95" name="@SCADE:NEWVARIABLESYMBOLS">
<value>true</value>
</Prop>
<Prop id="96" name="@STUDIO:TITLE">
<value>Model for RESSAC's µXAV's functions</value>
</Prop>
<Prop id="97" name="@STUDIO:SUBTITLE">
<value>sub-functions F_MM and F_CM</value>
</Prop>
<Prop id="98" name="@STUDIO:DESCRIPTION">
<value>Model of implementation of functions Mission Management and Communication Management of system Mission Management Systems's function F_PT (= Payload Transport)</value>
</Prop>
<Prop id="99" name="@STUDIO:AUTHORS">
<value>AP. Porte</value>
</Prop>
<Prop id="100" name="@STUDIO:COMPAGNY">
<value>Zodiac Aerotechnics</value>
</Prop>
<Prop id="101" name="@STUDIO:DATE">
<value>19 june 2017</value>
</Prop>
<Prop id="102" name="@STUDIO:INDEX">
<value>1.1_draft</value>
</Prop>
<Prop id="103" name="@STUDIO:REFERENCE">
<value>ressac_mms_f_mm</value>
</Prop>
<Prop id="104" name="@STUDIO:TOOLCONF">
<value>Timing and Stack Analysis Tools</value>
<value>14</value>
<value>24</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>59</value>
<value>68</value>
<value>71</value>
<value>79</value>
</Prop>
<Prop id="105" name="@STUDIO:TOOLCONF">
<value>DiffAnalyzer</value>
<value>14</value>
<value>24</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>59</value>
<value>68</value>
<value>71</value>
<value>79</value>
</Prop>
<Prop id="110" name="@STUDIO:TOOLCONF">
<value>Design Verifier</value>
<value>14</value>
<value>24</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>59</value>
<value>68</value>
<value>71</value>
<value>79</value>
</Prop>
<Prop id="114" name="@SCADE:CHECKED">
<value>false</value>
</Prop>
<Prop id="117" name="@SCADE:NOTEFILE">
<value>templateann.aty</value>
</Prop>
<Prop id="329" name="@STUDIO:TOOLCONF">
<value>Architect Checker</value>
<value>14</value>
<value>24</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>59</value>
<value>68</value>
<value>71</value>
<value>79</value>
</Prop>
<Prop id="330" name="@STUDIO:TOOLCONF">
<value>Architect Configurator</value>
<value>14</value>
<value>24</value>
<value>36</value>
<value>41</value>
<value>46</value>
<value>59</value>
<value>68</value>
<value>71</value>
<value>79</value>
</Prop>
<Prop id="369" name="@SCADE:ASSTRING_TRIM">
<value></value>
</Prop>
<Prop id="522" name="@SCADE:DEFAULTFILE">
<value>F_MM.xscade</value>
</Prop>
<Prop id="523" name="@SCADE:SEMFILE">
<value>F_MM.err</value>
</Prop>
</props>
<roots>
<Folder id="3" extensions="vsp;etp" name="SCADE Libraries"/>
<Folder id="12" extensions="xscade;scade" name="Model Files">
<elements>
<Folder id="13" extensions="xscade;scade" name="Separate Files">
<elements>
<FileRef id="415" persistAs="transform_index_structure.xscade">
<props>
<Prop id="414" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="417" persistAs="Square.xscade">
<props>
<Prop id="416" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="419" persistAs="SqrtR1.xscade">
<props>
<Prop id="418" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="421" persistAs="SqrtR32.xscade">
<props>
<Prop id="420" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="423" persistAs="compute_sum_inverse_val.xscade">
<props>
<Prop id="422" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="425" persistAs="PowerR.xscade">
<props>
<Prop id="424" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="427" persistAs="PowerRR.xscade">
<props>
<Prop id="426" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="429" persistAs="compute_inverse_exp.xscade">
<props>
<Prop id="428" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="431" persistAs="PowerRR32.xscade">
<props>
<Prop id="430" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="433" persistAs="TruthTableIdx.xscade">
<props>
<Prop id="432" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="435" persistAs="TruthTableLineIdx.xscade">
<props>
<Prop id="434" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="437" persistAs="TruthTableElt.xscade">
<props>
<Prop id="436" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="439" persistAs="RisingEdge.xscade">
<props>
<Prop id="438" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="441" persistAs="FallingEdge.xscade">
<props>
<Prop id="440" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="447" persistAs="map_compute_distances.xscade">
<props>
<Prop id="446" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="449" persistAs="map_combine_values.xscade">
<props>
<Prop id="448" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="451" persistAs="fold_compute_interpolation.xscade">
<props>
<Prop id="450" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="453" persistAs="determine_viability.xscade">
<props>
<Prop id="452" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="455" persistAs="determine_closest_neighbours.xscade">
<props>
<Prop id="454" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="457" persistAs="create_poles_combinations.xscade">
<props>
<Prop id="456" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="459" persistAs="create_combinations.xscade">
<props>
<Prop id="458" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="461" persistAs="compute_necessary_energy.xscade">
<props>
<Prop id="460" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="463" persistAs="compute_distances.xscade">
<props>
<Prop id="462" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="475" persistAs="manage_mission.xscade">
<props>
<Prop id="474" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="478" persistAs="combine_poles.xscade">
<props>
<Prop id="477" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="483" persistAs="set_up_mission.xscade">
<props>
<Prop id="482" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="468" persistAs="manage_payload_boarding.xscade">
<props>
<Prop id="467" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="488" persistAs="Operator4.xscade">
<props>
<Prop id="487" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="490" persistAs="Operator5.xscade">
<props>
<Prop id="489" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="496" persistAs="mapwi_index_array_true.xscade">
<props>
<Prop id="495" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="511" persistAs="compute_flight_viability.xscade">
<props>
<Prop id="510" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="513" persistAs="manage_flight.xscade">
<props>
<Prop id="512" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="516" persistAs="select_navigation_data.xscade">
<props>
<Prop id="515" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="526" persistAs="fold_closest_l_h.xscade">
<props>
<Prop id="525" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="527" persistAs="closest_lower_higher.xscade">
<props>
<Prop id="524" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="531" persistAs="division_by_zero_safe.xscade">
<props>
<Prop id="530" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="533" persistAs="verify_epsilon.xscade">
<props>
<Prop id="532" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
<FileRef id="536" persistAs="abs.xscade">
<props>
<Prop id="535" name="@SCADE:NONROOT">
<value>true</value>
</Prop>
</props>
</FileRef>
</elements>
</Folder>
<FileRef id="476" persistAs="f_mm.xscade"/>
<FileRef id="509" persistAs="flight_mm.xscade"/>
<FileRef id="514" persistAs="mgt_mm.xscade"/>
<FileRef id="517" persistAs="stp_mm.xscade"/>
<FileRef id="518" persistAs="types_mm.xscade"/>
<FileRef id="519" persistAs="utl_mm.xscade"/>
<FileRef id="520" persistAs="conf_mm.xscade"/>
<FileRef id="521" persistAs="viab_mm.xscade"/>
</elements>
</Folder>
<Folder id="174" name="Include Files">
<elements>
<FileRef id="269" persistAs="import\macro_libmathext64.h">
<props>
<Prop id="272" name="@SIMULATOR:FILEKIND">
<value>Macro</value>
</Prop>
</props>
</FileRef>
<FileRef id="270" persistAs="import\macro_libmathext32.h">
<props>
<Prop id="271" name="@SIMULATOR:FILEKIND">
<value>Macro</value>
</Prop>
</props>
</FileRef>
</elements>
</Folder>
<FileRef id="479" persistAs="designXAV.tot"/>
</roots>
<configurations>
<Configuration id="14" name="KCG"/>
<Configuration id="24" name="Simulation"/>
<Configuration id="36" name="HTML"/>
<Configuration id="41" name="RTF"/>
<Configuration id="46" name="Coverage"/>
<Configuration id="59" name="Timing and Stack"/>
<Configuration id="68" name="DashBoard"/>
<Configuration id="71" name="Cert. Reporter"/>
<Configuration id="79" name="Synchronization"/>
</configurations>
</Project>

351
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/F_MM.htm

@ -0,0 +1,351 @@ @@ -0,0 +1,351 @@
<HTML>
<HEAD>
<TITLE>F_MM</TITLE>
<STYLE type="text/css">
.Normal {
font-family: Verdana;
font-size: 11pt;}
.BodyText {
font-family: Verdana;
font-size: 11pt;}
.Title {
text-align: center;
font-family: Verdana;
font-size: 20pt;
font-weight: bold;
padding-bottom: 16pt;}
.Subtitle {
text-align: center;
font-family: Verdana;
font-size: 16pt;
font-style: italic;
padding-bottom: 16pt;}
.DocumentInfo {
text-align: center;
font-family: Verdana;
font-size: 11pt;
padding-top: 12pt;
padding-bottom: 12pt;}
.ListNumber2 {
font-family: Verdana;
font-size: 11pt;}
.Heading1 {
margin-top: 12pt;
border-top-style: dotted;page-break-before: always;
font-family: Verdana;
font-size: 16pt;
font-weight: bold;
padding-top: 12pt;
padding-bottom: 12pt;}
.Heading2 {
font-family: Verdana;
font-size: 14pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.Heading3 {
font-family: Verdana;
font-size: 12pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.Heading4 {
font-family: Verdana;
font-size: 11pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.TableCell {
text-align: left;
vertical-align:middle;
font-family: Verdana;
font-size: 9pt;
padding-left: 0.1cm;
padding-right: 0.1cm;}
.TableHeadingCell {
text-align: center;
vertical-align:middle;
color: rgb(255,255,255);
background-color: rgb(0,0,128);
font-family: Verdana;
font-size: 9pt;
font-weight: bold;
padding-left: 0.1cm;}
.TOC1 {
font-family: Verdana;
font-size: 12pt;
font-weight: bold;
padding-top: 12pt;}
.TOC2 {
font-family: Verdana;
font-size: 12pt;
padding-left: 0.35cm;
padding-top: 12pt;}
.TOC3 {
font-family: Verdana;
font-size: 11pt;
font-style: italic;
padding-left: 0.7cm;
padding-top: 6pt;}
.TOC4 {
font-family: Verdana;
font-size: 9pt;
padding-left: 1cm;}
.Header {
text-align: right;
font-family: Tahoma;
font-size: 9pt;
font-weight: bold;
padding-bottom: 12pt;}
.Footer {
font-family: Tahoma;
font-size: 9pt;
font-weight: bold;}
.Caption {
text-align: center;
font-family: Verdana;
font-size: 8pt;
font-weight: bold;
padding-top: 6pt;
padding-bottom: 12pt;}
.TableCaption {
text-align: left;
font-family: Verdana;
font-size: 8pt;
font-weight: bold;
padding-bottom: 6pt;}
.ListOfFigures {
font-family: Verdana;
font-size: 11pt;
font-weight: bold;}
.Hyperlink {
color: rgb(0,0,255);
font-family: Verdana;
font-size: 11pt;
text-decoration: underline;}
.DocumentClass {
text-align: center;
font-family: Verdana;
font-size: 11pt;}
.TableCellAnnot {
text-align: left;
vertical-align:middle;
font-family: Verdana;
font-size: 9pt;
padding-left: 0.1cm;
padding-right: 0.1cm;}
.TableHeadingCellAnnot {
text-align: left;
vertical-align:middle;
color: rgb(255,255,255);
background-color: rgb(0,0,128);
font-family: Verdana;
font-size: 9pt;
font-weight: bold;
padding-left: 0.1cm;}
.TextualCode {
font-family: Courier;
font-size: 9pt;
margin-bottom: 12pt;
border-style: solid;
border-width: 1pt;
padding-left: 3pt;
padding-top: 3pt;
padding-bottom: 3pt;
padding-right: 3pt;
min-width: 160mm;
width: 80%;
white-space: nowrap;}
.EndOfDocument {
text-align: center;
color: rgb(192,192,192);
font-family: Verdana;
font-size: 7pt;}
.ListTitle {
font-family: Verdana;
font-size: 8pt;
font-weight: bold;}
.ListOfTables {
font-family: Verdana;
font-size: 11pt;
font-weight: bold;}
.Heading5 {
font-family: Verdana;
font-size: 10pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.Heading6 {
font-family: Verdana;
font-size: 10pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.Heading7 {
font-family: Verdana;
font-size: 10pt;
padding-top: 6pt;
padding-bottom: 6pt;}
.TOC5 {
font-family: Verdana;
font-size: 9pt;
padding-left: 1.3cm;}
.TOC6 {
font-family: Verdana;
font-size: 9pt;
padding-left: 1.6cm;}
.TOC7 {
font-family: Verdana;
font-size: 9pt;
padding-left: 2cm;}
table{
border:1px solid rgb(0, 0, 0);
border-spacing: 0px;
border-collapse: collapse;
}
td{
border:1px solid rgb(0, 0, 0);
border-collapse: collapse;
min-height: 0.5cm;
height: 0.5cm;
}
th{
border:1px solid rgb(0, 0, 0);
border-collapse: collapse;
min-height: 0.5cm;
height: 0.5cm;
}
</STYLE>
</HEAD>
<BODY>
<DIV class="Header">Monday October 16 2017 15:17:13</DIV><DIV class="Title">Result of check for model F_MM</DIV>
<HR style="width: 14cm; text-align: center;">
<DIV class="DocumentInfo">
<SPAN class="DocumentInfo" style="color: rgb(255,0,0);">8 error(s) detected</SPAN> - <SPAN class="DocumentInfo" style="color: rgb(255,128,0);">12 warning(s) detected</SPAN></DIV>
<DIV class="BodyText" style="padding-bottom: 12pt;"><table style="width: 100%;" ><TBODY>
<TR><TH class="TableHeadingCell">Category</TH>
<TH class="TableHeadingCell">Code</TH>
<TH class="TableHeadingCell">Message</TH>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/LL_missionCancelled/">f_mm::manage_mission/LL_missionCancelled/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The local variable LL_missionCancelled has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/go/">f_mm::manage_mission/go/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable go is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/mission_abort/">f_mm::manage_mission/mission_abort/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable mission_abort is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/pushbutton_on/">f_mm::manage_mission/pushbutton_on/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable pushbutton_on is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/estimated_total_mass/">f_mm::manage_mission/estimated_total_mass/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable estimated_total_mass is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/current_range/">f_mm::manage_mission/current_range/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable current_range is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/current_speed/">f_mm::manage_mission/current_speed/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable current_speed is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/current_altitude/">f_mm::manage_mission/current_altitude/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable current_altitude is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/flight_mode/">f_mm::manage_mission/flight_mode/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable flight_mode is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/mission_complete/">f_mm::manage_mission/mission_complete/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The output variable mission_complete has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/mission_aborted/">f_mm::manage_mission/mission_aborted/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The output variable mission_aborted has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/emergency_landing/">f_mm::manage_mission/emergency_landing/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The output variable emergency_landing has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/start_landing/">f_mm::manage_mission/start_landing/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The output variable start_landing has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_516</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Undefined variable</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#f_mm::manage_mission/operating_point/">f_mm::manage_mission/operating_point/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The output variable operating_point has no definition</DIV>
</TD>
</TR><TR><TD class="TableCell">Completion Error</TD>
<TD class="TableCell" style=""><SPAN class="TableCell" style="color: rgb(255,0,0);">SE_EXILPA</SPAN></TD>
<TD class="TableCell" style=""><B>Illegal Empty Parameter</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::manage_flight/_L1=">_L1, _L2 = (viab_mm::na&lt;&lt;_null, _null, _null, _null&gt;&gt;)(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)</A></TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::compute_flight_viability/LL_viability_array/">flight_mm::compute_flight_viability/LL_viability_array/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The local variable LL_viability_array is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::compute_flight_viability/nav_parameters/">flight_mm::compute_flight_viability/nav_parameters/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable nav_parameters is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::compute_flight_viability/payload_mass/">flight_mm::compute_flight_viability/payload_mass/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable payload_mass is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Post-namespace Warning</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,128,0);">WAR_508</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Unused flow</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::compute_flight_viability/energy_level/">flight_mm::compute_flight_viability/energy_level/</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
The input variable energy_level is never used</DIV>
</TD>
</TR><TR><TD class="TableCell" style="" rowspan="2">Type Error</TD>
<TD class="TableCell" style="" rowspan="2"><SPAN class="TableCell" style="color: rgb(255,0,0);">ERR_100</SPAN></TD>
<TD class="TableCell" style="border-bottom: 0px hidden;"><B>Type mismatch</B><B> at </B><A class="Hyperlink" style="text-align: left; vertical-align:middle; font-size: 9pt; font-weight: bold; padding-left: 0.1cm; padding-right: 0.1cm;" HREF="studio:SC:LOCATE_PATH#F_MM.etp#flight_mm::compute_flight_viability/navigation_mode:then:LL_viability_array=">flight_mm::compute_flight_viability/navigation_mode:then:LL_viability_array=</A></TD>
</TR><TR><TD class="TableCell" style="border-top: 0px hidden;"><DIV class="TableCell" style="padding-left: 0.5cm;">
This expression has type {altitudes:float32^4, distances:float32^4,<BR>
masses:float32^4, speeds:float32^4, energies:float32^4^4^4^4}<BR>
but should have type bool<BR>
(output flow mismatch)</DIV>
</TD>
</TR></TBODY></TABLE></DIV>
<HR style="width: 14cm; text-align: center;">
<DIV class="EndOfDocument">End of document.</DIV>
</BODY>
</HTML>

341
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/FallingEdge.xscade

@ -0,0 +1,341 @@ @@ -0,0 +1,341 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" name="FallingEdge">
<inputs>
<Variable name="FE_Input">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e4/6F08/E3C/59477512719f"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="FE_Output">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e3/6F08/E3C/594775121ed0"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29de/6F08/E3C/5947751256c9"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29df/6F08/E3C/594775126ea2"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e0/6F08/E3C/5947751292c"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e1/6F08/E3C/59477512417b"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e2/6F08/E3C/594775123633"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = FE_Input; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="FE_Input"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d7/6F08/E3C/594775123f0a"/>
</pragmas>
</Equation>
<!-- FE_Output = _L6; -->
<Equation>
<lefts>
<VariableRef name="FE_Output"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d8/6F08/E3C/5947751264d1"/>
</pragmas>
</Equation>
<!-- _L3 = _L4 and _L5; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- _L4 and _L5 -->
<NAryOp name="1" operator="and">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/29d9/6F08/E3C/594775122d7d"/>
</pragmas>
</Equation>
<!-- _L4 = fby(_L1; 1; false); -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<!-- fby(_L1; 1; false) -->
<FbyOp name="1">
<flows>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</flows>
<delay>
<ConstValue value="1"/>
</delay>
<values>
<ConstValue value="false"/>
</values>
</FbyOp>
</right>
<pragmas>
<ed:Equation oid="!ed/29da/6F08/E3C/5947751244e5"/>
</pragmas>
</Equation>
<!-- _L5 = not _L1; -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- not _L1 -->
<UnaryOp name="1" operator="not">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/29db/6F08/E3C/59477512c17"/>
</pragmas>
</Equation>
<!-- _L6 = (false) -> (_L3); -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<!-- (false) -> (_L3) -->
<InitOp name="1">
<value>
<ListExpression>
<items>
<ConstValue value="false"/>
</items>
</ListExpression>
</value>
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
</InitOp>
</right>
<pragmas>
<ed:Equation oid="!ed/29dc/6F08/E3C/594775122933"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/29d6/6F08/E3C/594775124763" symbolFile="FallingEdge" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>Detects a falling edge (true to false transition).</comment>
<comment>The output is true during the transition clock cycle. The output is initialized to false. </comment>
<diagrams>
<NetDiagram name="diagram_FallingEdge" landscape="false" format="A4 (210 297)" oid="!ed/29dd/6F08/E3C/5947751268f9">
<presentationElements>
<EquationGE presentable="!ed/29d7/6F08/E3C/594775123f0a">
<position>
<Point x="1891" y="2196"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29d8/6F08/E3C/5947751264d1">
<position>
<Point x="14182" y="3874"/>
</position>
<size>
<Size width="326" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29d9/6F08/E3C/594775122d7d">
<position>
<Point x="8935" y="3776"/>
</position>
<size>
<Size width="1021" height="677"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29da/6F08/E3C/5947751244e5" dstEquation="!ed/29d9/6F08/E3C/594775122d7d">
<positions>
<Point x="6011" y="2455"/>
<Point x="7726" y="2455"/>
<Point x="7726" y="4001"/>
<Point x="8932" y="4001"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/29db/6F08/E3C/59477512c17" dstEquation="!ed/29d9/6F08/E3C/594775122d7d">
<positions>
<Point x="6244" y="4233"/>
<Point x="7853" y="4233"/>
<Point x="7853" y="4233"/>
<Point x="8932" y="4233"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29da/6F08/E3C/5947751244e5">
<position>
<Point x="4995" y="1947"/>
</position>
<size>
<Size width="1016" height="1016"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d7/6F08/E3C/594775123f0a" dstEquation="!ed/29da/6F08/E3C/5947751244e5">
<positions>
<Point x="2138" y="2455"/>
<Point x="2942" y="2455"/>
<Point x="2942" y="2455"/>
<Point x="4995" y="2455"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29db/6F08/E3C/59477512c17">
<position>
<Point x="5228" y="3895"/>
</position>
<size>
<Size width="1016" height="660"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d7/6F08/E3C/594775123f0a" dstEquation="!ed/29db/6F08/E3C/59477512c17">
<positions>
<Point x="2138" y="2455"/>
<Point x="3450" y="2455"/>
<Point x="3450" y="4233"/>
<Point x="5228" y="4233"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29dc/6F08/E3C/594775122933">
<position>
<Point x="11705" y="3598"/>
</position>
<size>
<Size width="1016" height="1016"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d9/6F08/E3C/594775122d7d" dstEquation="!ed/29dc/6F08/E3C/594775122933">
<positions>
<Point x="9948" y="4106"/>
<Point x="10816" y="4106"/>
<Point x="10816" y="4106"/>
<Point x="11705" y="4106"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29dc/6F08/E3C/594775122933" dstEquation="!ed/29d8/6F08/E3C/5947751264d1">
<positions>
<Point x="12721" y="4106"/>
<Point x="13462" y="4106"/>
<Point x="13462" y="4106"/>
<Point x="14224" y="4106"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

55
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerR.xscade

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" external="imported" name="PowerR">
<inputs>
<Variable name="P_Input">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1117/745C/15C0/58f859ff5712"/>
</pragmas>
</Variable>
<Variable name="Power">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1118/745C/15C0/58f859ff3116"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="P_Output">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1116/745C/15C0/58f859ff3bab"/>
</pragmas>
</Variable>
</outputs>
<numericTypes>
<FloatType>
<typeVar>
<TypeRef name="'T"/>
</typeVar>
</FloatType>
</numericTypes>
<pragmas>
<ed:Operator oid="!ed/1115/745C/15C0/58f859ff4cd5" symbolFile="PowerR.ssl" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>P_Ouput equals P_Input powered to Power</comment>
</ed:Operator>
</pragmas>
</Operator>

56
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerRR.xscade

@ -0,0 +1,56 @@ @@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" external="imported" name="PowerRR">
<inputs>
<Variable name="P_Input">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1135/745C/15C0/58f85a243eeb"/>
</pragmas>
</Variable>
<Variable name="Power">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1136/745C/15C0/58f85a243763"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="P_Output">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1134/745C/15C0/58f85a2463dd"/>
</pragmas>
</Variable>
</outputs>
<numericTypes>
<FloatType>
<typeVar>
<TypeRef name="'T"/>
</typeVar>
</FloatType>
</numericTypes>
<pragmas>
<ed:Operator oid="!ed/1133/745C/15C0/58f85a245720" symbolFile="PowerRR.ssl" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>P_Ouput equals P_Input powered to Power, Power being a 'T.</comment>
<comment>It is assumed that: &quot;P_Input &gt; 0&quot; or &quot;(P_Input == 0 &amp;&amp; Power &gt; 0)&quot;</comment>
</ed:Operator>
</pragmas>
</Operator>

52
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/PowerRR32.xscade

@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" external="imported" name="PowerRR32">
<inputs>
<Variable name="i">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/125a/745C/15C0/58f85d881de5"/>
</pragmas>
</Variable>
<Variable name="p">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/125b/745C/15C0/58f85d884278"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="o">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1259/745C/15C0/58f85d883792"/>
</pragmas>
</Variable>
</outputs>
<specializedOperator>
<OperatorRef name="PowerRR"/>
</specializedOperator>
<pragmas>
<ed:Operator oid="!ed/1258/745C/15C0/58f85d883b0d"/>
<kcg:Pragma>
C:name PowerRR32_mathext_mathextimpl
</kcg:Pragma>
</pragmas>
</Operator>

341
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/RisingEdge.xscade

@ -0,0 +1,341 @@ @@ -0,0 +1,341 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" name="RisingEdge">
<inputs>
<Variable name="RE_Input">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/298b/6F08/E3C/594774562cae"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="RE_Output">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/298a/6F08/E3C/594774567ee5"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2985/6F08/E3C/594774565656"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2986/6F08/E3C/594774562eaf"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2987/6F08/E3C/5947745613c8"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2988/6F08/E3C/594774562cc0"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2989/6F08/E3C/594774561103"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = RE_Input; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="RE_Input"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/297e/6F08/E3C/594774567ed2"/>
</pragmas>
</Equation>
<!-- RE_Output = _L9; -->
<Equation>
<lefts>
<VariableRef name="RE_Output"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/297f/6F08/E3C/5947745653eb"/>
</pragmas>
</Equation>
<!-- _L3 = fby(_L1; 1; false); -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- fby(_L1; 1; false) -->
<FbyOp name="1">
<flows>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</flows>
<delay>
<ConstValue value="1"/>
</delay>
<values>
<ConstValue value="false"/>
</values>
</FbyOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2980/6F08/E3C/594774564430"/>
</pragmas>
</Equation>
<!-- _L6 = _L8 and _L1; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<!-- _L8 and _L1 -->
<NAryOp name="1" operator="and">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2981/6F08/E3C/594774566a1"/>
</pragmas>
</Equation>
<!-- _L8 = not _L3; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<!-- not _L3 -->
<UnaryOp name="1" operator="not">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2982/6F08/E3C/594774561fbd"/>
</pragmas>
</Equation>
<!-- _L9 = (false) -> (_L6); -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- (false) -> (_L6) -->
<InitOp name="1">
<value>
<ListExpression>
<items>
<ConstValue value="false"/>
</items>
</ListExpression>
</value>
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
</InitOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2983/6F08/E3C/594774562491"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/297d/6F08/E3C/594774561a9e" symbolFile="RisingEdge" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>Detects a rising edge (false to true transition).</comment>
<comment>The output is true during the transition clock cycle. The output is initialized to false.</comment>
<diagrams>
<NetDiagram name="diagram_RisingEdge" landscape="false" format="A4 (210 297)" oid="!ed/2984/6F08/E3C/59477456114f">
<presentationElements>
<EquationGE presentable="!ed/297e/6F08/E3C/594774567ed2">
<position>
<Point x="1969" y="3133"/>
</position>
<size>
<Size width="251" height="502"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/297f/6F08/E3C/5947745653eb">
<position>
<Point x="14288" y="4360"/>
</position>
<size>
<Size width="317" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2980/6F08/E3C/594774564430">
<position>
<Point x="4699" y="2879"/>
</position>
<size>
<Size width="1021" height="1021"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/297e/6F08/E3C/594774567ed2" dstEquation="!ed/2980/6F08/E3C/594774564430">
<positions>
<Point x="2223" y="3387"/>
<Point x="3471" y="3387"/>
<Point x="3471" y="3387"/>
<Point x="4699" y="3387"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2981/6F08/E3C/594774566a1">
<position>
<Point x="9144" y="4276"/>
</position>
<size>
<Size width="1021" height="677"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2982/6F08/E3C/594774561fbd" dstEquation="!ed/2981/6F08/E3C/594774566a1">
<positions>
<Point x="8022" y="3408"/>
<Point x="8573" y="3408"/>
<Point x="8573" y="4509"/>
<Point x="9144" y="4509"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/297e/6F08/E3C/594774567ed2" dstEquation="!ed/2981/6F08/E3C/594774566a1">
<positions>
<Point x="2223" y="3387"/>
<Point x="3704" y="3387"/>
<Point x="3704" y="4720"/>
<Point x="9144" y="4720"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2982/6F08/E3C/594774561fbd">
<position>
<Point x="7010" y="3073"/>
</position>
<size>
<Size width="1016" height="660"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2980/6F08/E3C/594774564430" dstEquation="!ed/2982/6F08/E3C/594774561fbd">
<positions>
<Point x="5715" y="3387"/>
<Point x="6350" y="3387"/>
<Point x="6350" y="3387"/>
<Point x="7006" y="3387"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2983/6F08/E3C/594774562491">
<position>
<Point x="11303" y="4106"/>
</position>
<size>
<Size width="1016" height="1016"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2981/6F08/E3C/594774566a1" dstEquation="!ed/2983/6F08/E3C/594774562491">
<positions>
<Point x="10160" y="4614"/>
<Point x="10732" y="4614"/>
<Point x="10732" y="4614"/>
<Point x="11303" y="4614"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2983/6F08/E3C/594774562491" dstEquation="!ed/297f/6F08/E3C/5947745653eb">
<positions>
<Point x="12319" y="4614"/>
<Point x="13314" y="4614"/>
<Point x="13314" y="4614"/>
<Point x="14330" y="4614"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

43
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/SqrtR1.xscade

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" external="imported" name="SqrtR">
<inputs>
<Variable name="Input1">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/19ed/654E/1838/58f70bd055d6"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="Output1">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/19ec/654E/1838/58f70bd05d89"/>
</pragmas>
</Variable>
</outputs>
<numericTypes>
<FloatType>
<typeVar>
<TypeRef name="'T"/>
</typeVar>
</FloatType>
</numericTypes>
<pragmas>
<ed:Operator oid="!ed/19eb/654E/1838/58f70bd04cce" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>sqrt(Input1)</comment>
</ed:Operator>
</pragmas>
</Operator>

40
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/SqrtR32.xscade

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" external="imported" name="SqrtR32">
<inputs>
<Variable name="i">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/4fd4/654E/1838/58f70e5d4acd"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="o">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/4fd3/654E/1838/58f70e5d1296"/>
</pragmas>
</Variable>
</outputs>
<specializedOperator>
<OperatorRef name="SqrtR"/>
</specializedOperator>
<pragmas>
<ed:Operator oid="!ed/4fd2/654E/1838/58f70e5d6f68"/>
<kcg:Pragma>
C:name SqrtR32_mathext_mathextimpl
</kcg:Pragma>
</pragmas>
</Operator>

183
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/Square.xscade

@ -0,0 +1,183 @@ @@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="Square">
<inputs>
<Variable name="Square_In">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1a08/654E/1838/58f70bd177ff"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="Square_Out">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1a07/654E/1838/58f70bd1769c"/>
</pragmas>
</Variable>
</outputs>
<numericTypes>
<NumericType>
<typeVar>
<TypeRef name="'T"/>
</typeVar>
</NumericType>
</numericTypes>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1a05/654E/1838/58f70bd15577"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1a06/654E/1838/58f70bd152f0"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = Square_In; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Square_In"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1a01/654E/1838/58f70bd1ebd"/>
</pragmas>
</Equation>
<!-- _L2 = _L1 * _L1; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- _L1 * _L1 -->
<NAryOp name="1" operator="*">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1a02/654E/1838/58f70bd13031"/>
</pragmas>
</Equation>
<!-- Square_Out = _L2; -->
<Equation>
<lefts>
<VariableRef name="Square_Out"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1a03/654E/1838/58f70bd1455a"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/1a00/654E/1838/58f70bd164ca" symbolFile="Square.ssl" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>SR_Output = (SR_Input)^2</comment>
<diagrams>
<NetDiagram name="diagram_Square" landscape="false" format="A4 (210 297)" oid="!ed/1a04/654E/1838/58f70bd15307">
<presentationElements>
<EquationGE presentable="!ed/1a01/654E/1838/58f70bd1ebd">
<position>
<Point x="1653" y="661"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1a02/654E/1838/58f70bd13031">
<position>
<Point x="4172" y="574"/>
</position>
<size>
<Size width="1022" height="678"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1a01/654E/1838/58f70bd1ebd" dstEquation="!ed/1a02/654E/1838/58f70bd13031">
<positions>
<Point x="1905" y="910"/>
<Point x="3598" y="910"/>
<Point x="3598" y="804"/>
<Point x="4170" y="804"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1a01/654E/1838/58f70bd1ebd" dstEquation="!ed/1a02/654E/1838/58f70bd13031">
<positions>
<Point x="1905" y="910"/>
<Point x="3598" y="910"/>
<Point x="3598" y="1016"/>
<Point x="4170" y="1016"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1a03/654E/1838/58f70bd1455a">
<position>
<Point x="6552" y="661"/>
</position>
<size>
<Size width="326" height="503"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1a02/654E/1838/58f70bd13031" dstEquation="!ed/1a03/654E/1838/58f70bd1455a">
<positions>
<Point x="5186" y="910"/>
<Point x="5503" y="910"/>
<Point x="5503" y="910"/>
<Point x="6604" y="910"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

454
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableElt.xscade

@ -0,0 +1,454 @@ @@ -0,0 +1,454 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="TruthTableElt">
<inputs>
<Variable name="AccIn">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2f/5C75/1654/58f8aef633e5"/>
</pragmas>
</Variable>
<Variable name="Cond">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a30/5C75/1654/58f8aef63e27"/>
</pragmas>
</Variable>
<Variable name="TTelt">
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a31/5C75/1654/58f8aef63e5f"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="AccOut">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2e/5C75/1654/58f8aef625e7"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a27/5C75/1654/58f8aef63ee0"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a28/5C75/1654/58f8aef646e5"/>
</pragmas>
</Variable>
<Variable name="_L13">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a29/5C75/1654/58f8aef6189a"/>
</pragmas>
</Variable>
<Variable name="_L15">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2a/5C75/1654/58f8aef62d1c"/>
</pragmas>
</Variable>
<Variable name="_L14">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2b/5C75/1654/58f8aef63de3"/>
</pragmas>
</Variable>
<Variable name="_L16">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2c/5C75/1654/58f8aef61f18"/>
</pragmas>
</Variable>
<Variable name="_L17">
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a2d/5C75/1654/58f8aef658b"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = _L2 and _L13; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<!-- _L2 and _L13 -->
<NAryOp name="1" operator="and">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L13"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2a1e/5C75/1654/58f8aef6512a"/>
</pragmas>
</Equation>
<!-- _L2 = AccIn; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="AccIn"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2a1f/5C75/1654/58f8aef6699e"/>
</pragmas>
</Equation>
<!-- AccOut = _L1; -->
<Equation>
<lefts>
<VariableRef name="AccOut"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2a20/5C75/1654/58f8aef6257e"/>
</pragmas>
</Equation>
<!-- _L13 = ( case _L17 of | T : _L14 | F : _L15 | _ : _L16); -->
<Equation>
<lefts>
<VariableRef name="_L13"/>
</lefts>
<right>
<!-- ( case _L17 of | T : _L14 | F : _L15 | _ : _L16) -->
<CaseOp name="1">
<switch>
<IdExpression>
<path>
<ConstVarRef name="_L17"/>
</path>
</IdExpression>
</switch>
<cases>
<Case pattern="T">
<flow>
<IdExpression>
<path>
<ConstVarRef name="_L14"/>
</path>
</IdExpression>
</flow>
</Case>
<Case pattern="F">
<flow>
<IdExpression>
<path>
<ConstVarRef name="_L15"/>
</path>
</IdExpression>
</flow>
</Case>
<Case>
<flow>
<IdExpression>
<path>
<ConstVarRef name="_L16"/>
</path>
</IdExpression>
</flow>
</Case>
</cases>
</CaseOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2a21/5C75/1654/58f8aef661d8"/>
</pragmas>
</Equation>
<!-- _L14 = Cond; -->
<Equation>
<lefts>
<VariableRef name="_L14"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Cond"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2a22/5C75/1654/58f8aef61dc7"/>
</pragmas>
</Equation>
<!-- _L15 = not _L14; -->
<Equation>
<lefts>
<VariableRef name="_L15"/>
</lefts>
<right>
<!-- not _L14 -->
<UnaryOp name="1" operator="not">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L14"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2a23/5C75/1654/58f8aef61431"/>
</pragmas>
</Equation>
<!-- _L16 = true; -->
<Equation>
<lefts>
<VariableRef name="_L16"/>
</lefts>
<right>
<ConstValue value="true"/>
</right>
<pragmas>
<ed:Equation oid="!ed/2a24/5C75/1654/58f8aef67abd"/>
</pragmas>
</Equation>
<!-- _L17 = TTelt; -->
<Equation>
<lefts>
<VariableRef name="_L17"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="TTelt"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2a25/5C75/1654/58f8aef6506d"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/2a1d/5C75/1654/58f8aef622e" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>Private; used from TruthTable and TruthTableIdx.</comment>
<diagrams>
<NetDiagram name="diagram_TruthTableElt" landscape="true" format="A4 (210 297)" oid="!ed/2a26/5C75/1654/58f8aef63f56">
<presentationElements>
<EquationGE presentable="!ed/2a1e/5C75/1654/58f8aef6512a">
<position>
<Point x="8829" y="971"/>
</position>
<size>
<Size width="1048" height="677"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2a1f/5C75/1654/58f8aef6699e">
<position>
<Point x="1706" y="953"/>
</position>
<size>
<Size width="251" height="502"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2a1f/5C75/1654/58f8aef6699e" dstEquation="!ed/2a1e/5C75/1654/58f8aef6512a">
<positions>
<Point x="1947" y="1207"/>
<Point x="6964" y="1207"/>
<Point x="6964" y="1207"/>
<Point x="8827" y="1207"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2a20/5C75/1654/58f8aef6257e">
<position>
<Point x="11738" y="1085"/>
</position>
<size>
<Size width="326" height="503"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2a1e/5C75/1654/58f8aef6512a" dstEquation="!ed/2a20/5C75/1654/58f8aef6257e">
<positions>
<Point x="9885" y="1312"/>
<Point x="10456" y="1312"/>
<Point x="10456" y="1312"/>
<Point x="11790" y="1312"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2a21/5C75/1654/58f8aef661d8">
<position>
<Point x="5760" y="4172"/>
</position>
<size>
<Size width="1233" height="2398"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2a22/5C75/1654/58f8aef61dc7">
<position>
<Point x="1706" y="3863"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2a23/5C75/1654/58f8aef61431">
<position>
<Point x="3855" y="5019"/>
</position>
<size>
<Size width="1048" height="678"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2a22/5C75/1654/58f8aef61dc7" dstEquation="!ed/2a23/5C75/1654/58f8aef61431">
<positions>
<Point x="1947" y="4128"/>
<Point x="3302" y="4128"/>
<Point x="3302" y="5355"/>
<Point x="3852" y="5355"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/2a22/5C75/1654/58f8aef61dc7" dstEquation="!ed/2a21/5C75/1654/58f8aef661d8">
<positions>
<Point x="1947" y="4128"/>
<Point x="5271" y="4128"/>
<Point x="5271" y="4763"/>
<Point x="5757" y="4763"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/2a23/5C75/1654/58f8aef61431" dstEquation="!ed/2a21/5C75/1654/58f8aef661d8">
<positions>
<Point x="4911" y="5355"/>
<Point x="5144" y="5355"/>
<Point x="5144" y="5355"/>
<Point x="5757" y="5355"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/2a24/5C75/1654/58f8aef67abd">
<position>
<Point x="2672" y="5821"/>
</position>
<size>
<Size width="53" height="264"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="4" srcEquation="!ed/2a24/5C75/1654/58f8aef67abd" dstEquation="!ed/2a21/5C75/1654/58f8aef661d8">
<positions>
<Point x="2731" y="5969"/>
<Point x="5207" y="5969"/>
<Point x="5207" y="5969"/>
<Point x="5757" y="5969"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2a25/5C75/1654/58f8aef6506d">
<position>
<Point x="1706" y="2434"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2a25/5C75/1654/58f8aef6506d" dstEquation="!ed/2a21/5C75/1654/58f8aef661d8">
<positions>
<Point x="1947" y="2688"/>
<Point x="6371" y="2688"/>
<Point x="6371" y="4170"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/2a21/5C75/1654/58f8aef661d8" dstEquation="!ed/2a1e/5C75/1654/58f8aef6512a">
<positions>
<Point x="6985" y="5376"/>
<Point x="8488" y="5376"/>
<Point x="8488" y="1418"/>
<Point x="8827" y="1418"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

670
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableIdx.xscade

@ -0,0 +1,670 @@ @@ -0,0 +1,670 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="TruthTableIdx">
<sizeParameters>
<SizeParameter name="Ncond">
<pragmas>
<ed:SizeParameter oid="!ed/299d/5C75/1654/58f8aeb571af"/>
</pragmas>
</SizeParameter>
<SizeParameter name="Nlines">
<pragmas>
<ed:SizeParameter oid="!ed/299e/5C75/1654/58f8aeb56192"/>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="Conditions">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
<pragmas>
<ed:Table oid="!ed/29a4/5C75/1654/58f8aeb5383d"/>
</pragmas>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/29a3/5C75/1654/58f8aeb53988"/>
</pragmas>
</Variable>
<Variable name="Ttable">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
<pragmas>
<ed:Table oid="!ed/29a1/5C75/1654/58f8aeb51835"/>
</pragmas>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
<pragmas>
<ed:Table oid="!ed/29a0/5C75/1654/58f8aeb53c16"/>
</pragmas>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/299f/5C75/1654/58f8aeb543d0" hidden="true"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="LineIdx">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29a2/5C75/1654/58f8aeb5f36"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/2995/5C75/1654/58f8aeb52deb"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/2996/5C75/1654/58f8aeb5568e"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2997/5C75/1654/58f8aeb53f4c"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/2998/5C75/1654/58f8aeb533d1"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/2999/5C75/1654/58f8aeb55f7"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/299a/5C75/1654/58f8aeb5c94"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/299b/5C75/1654/58f8aeb51cfd"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/299c/5C75/1654/58f8aeb56cb3"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = Conditions; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Conditions"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/298b/5C75/1654/58f8aeb5387d"/>
</pragmas>
</Equation>
<!-- _L2 = Ttable; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Ttable"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/298c/5C75/1654/58f8aeb51518"/>
</pragmas>
</Equation>
<!-- LineIdx = _L10; -->
<Equation>
<lefts>
<VariableRef name="LineIdx"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/298d/5C75/1654/58f8aeb54ecd"/>
</pragmas>
</Equation>
<!-- _L6 = - (1 : int16); -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<!-- - (1 : int16) -->
<UnaryOp name="1" operator="-">
<operand>
<!-- (1 : int16) -->
<NumericCastOp name="1">
<type>
<TypeRef name="int16"/>
</type>
<flow>
<ConstValue value="1"/>
</flow>
</NumericCastOp>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/298e/5C75/1654/58f8aeb5724d"/>
</pragmas>
</Equation>
<!-- _L8 = _L1 ^ Nlines; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<!-- _L1 ^ Nlines -->
<ScalarToVectorOp name="1">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/298f/5C75/1654/58f8aeb51862"/>
</pragmas>
</Equation>
<!-- _L9 = reverse _L2; -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- reverse _L2 -->
<UnaryOp name="1" operator="reverse">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2990/5C75/1654/58f8aeb52d10"/>
</pragmas>
</Equation>
<!-- _L10 = _L11 - _L12; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<!-- _L11 - _L12 -->
<BinaryOp name="1" operator="-">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</operands>
</BinaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2991/5C75/1654/58f8aeb57031"/>
</pragmas>
</Equation>
<!-- _L11 = (Nlines : int16) - (1 : int16); -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<!-- (Nlines : int16) - (1 : int16) -->
<BinaryOp name="2" operator="-">
<operands>
<!-- (Nlines : int16) -->
<NumericCastOp name="2">
<type>
<TypeRef name="int16"/>
</type>
<flow>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</flow>
</NumericCastOp>
<!-- (1 : int16) -->
<NumericCastOp name="3">
<type>
<TypeRef name="int16"/>
</type>
<flow>
<ConstValue value="1"/>
</flow>
</NumericCastOp>
</operands>
</BinaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/2992/5C75/1654/58f8aeb52182"/>
</pragmas>
</Equation>
<!-- _L12 = (foldi (TruthTableLineIdx<<Ncond>>) <<Nlines>>)(_L6, _L8, _L9); -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<!-- (foldi (TruthTableLineIdx<<Ncond>>) <<Nlines>>)(_L6, _L8, _L9) -->
<CallExpression>
<operator>
<IteratorOp name="2" iterator="foldi">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="TruthTableLineIdx"/>
</operator>
<instanceParameters>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</instanceParameters>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="Nlines"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2993/5C75/1654/58f8aeb562e6"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/298a/5C75/1654/58f8aeb5617" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>Implements a truth table. Outputs the index</comment>
<comment>of the first line of Ttable of Nlines lines that matches Conditions.</comment>
<comment>Index Nlines is produced when no line matches.</comment>
<comment>Element 'T' from Ttable matches true, 'F' matches false, 'X' matches both.</comment>
<diagrams>
<NetDiagram name="diagram_TruthTableIdx" landscape="true" format="A4 (210 297)" oid="!ed/2994/5C75/1654/58f8aeb5e61">
<presentationElements>
<EquationGE presentable="!ed/298b/5C75/1654/58f8aeb5387d">
<position>
<Point x="2420" y="4022"/>
</position>
<size>
<Size width="251" height="502"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/298c/5C75/1654/58f8aeb51518">
<position>
<Point x="2473" y="5106"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/298d/5C75/1654/58f8aeb54ecd">
<position>
<Point x="18203" y="3366"/>
</position>
<size>
<Size width="326" height="503"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/298e/5C75/1654/58f8aeb5724d">
<position>
<Point x="5292" y="3043"/>
</position>
<size>
<Size width="53" height="264"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/298f/5C75/1654/58f8aeb51862">
<position>
<Point x="4305" y="3881"/>
</position>
<size>
<Size width="1259" height="810"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/298b/5C75/1654/58f8aeb5387d" dstEquation="!ed/298f/5C75/1654/58f8aeb51862">
<positions>
<Point x="2667" y="4276"/>
<Point x="4318" y="4276"/>
<Point x="4297" y="4276"/>
<Point x="4297" y="4276"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2990/5C75/1654/58f8aeb52d10">
<position>
<Point x="4331" y="4913"/>
</position>
<size>
<Size width="1233" height="889"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/298c/5C75/1654/58f8aeb51518" dstEquation="!ed/2990/5C75/1654/58f8aeb52d10">
<positions>
<Point x="2731" y="5355"/>
<Point x="4339" y="5355"/>
<Point x="4339" y="5376"/>
<Point x="4339" y="5355"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2991/5C75/1654/58f8aeb57031">
<position>
<Point x="15896" y="3281"/>
</position>
<size>
<Size width="1022" height="677"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2991/5C75/1654/58f8aeb57031" dstEquation="!ed/298d/5C75/1654/58f8aeb54ecd">
<positions>
<Point x="16912" y="3620"/>
<Point x="17209" y="3620"/>
<Point x="17209" y="3620"/>
<Point x="18246" y="3620"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/2992/5C75/1654/58f8aeb52182">
<position>
<Point x="15050" y="2752"/>
</position>
<size>
<Size width="170" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2992/5C75/1654/58f8aeb52182" dstEquation="!ed/2991/5C75/1654/58f8aeb57031">
<positions>
<Point x="15219" y="2921"/>
<Point x="15558" y="2921"/>
<Point x="15558" y="3514"/>
<Point x="15896" y="3514"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2993/5C75/1654/58f8aeb562e6">
<position>
<Point x="6580" y="1024"/>
</position>
<size>
<Size width="5070" height="5440"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/2990/5C75/1654/58f8aeb52d10" dstEquation="!ed/2993/5C75/1654/58f8aeb562e6">
<positions>
<Point x="5567" y="5355"/>
<Point x="6244" y="5355"/>
<Point x="6244" y="5355"/>
<Point x="6583" y="5355"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/298f/5C75/1654/58f8aeb51862" dstEquation="!ed/2993/5C75/1654/58f8aeb562e6">
<positions>
<Point x="5567" y="4297"/>
<Point x="6244" y="4297"/>
<Point x="6244" y="4297"/>
<Point x="6583" y="4297"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/298e/5C75/1654/58f8aeb5724d" dstEquation="!ed/2993/5C75/1654/58f8aeb562e6">
<positions>
<Point x="5355" y="3196"/>
<Point x="6244" y="3196"/>
<Point x="6244" y="3196"/>
<Point x="6583" y="3196"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/2993/5C75/1654/58f8aeb562e6" dstEquation="!ed/2991/5C75/1654/58f8aeb57031">
<positions>
<Point x="11642" y="3747"/>
<Point x="12996" y="3747"/>
<Point x="12996" y="3747"/>
<Point x="15896" y="3747"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

526
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/TruthTableLineIdx.xscade

@ -0,0 +1,526 @@ @@ -0,0 +1,526 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="TruthTableLineIdx">
<sizeParameters>
<SizeParameter name="Ncond">
<pragmas>
<ed:SizeParameter oid="!ed/29e2/5C75/1654/58f8aeed5eb"/>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="Idx">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e4/5C75/1654/58f8aeed4b13"/>
</pragmas>
</Variable>
<Variable name="AccIn">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e5/5C75/1654/58f8aeed4c9a"/>
</pragmas>
</Variable>
<Variable name="Conditions">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
<pragmas>
<ed:Table oid="!ed/29e7/5C75/1654/58f8aeed167d"/>
</pragmas>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/29e6/5C75/1654/58f8aeed339e"/>
</pragmas>
</Variable>
<Variable name="TTline">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
<pragmas>
<ed:Table oid="!ed/29e9/5C75/1654/58f8aeedefe"/>
</pragmas>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/29e8/5C75/1654/58f8aeed560f"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="AccOut">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e3/5C75/1654/58f8aeed1628"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29db/5C75/1654/58f8aeed688f"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29dc/5C75/1654/58f8aeed73f0"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29dd/5C75/1654/58f8aeed2f51"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29de/5C75/1654/58f8aeed3b14"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/29df/5C75/1654/58f8aeed1ac6"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e0/5C75/1654/58f8aeed7cb3"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/29e1/5C75/1654/58f8aeed7613"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L2 = (fold TruthTableElt <<Ncond>>)(_L11, _L10, _L12); -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- (fold TruthTableElt <<Ncond>>)(_L11, _L10, _L12) -->
<CallExpression>
<operator>
<IteratorOp name="2" iterator="fold">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="TruthTableElt"/>
</operator>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="Ncond"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d2/5C75/1654/58f8aeed385"/>
</pragmas>
</Equation>
<!-- _L3 = if _L2 then (_L8) else (_L4); -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- if _L2 then (_L8) else (_L4) -->
<IfThenElseOp name="1">
<if>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</if>
<then>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</items>
</ListExpression>
</then>
<else>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</items>
</ListExpression>
</else>
</IfThenElseOp>
</right>
<pragmas>
<ed:Equation oid="!ed/29d3/5C75/1654/58f8aeed6238"/>
</pragmas>
</Equation>
<!-- AccOut = _L3; -->
<Equation>
<lefts>
<VariableRef name="AccOut"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d4/5C75/1654/58f8aeed3f4c"/>
</pragmas>
</Equation>
<!-- _L4 = AccIn; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="AccIn"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d5/5C75/1654/58f8aeed71bc"/>
</pragmas>
</Equation>
<!-- _L8 = Idx; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Idx"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d6/5C75/1654/58f8aeed1dd4"/>
</pragmas>
</Equation>
<!-- _L10 = Conditions; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Conditions"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d7/5C75/1654/58f8aeed2e04"/>
</pragmas>
</Equation>
<!-- _L11 = true; -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<ConstValue value="true"/>
</right>
<pragmas>
<ed:Equation oid="!ed/29d8/5C75/1654/58f8aeed63fa"/>
</pragmas>
</Equation>
<!-- _L12 = TTline; -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="TTline"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29d9/5C75/1654/58f8aeed62b3"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/29d1/5C75/1654/58f8aeed7c00" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>Private; used from TruthTableIdx</comment>
<diagrams>
<NetDiagram name="diagram_TruthTableLineIdx" landscape="true" format="A4 (210 297)" oid="!ed/29da/5C75/1654/58f8aeed482a">
<presentationElements>
<EquationGE presentable="!ed/29d2/5C75/1654/58f8aeed385">
<position>
<Point x="5337" y="1130"/>
</position>
<size>
<Size width="3535" height="3614"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29d3/5C75/1654/58f8aeed6238">
<position>
<Point x="10840" y="6395"/>
</position>
<size>
<Size width="1048" height="942"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29d4/5C75/1654/58f8aeed3f4c">
<position>
<Point x="14278" y="6615"/>
</position>
<size>
<Size width="326" height="502"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d3/5C75/1654/58f8aeed6238" dstEquation="!ed/29d4/5C75/1654/58f8aeed3f4c">
<positions>
<Point x="11896" y="6879"/>
<Point x="12764" y="6879"/>
<Point x="12764" y="6879"/>
<Point x="14330" y="6879"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29d5/5C75/1654/58f8aeed71bc">
<position>
<Point x="3029" y="6773"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29d6/5C75/1654/58f8aeed1dd4">
<position>
<Point x="3029" y="5636"/>
</position>
<size>
<Size width="251" height="502"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/29d6/5C75/1654/58f8aeed1dd4" dstEquation="!ed/29d3/5C75/1654/58f8aeed6238">
<positions>
<Point x="3281" y="5884"/>
<Point x="10266" y="5884"/>
<Point x="10266" y="6710"/>
<Point x="10837" y="6710"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/29d5/5C75/1654/58f8aeed71bc" dstEquation="!ed/29d3/5C75/1654/58f8aeed6238">
<positions>
<Point x="3281" y="7027"/>
<Point x="4170" y="7027"/>
<Point x="4170" y="7027"/>
<Point x="10837" y="7027"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29d7/5C75/1654/58f8aeed2e04">
<position>
<Point x="3029" y="2672"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/29d7/5C75/1654/58f8aeed2e04" dstEquation="!ed/29d2/5C75/1654/58f8aeed385">
<positions>
<Point x="3281" y="2921"/>
<Point x="4170" y="2921"/>
<Point x="4170" y="2942"/>
<Point x="5334" y="2942"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/29d8/5C75/1654/58f8aeed63fa">
<position>
<Point x="3995" y="1905"/>
</position>
<size>
<Size width="53" height="265"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d8/5C75/1654/58f8aeed63fa" dstEquation="!ed/29d2/5C75/1654/58f8aeed385">
<positions>
<Point x="4043" y="2053"/>
<Point x="4911" y="2053"/>
<Point x="4911" y="2032"/>
<Point x="5334" y="2032"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29d9/5C75/1654/58f8aeed62b3">
<position>
<Point x="3029" y="3598"/>
</position>
<size>
<Size width="251" height="503"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/29d9/5C75/1654/58f8aeed62b3" dstEquation="!ed/29d2/5C75/1654/58f8aeed385">
<positions>
<Point x="3281" y="3852"/>
<Point x="4170" y="3852"/>
<Point x="4170" y="3831"/>
<Point x="5334" y="3831"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29d2/5C75/1654/58f8aeed385" dstEquation="!ed/29d3/5C75/1654/58f8aeed6238">
<positions>
<Point x="8869" y="2942"/>
<Point x="11367" y="2942"/>
<Point x="11367" y="6392"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
</pragmas>
</Operator>

361
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/abs.ann

@ -0,0 +1,361 @@ @@ -0,0 +1,361 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " CR: First issue - No change. " , T }}
Description ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: This operator returns the absolute value of an input." , T }}
CopyRight ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , " 30/03/2009" , T }}
Author ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Created by: T.CHRETIEN" , T }}
Title ::= {
{"!ed/9754/197F/2150/59e4aef3444b", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , " Title: diagram_real_abs_1" , T }}
OperatorKind ::= {
{"!ed/974d/197F/2150/59e4aef315f4", "OperatorKind_1","Library" , T }}
Range ::= {
{"!ed/975a/197F/2150/59e4aef368b6", "Range_3","NA" , T },
{"!ed/975b/197F/2150/59e4aef342e1", "Range_3","NA" , T }}
Comment ::= {
{"!ed/975a/197F/2150/59e4aef368b6", "Comment_1","absolute value." , T },
{"!ed/975b/197F/2150/59e4aef342e1", "Comment_1","input value" , T }}
Unit ::= {
{"!ed/975a/197F/2150/59e4aef368b6", "Unit_2","NA" , T },
{"!ed/975b/197F/2150/59e4aef342e1", "Unit_2","NA" , T }}
END

396
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/abs.xscade

@ -0,0 +1,396 @@ @@ -0,0 +1,396 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="abs">
<inputs>
<Variable name="value">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/975b/197F/2150/59e4aef342e1"/>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;input value&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="abs">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/975a/197F/2150/59e4aef368b6"/>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;absolute value.&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<numericTypes>
<NumericType>
<typeVar>
<TypeRef name="'T"/>
</typeVar>
</NumericType>
</numericTypes>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/9755/197F/2150/59e4aef35902"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/9756/197F/2150/59e4aef360f7"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/9757/197F/2150/59e4aef36680"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/9758/197F/2150/59e4aef36e9e"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/9759/197F/2150/59e4aef37945"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = value; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="value"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/974e/197F/2150/59e4aef3375"/>
</pragmas>
</Equation>
<!-- abs = _L4; -->
<Equation>
<lefts>
<VariableRef name="abs"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/974f/197F/2150/59e4aef3481"/>
</pragmas>
</Equation>
<!-- _L2 = _L1 < _L3; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- _L1 < _L3 -->
<BinaryOp name="1" operator="&lt;">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</operands>
</BinaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/9750/197F/2150/59e4aef34fa3"/>
</pragmas>
</Equation>
<!-- _L3 = (0 : 'T); -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- (0 : 'T) -->
<NumericCastOp name="1">
<type>
<TypeRef name="'T"/>
</type>
<flow>
<ConstValue value="0"/>
</flow>
</NumericCastOp>
</right>
<pragmas>
<ed:Equation oid="!ed/9751/197F/2150/59e4aef3429a"/>
</pragmas>
</Equation>
<!-- _L4 = if _L2 then (_L5) else (_L1); -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<!-- if _L2 then (_L5) else (_L1) -->
<IfThenElseOp name="1">
<if>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</if>
<then>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</items>
</ListExpression>
</then>
<else>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</items>
</ListExpression>
</else>
</IfThenElseOp>
</right>
<pragmas>
<ed:Equation oid="!ed/9752/197F/2150/59e4aef36f0c"/>
</pragmas>
</Equation>
<!-- _L5 = - _L1; -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- - _L1 -->
<UnaryOp name="1" operator="-">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/9753/197F/2150/59e4aef31262"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/974d/197F/2150/59e4aef315f4" symbolFile="..\symbols\real_abs.ssl" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="diagram_abs_1" landscape="true" format="A4 (210 297)" oid="!ed/9754/197F/2150/59e4aef3444b">
<presentationElements>
<EquationGE presentable="!ed/974e/197F/2150/59e4aef3375">
<position>
<Point x="2672" y="4524"/>
</position>
<size>
<Size width="265" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/974f/197F/2150/59e4aef3481">
<position>
<Point x="9499" y="6059"/>
</position>
<size>
<Size width="344" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/9750/197F/2150/59e4aef34fa3">
<position>
<Point x="6085" y="4577"/>
</position>
<size>
<Size width="1006" height="662"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/9751/197F/2150/59e4aef3429a">
<position>
<Point x="5054" y="5133"/>
</position>
<size>
<Size width="211" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/974e/197F/2150/59e4aef3375" dstEquation="!ed/9750/197F/2150/59e4aef34fa3">
<positions>
<Point x="2937" y="4789"/>
<Point x="4498" y="4789"/>
<Point x="4498" y="4789"/>
<Point x="6085" y="4789"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/9751/197F/2150/59e4aef3429a" dstEquation="!ed/9750/197F/2150/59e4aef34fa3">
<positions>
<Point x="5265" y="5292"/>
<Point x="5874" y="5292"/>
<Point x="5874" y="5027"/>
<Point x="6085" y="5027"/>
</positions>
</Edge>
<EquationGE presentable="!ed/9752/197F/2150/59e4aef36f0c">
<position>
<Point x="7382" y="5636"/>
</position>
<size>
<Size width="1022" height="1365"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/9750/197F/2150/59e4aef34fa3" dstEquation="!ed/9752/197F/2150/59e4aef36f0c">
<positions>
<Point x="7091" y="4921"/>
<Point x="7911" y="4921"/>
<Point x="7911" y="5636"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/9752/197F/2150/59e4aef36f0c" dstEquation="!ed/974f/197F/2150/59e4aef3481">
<positions>
<Point x="8414" y="6324"/>
<Point x="8969" y="6324"/>
<Point x="8969" y="6324"/>
<Point x="9551" y="6324"/>
</positions>
</Edge>
<EquationGE presentable="!ed/9753/197F/2150/59e4aef31262">
<position>
<Point x="5371" y="5741"/>
</position>
<size>
<Size width="1005" height="661"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/9753/197F/2150/59e4aef31262" dstEquation="!ed/9752/197F/2150/59e4aef36f0c">
<positions>
<Point x="6376" y="6085"/>
<Point x="6879" y="6085"/>
<Point x="6879" y="6085"/>
<Point x="7382" y="6085"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/974e/197F/2150/59e4aef3375" dstEquation="!ed/9753/197F/2150/59e4aef31262">
<positions>
<Point x="2937" y="4789"/>
<Point x="4154" y="4789"/>
<Point x="4154" y="6085"/>
<Point x="5371" y="6085"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/974e/197F/2150/59e4aef3375" dstEquation="!ed/9752/197F/2150/59e4aef36f0c">
<positions>
<Point x="2937" y="4789"/>
<Point x="4154" y="4789"/>
<Point x="4154" y="6562"/>
<Point x="7382" y="6562"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;Library&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; CR: First issue - No change. &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: This operator returns the absolute value of an input.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot; 30/03/2009&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Created by: T.CHRETIEN&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot; Title: diagram_real_abs_1&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

366
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/closest_lower_higher.ann

@ -0,0 +1,366 @@ @@ -0,0 +1,366 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "Change_6",T , T , "RELATIVE" , 0.000000 , 61.456692 , T , T , 350 , 58 , 1 , " CR scade#47 : shorten IO names to ease readability" , T }}
Description ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: Return the indexes and values of the closest lower and
higher value in an array of an input." , T }}
CopyRight ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "14/10/2016" , T }}
Author ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: J. Kirsch" , T }}
Title ::= {
{"!ed/8d70/197F/2150/59e4ad2062cc", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , " Title: diagram_closest_lower_higher_1" , T }}
OperatorKind ::= {
{"!ed/8d57/197F/2150/59e4ad2053a3", "OperatorKind_1","Library" , T }}
Range ::= {
{"!ed/8d8d/197F/2150/59e4ad2067bf", "Range_3","NA" , T },
{"!ed/8d8e/197F/2150/59e4ad2052c9", "Range_3","NA" , T },
{"!ed/8d8f/197F/2150/59e4ad20202b", "Range_3","NA" , T }}
Comment ::= {
{"!ed/8d8d/197F/2150/59e4ad2067bf", "Comment_1","index and value of the closest lower
index and value of the closest higher" , T },
{"!ed/8d8e/197F/2150/59e4ad2052c9", "Comment_1","input corresponding to Hp or r or p" , T },
{"!ed/8d8f/197F/2150/59e4ad20202b", "Comment_1","value of the array of Hp or p or r" , T }}
Unit ::= {
{"!ed/8d8d/197F/2150/59e4ad2067bf", "Unit_2","NA" , T },
{"!ed/8d8e/197F/2150/59e4ad2052c9", "Unit_2","NA" , T },
{"!ed/8d8f/197F/2150/59e4ad20202b", "Unit_2","NA" , T }}
END

1477
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/closest_lower_higher.xscade

File diff suppressed because it is too large Load Diff

314
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/combine_poles.ann

@ -0,0 +1,314 @@ @@ -0,0 +1,314 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "Change_1",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "Change_1",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "Description_1",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: " , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "Description_1",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: create combination of indexes for each closest pole
" , T }}
CopyRight ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "CopyRight_1",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "CopyRight_1",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "Date_1",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "dd/mm/yyyy" , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "Date_1",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "23/05/2017" , T }}
Author ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "Author_1",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "Author_1",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Title ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : " , T },
{"!ed/354b/1DFB/1050/58f0d5254bf4", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : combine_poles_1" , T }}
OperatorKind ::= {
{"!ed/354a/1DFB/1050/58f0d525da6", "OperatorKind_1","TBD" , T }}
END

914
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/combine_poles.xscade

@ -0,0 +1,914 @@ @@ -0,0 +1,914 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="combine_poles">
<inputs>
<Variable name="mass_param">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/354c/1DFB/1050/58f0d52d2859"/>
</pragmas>
</Variable>
<Variable name="distance_param">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/354d/1DFB/1050/58f0d52e7ec"/>
</pragmas>
</Variable>
<Variable name="speed_param">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/354e/1DFB/1050/58f0d52e1ada"/>
</pragmas>
</Variable>
<Variable name="altitude_param">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/354f/1DFB/1050/58f0d52e5d4d"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="combination">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fa7/4B98/1E78/58f5eda85be2"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L9">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- 2 + 1 -->
<NAryOp operator="+">
<operands>
<ConstValue value="2"/>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<!-- 4 * 2 -->
<NAryOp operator="*">
<operands>
<ConstValue value="4"/>
<ConstValue value="2"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fbd/4B98/1E78/58f5eda850aa"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- 3 + 1 -->
<NAryOp operator="+">
<operands>
<ConstValue value="3"/>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<!-- 8 * 2 -->
<NAryOp operator="*">
<operands>
<ConstValue value="8"/>
<ConstValue value="2"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fb5/4B98/1E78/58f5eda8a8a"/>
</pragmas>
</Variable>
<Variable name="_L20">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fd6/4B98/1E78/58f5ee0468af"/>
</pragmas>
</Variable>
<Variable name="_L21">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fdc/4B98/1E78/58f5ee0c7cc6"/>
</pragmas>
</Variable>
<Variable name="_L22">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/fe2/4B98/1E78/58f5ee125975"/>
</pragmas>
</Variable>
<Variable name="_L24">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- 1 + 1 -->
<NAryOp operator="+">
<operands>
<ConstValue value="1"/>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<!-- 2 * 2 -->
<NAryOp operator="*">
<operands>
<ConstValue value="2"/>
<ConstValue value="2"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/505a/654E/1838/58f713352d19"/>
</pragmas>
</Variable>
<Variable name="_L41">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/17d1/71E6/226C/58f7552d4fa5"/>
</pragmas>
</Variable>
<Variable name="_L42">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/17fa/71E6/226C/58f7553983e"/>
</pragmas>
</Variable>
<Variable name="_L43">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="1"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/180c/71E6/226C/58f7553f6714"/>
</pragmas>
</Variable>
<Variable name="_L44">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="1"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1823/71E6/226C/58f75542772a"/>
</pragmas>
</Variable>
<Variable name="_L45">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="1"/>
</size>
</Table>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/182d/71E6/226C/58f7554d4cea"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L5 = (create_combinations<<3, 8>>)(_L20, _L9); -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- (create_combinations<<3, 8>>)(_L20, _L9) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="create_combinations"/>
</operator>
<instanceParameters>
<ConstValue value="3"/>
<ConstValue value="8"/>
</instanceParameters>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L20"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fb4/4B98/1E78/58f5eda87886"/>
</pragmas>
</Equation>
<!-- _L9 = (create_combinations<<2, 4>>)(_L21, _L24); -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- (create_combinations<<2, 4>>)(_L21, _L24) -->
<CallExpression>
<operator>
<OpCall name="2">
<operator>
<OperatorRef name="create_combinations"/>
</operator>
<instanceParameters>
<ConstValue value="2"/>
<ConstValue value="4"/>
</instanceParameters>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L21"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L24"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fbc/4B98/1E78/58f5eda81bbb"/>
</pragmas>
</Equation>
<!-- _L20 = mass_param; -->
<Equation>
<lefts>
<VariableRef name="_L20"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="mass_param"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fd5/4B98/1E78/58f5ee0412c6"/>
</pragmas>
</Equation>
<!-- _L21 = distance_param; -->
<Equation>
<lefts>
<VariableRef name="_L21"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="distance_param"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fdb/4B98/1E78/58f5ee0c554e"/>
</pragmas>
</Equation>
<!-- _L22 = speed_param; -->
<Equation>
<lefts>
<VariableRef name="_L22"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="speed_param"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fe1/4B98/1E78/58f5ee122448"/>
</pragmas>
</Equation>
<!-- _L24 = (create_combinations<<1, 2>>)(_L22, _L45); -->
<Equation>
<lefts>
<VariableRef name="_L24"/>
</lefts>
<right>
<!-- (create_combinations<<1, 2>>)(_L22, _L45) -->
<CallExpression>
<operator>
<OpCall name="3">
<operator>
<OperatorRef name="create_combinations"/>
</operator>
<instanceParameters>
<ConstValue value="1"/>
<ConstValue value="2"/>
</instanceParameters>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L22"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L45"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5059/654E/1838/58f71335bb8"/>
</pragmas>
</Equation>
<!-- combination = _L5; -->
<Equation>
<lefts>
<VariableRef name="combination"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/169b/71E6/226C/58f74ef81a69"/>
</pragmas>
</Equation>
<!-- _L41 = altitude_param[0]; -->
<Equation>
<lefts>
<VariableRef name="_L41"/>
</lefts>
<right>
<!-- altitude_param[0] -->
<PrjOp name="1">
<flow>
<IdExpression>
<path>
<ConstVarRef name="altitude_param"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="0"/>
</with>
</PrjOp>
</right>
<pragmas>
<ed:Equation oid="!ed/17d0/71E6/226C/58f7552d5108"/>
</pragmas>
</Equation>
<!-- _L42 = altitude_param[1]; -->
<Equation>
<lefts>
<VariableRef name="_L42"/>
</lefts>
<right>
<!-- altitude_param[1] -->
<PrjOp name="2">
<flow>
<IdExpression>
<path>
<ConstVarRef name="altitude_param"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="1"/>
</with>
</PrjOp>
</right>
<pragmas>
<ed:Equation oid="!ed/17f9/71E6/226C/58f755392373"/>
</pragmas>
</Equation>
<!-- _L43 = _L41 ^ 1; -->
<Equation>
<lefts>
<VariableRef name="_L43"/>
</lefts>
<right>
<!-- _L41 ^ 1 -->
<ScalarToVectorOp name="1">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L41"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<ConstValue value="1"/>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/180b/71E6/226C/58f7553f7a67"/>
</pragmas>
</Equation>
<!-- _L44 = _L42 ^ 1; -->
<Equation>
<lefts>
<VariableRef name="_L44"/>
</lefts>
<right>
<!-- _L42 ^ 1 -->
<ScalarToVectorOp name="2">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L42"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<ConstValue value="1"/>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1822/71E6/226C/58f755426322"/>
</pragmas>
</Equation>
<!-- _L45 = [_L43, _L44]; -->
<Equation>
<lefts>
<VariableRef name="_L45"/>
</lefts>
<right>
<!-- [_L43, _L44] -->
<DataArrayOp name="1">
<data>
<IdExpression>
<path>
<ConstVarRef name="_L43"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L44"/>
</path>
</IdExpression>
</data>
</DataArrayOp>
</right>
<pragmas>
<ed:Equation oid="!ed/182c/71E6/226C/58f7554d48d5"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/354a/1DFB/1050/58f0d525da6" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="combine_poles_1" landscape="true" format="A4 (210 297)" oid="!ed/354b/1DFB/1050/58f0d5254bf4">
<presentationElements>
<EquationGE presentable="!ed/fb4/4B98/1E78/58f5eda87886">
<position>
<Point x="7197" y="9017"/>
</position>
<size>
<Size width="4504" height="2471"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/fbc/4B98/1E78/58f5eda81bbb">
<position>
<Point x="7176" y="6308"/>
</position>
<size>
<Size width="4482" height="2450"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/fd5/4B98/1E78/58f5ee0412c6">
<position>
<Point x="2371" y="9589"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/fdb/4B98/1E78/58f5ee0c554e">
<position>
<Point x="2371" y="6858"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/fe1/4B98/1E78/58f5ee122448">
<position>
<Point x="2371" y="4191"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5059/654E/1838/58f71335bb8">
<position>
<Point x="7154" y="3620"/>
</position>
<size>
<Size width="4482" height="2450"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/169b/71E6/226C/58f74ef81a69">
<position>
<Point x="12869" y="10012"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/fe1/4B98/1E78/58f5ee122448" dstEquation="!ed/5059/654E/1838/58f71335bb8">
<positions>
<Point x="2625" y="4445"/>
<Point x="4890" y="4445"/>
<Point x="4890" y="4445"/>
<Point x="7154" y="4445"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/fdb/4B98/1E78/58f5ee0c554e" dstEquation="!ed/fbc/4B98/1E78/58f5eda81bbb">
<positions>
<Point x="2625" y="7112"/>
<Point x="4890" y="7112"/>
<Point x="4890" y="7112"/>
<Point x="7176" y="7112"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/5059/654E/1838/58f71335bb8" dstEquation="!ed/fbc/4B98/1E78/58f5eda81bbb">
<positions>
<Point x="11642" y="4847"/>
<Point x="12700" y="4847"/>
<Point x="12700" y="6392"/>
<Point x="6117" y="6392"/>
<Point x="6117" y="7938"/>
<Point x="7176" y="7938"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/fb4/4B98/1E78/58f5eda87886" dstEquation="!ed/169b/71E6/226C/58f74ef81a69">
<positions>
<Point x="11705" y="10266"/>
<Point x="12298" y="10266"/>
<Point x="12298" y="10266"/>
<Point x="12912" y="10266"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/fbc/4B98/1E78/58f5eda81bbb" dstEquation="!ed/fb4/4B98/1E78/58f5eda87886">
<positions>
<Point x="11663" y="7535"/>
<Point x="12721" y="7535"/>
<Point x="12721" y="9102"/>
<Point x="6138" y="9102"/>
<Point x="6138" y="10668"/>
<Point x="7197" y="10668"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/fd5/4B98/1E78/58f5ee0412c6" dstEquation="!ed/fb4/4B98/1E78/58f5eda87886">
<positions>
<Point x="2625" y="9843"/>
<Point x="4911" y="9843"/>
<Point x="4911" y="9843"/>
<Point x="7197" y="9843"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/17d0/71E6/226C/58f7552d5108">
<position>
<Point x="2455" y="4805"/>
</position>
<size>
<Size width="170" height="317"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/17f9/71E6/226C/58f755392373">
<position>
<Point x="2455" y="5334"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/180b/71E6/226C/58f7553f7a67">
<position>
<Point x="3387" y="4763"/>
</position>
<size>
<Size width="989" height="397"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1822/71E6/226C/58f755426322">
<position>
<Point x="3387" y="5313"/>
</position>
<size>
<Size width="989" height="397"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/182c/71E6/226C/58f7554d48d5">
<position>
<Point x="4784" y="4466"/>
</position>
<size>
<Size width="989" height="1583"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/17f9/71E6/226C/58f755392373" dstEquation="!ed/1822/71E6/226C/58f755426322">
<positions>
<Point x="2625" y="5503"/>
<Point x="3006" y="5503"/>
<Point x="3006" y="5503"/>
<Point x="3387" y="5503"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/17d0/71E6/226C/58f7552d5108" dstEquation="!ed/180b/71E6/226C/58f7553f7a67">
<positions>
<Point x="2625" y="4974"/>
<Point x="3006" y="4974"/>
<Point x="3006" y="4974"/>
<Point x="3387" y="4974"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/182c/71E6/226C/58f7554d48d5" dstEquation="!ed/5059/654E/1838/58f71335bb8">
<positions>
<Point x="5779" y="5271"/>
<Point x="6456" y="5271"/>
<Point x="6456" y="5271"/>
<Point x="7154" y="5271"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1822/71E6/226C/58f755426322" dstEquation="!ed/182c/71E6/226C/58f7554d48d5">
<positions>
<Point x="4382" y="5525"/>
<Point x="4572" y="5525"/>
<Point x="4572" y="5525"/>
<Point x="4784" y="5525"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/180b/71E6/226C/58f7553f7a67" dstEquation="!ed/182c/71E6/226C/58f7554d48d5">
<positions>
<Point x="4382" y="4974"/>
<Point x="4572" y="4974"/>
<Point x="4572" y="4974"/>
<Point x="4784" y="4974"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_1&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_1&quot; {Date = &quot;dd/mm/yyyy&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_1&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_1&quot; {Description = &quot; Description: &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_1&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : combine_poles_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_1&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_1&quot; {Date = &quot;23/05/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_1&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_1&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_1&quot; {Description = &quot; Description: create combination of indexes for each closest pole &quot;}
</kcg:Pragma>
</pragmas>
</Operator>

388
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_distances.ann

@ -0,0 +1,388 @@ @@ -0,0 +1,388 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/ffb/1252/1D14/58f7866e23a", "Comment_1","" , T },
{"!ed/ffa/1252/1D14/58f7866e5fd9", "Comment_1","" , T },
{"!ed/138d/5C75/1654/58f8ab4a162f", "Comment_1","" , T },
{"!ed/1022/1252/1D14/58f7867d597c", "Comment_1","" , T }}
Unit ::= {
{"!ed/ffb/1252/1D14/58f7866e23a", "Unit_2","TBD" , T },
{"!ed/ffa/1252/1D14/58f7866e5fd9", "Unit_2","TBD" , T },
{"!ed/138d/5C75/1654/58f8ab4a162f", "Unit_2","TBD" , T },
{"!ed/1022/1252/1D14/58f7867d597c", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/ffb/1252/1D14/58f7866e23a", "Range_3","TBD" , T },
{"!ed/ffa/1252/1D14/58f7866e5fd9", "Range_3","TBD" , T },
{"!ed/138d/5C75/1654/58f8ab4a162f", "Range_3","TBD" , T },
{"!ed/1022/1252/1D14/58f7867d597c", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/ffb/1252/1D14/58f7866e23a", "Resolution_4","TBD" , T },
{"!ed/ffa/1252/1D14/58f7866e5fd9", "Resolution_4","TBD" , T },
{"!ed/138d/5C75/1654/58f8ab4a162f", "Resolution_4","TBD" , T },
{"!ed/1022/1252/1D14/58f7867d597c", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/fc0/1252/1D14/58f7863b74a4", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_distances_1" , T }}
Author ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/04/2017" , T }}
CopyRight ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
compute all distances" , T }}
Change ::= {
{"!ed/fc1/1252/1D14/58f7863b387a", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

882
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_distances.xscade

@ -0,0 +1,882 @@ @@ -0,0 +1,882 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="compute_distances">
<inputs>
<Variable name="altitude">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/ff9/1252/1D14/58f7866e110d"/>
</pragmas>
</Variable>
<Variable name="speed">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/ff8/1252/1D14/58f7866e7fbe"/>
</pragmas>
</Variable>
<Variable name="distance">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/ff7/1252/1D14/58f7866e59a1"/>
</pragmas>
</Variable>
<Variable name="payload_mass">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/ff6/1252/1D14/58f7866e6022"/>
</pragmas>
</Variable>
<Variable name="values_combinations">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1022/1252/1D14/58f7867d597c"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="dist_null">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/ffb/1252/1D14/58f7866e23a"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="distances">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/ffa/1252/1D14/58f7866e5fd9"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="is_one_dist_null">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/138d/5C75/1654/58f8ab4a162f"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/100c/1252/1D14/58f7866e2311"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/100a/1252/1D14/58f7866e715d"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1008/1252/1D14/58f7866e5e0a"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1005/1252/1D14/58f7866e2413"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1006/1252/1D14/58f7866e55e9"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1002/1252/1D14/58f7866e1c2f"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1000/1252/1D14/58f7866e56f7"/>
</pragmas>
</Variable>
<Variable name="_L1">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/ffd/1252/1D14/58f7866e148d"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1025/1252/1D14/58f7868676f8"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1369/5C75/1654/58f8a565188d"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1371/5C75/1654/58f8a56e2377"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = [_L2, _L3, _L6, _L8]; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<!-- [_L2, _L3, _L6, _L8] -->
<DataArrayOp name="1">
<data>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</data>
</DataArrayOp>
</right>
<pragmas>
<ed:Equation oid="!ed/ffc/1252/1D14/58f7866e69f8"/>
</pragmas>
</Equation>
<!-- dist_null = _L5; -->
<Equation>
<lefts>
<VariableRef name="dist_null"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/ffe/1252/1D14/58f7866e4415"/>
</pragmas>
</Equation>
<!-- _L2 = payload_mass; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="payload_mass"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/fff/1252/1D14/58f7866e6996"/>
</pragmas>
</Equation>
<!-- _L3 = distance; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="distance"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1001/1252/1D14/58f7866e4694"/>
</pragmas>
</Equation>
<!-- distances = _L4; -->
<Equation>
<lefts>
<VariableRef name="distances"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1003/1252/1D14/58f7866eaf7"/>
</pragmas>
</Equation>
<!-- _L4, _L5 = (map map_compute_distances <<16>>)(_L7, _L9); -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- (map map_compute_distances <<16>>)(_L7, _L9) -->
<CallExpression>
<operator>
<IteratorOp name="2" iterator="map">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="map_compute_distances"/>
</operator>
</OpCall>
</operator>
<size>
<ConstValue value="16"/>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1004/1252/1D14/58f7866e1907"/>
</pragmas>
</Equation>
<!-- _L6 = speed; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="speed"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1007/1252/1D14/58f7866e2f6a"/>
</pragmas>
</Equation>
<!-- _L7 = _L1 ^ 16; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<!-- _L1 ^ 16 -->
<ScalarToVectorOp name="1">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<ConstValue value="16"/>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1009/1252/1D14/58f7866e482f"/>
</pragmas>
</Equation>
<!-- _L8 = altitude; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="altitude"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/100b/1252/1D14/58f7866e21f1"/>
</pragmas>
</Equation>
<!-- _L9 = values_combinations; -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="values_combinations"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1024/1252/1D14/58f7868637b1"/>
</pragmas>
</Equation>
<!-- _L10 = (fold $or$ <<16>>)(_L11, _L5); -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<!-- (fold $or$ <<16>>)(_L11, _L5) -->
<CallExpression>
<operator>
<IteratorOp name="4" iterator="fold">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="$or$"/>
</operator>
</OpCall>
</operator>
<size>
<ConstValue value="16"/>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1368/5C75/1654/58f8a565366f"/>
</pragmas>
</Equation>
<!-- _L11 = false; -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<ConstValue value="false"/>
</right>
<pragmas>
<ed:Equation oid="!ed/1370/5C75/1654/58f8a56e7de1"/>
</pragmas>
</Equation>
<!-- is_one_dist_null = _L10; -->
<Equation>
<lefts>
<VariableRef name="is_one_dist_null"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/138e/5C75/1654/58f8ab5233be"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/fc0/1252/1D14/58f7863b74a4" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>compute distances of all poles to the input parameters</comment>
<comment>provides one output to identify if one distance is null (if input parameters are on one item of the array)</comment>
<diagrams>
<NetDiagram name="compute_distances_1" landscape="true" format="A4 (210 297)" oid="!ed/fc1/1252/1D14/58f7863b387a">
<presentationElements>
<EquationGE presentable="!ed/ffc/1252/1D14/58f7866e69f8">
<position>
<Point x="4890" y="6964"/>
</position>
<size>
<Size width="973" height="973"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/ffe/1252/1D14/58f7866e4415">
<position>
<Point x="15304" y="10372"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/fff/1252/1D14/58f7866e6996">
<position>
<Point x="3747" y="3344"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1001/1252/1D14/58f7866e4694">
<position>
<Point x="3747" y="4276"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1003/1252/1D14/58f7866eaf7">
<position>
<Point x="13166" y="7197"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1004/1252/1D14/58f7866e1907">
<position>
<Point x="8043" y="6244"/>
</position>
<size>
<Size width="4275" height="3641"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1007/1252/1D14/58f7866e2f6a">
<position>
<Point x="3747" y="5207"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1009/1252/1D14/58f7866e482f">
<position>
<Point x="6541" y="6964"/>
</position>
<size>
<Size width="973" height="973"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/100b/1252/1D14/58f7866e21f1">
<position>
<Point x="3747" y="6138"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="4" srcEquation="!ed/100b/1252/1D14/58f7866e21f1" dstEquation="!ed/ffc/1252/1D14/58f7866e69f8">
<positions>
<Point x="4001" y="6392"/>
<Point x="4191" y="6392"/>
<Point x="4191" y="7747"/>
<Point x="4890" y="7747"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1004/1252/1D14/58f7866e1907" dstEquation="!ed/1003/1252/1D14/58f7866eaf7">
<positions>
<Point x="12319" y="7451"/>
<Point x="12764" y="7451"/>
<Point x="12764" y="7451"/>
<Point x="13208" y="7451"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/1007/1252/1D14/58f7866e2f6a" dstEquation="!ed/ffc/1252/1D14/58f7866e69f8">
<positions>
<Point x="4001" y="5461"/>
<Point x="4360" y="5461"/>
<Point x="4360" y="7557"/>
<Point x="4890" y="7557"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1009/1252/1D14/58f7866e482f" dstEquation="!ed/1004/1252/1D14/58f7866e1907">
<positions>
<Point x="7514" y="7451"/>
<Point x="7768" y="7451"/>
<Point x="7768" y="7451"/>
<Point x="8043" y="7451"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1001/1252/1D14/58f7866e4694" dstEquation="!ed/ffc/1252/1D14/58f7866e69f8">
<positions>
<Point x="4001" y="4530"/>
<Point x="4530" y="4530"/>
<Point x="4530" y="7345"/>
<Point x="4890" y="7345"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/ffc/1252/1D14/58f7866e69f8" dstEquation="!ed/1009/1252/1D14/58f7866e482f">
<positions>
<Point x="5863" y="7451"/>
<Point x="6202" y="7451"/>
<Point x="6202" y="7451"/>
<Point x="6541" y="7451"/>
</positions>
</Edge>
<Edge leftVarIndex="2" rightExprIndex="1" srcEquation="!ed/1004/1252/1D14/58f7866e1907" dstEquation="!ed/ffe/1252/1D14/58f7866e4415">
<positions>
<Point x="12319" y="8678"/>
<Point x="12764" y="8678"/>
<Point x="12764" y="10626"/>
<Point x="15346" y="10626"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/fff/1252/1D14/58f7866e6996" dstEquation="!ed/ffc/1252/1D14/58f7866e69f8">
<positions>
<Point x="4001" y="3598"/>
<Point x="4699" y="3598"/>
<Point x="4699" y="7154"/>
<Point x="4890" y="7154"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1024/1252/1D14/58f7868637b1">
<position>
<Point x="3747" y="8424"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1024/1252/1D14/58f7868637b1" dstEquation="!ed/1004/1252/1D14/58f7866e1907">
<positions>
<Point x="4001" y="8678"/>
<Point x="6011" y="8678"/>
<Point x="6011" y="8678"/>
<Point x="8043" y="8678"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1368/5C75/1654/58f8a565366f">
<position>
<Point x="16947" y="8438"/>
</position>
<size>
<Size width="2069" height="1243"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/1370/5C75/1654/58f8a56e7de1">
<position>
<Point x="15833" y="8551"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/138e/5C75/1654/58f8ab5233be">
<position>
<Point x="19706" y="8805"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1368/5C75/1654/58f8a565366f" dstEquation="!ed/138e/5C75/1654/58f8ab5233be">
<positions>
<Point x="19008" y="9059"/>
<Point x="19368" y="9059"/>
<Point x="19368" y="9059"/>
<Point x="19749" y="9059"/>
</positions>
</Edge>
<Edge leftVarIndex="2" rightExprIndex="2" srcEquation="!ed/1004/1252/1D14/58f7866e1907" dstEquation="!ed/1368/5C75/1654/58f8a565366f">
<positions>
<Point x="12319" y="8678"/>
<Point x="14626" y="8678"/>
<Point x="14626" y="9271"/>
<Point x="16955" y="9271"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1370/5C75/1654/58f8a56e7de1" dstEquation="!ed/1368/5C75/1654/58f8a565366f">
<positions>
<Point x="16002" y="8721"/>
<Point x="16468" y="8721"/>
<Point x="16468" y="8848"/>
<Point x="16955" y="8848"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : compute_distances_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;19/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: compute all distances&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

406
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_flight_viability.ann

@ -0,0 +1,406 @@ @@ -0,0 +1,406 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Default ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "-" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE F ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/520f/285/D14/594d31224386", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/520f/285/D14/594d31224386", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: compute flight viability
---! ToBeCompleted !--" , T }}
CopyRight ::= {
{"!ed/520f/285/D14/594d31224386", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/520f/285/D14/594d31224386", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "23/06/2017" , T }}
Author ::= {
{"!ed/520f/285/D14/594d31224386", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Title ::= {
{"!ed/520f/285/D14/594d31224386", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_flight_viability_1" , T }}
OperatorKind ::= {
{"!ed/520e/285/D14/594d31221e38", "OperatorKind_1","TBD" , T }}
Resolution ::= {
{"!ed/5253/285/D14/594d319629ab", "Resolution_4","TBD" , T },
{"!ed/5256/285/D14/594d319d1234", "Resolution_4","TBD" , T },
{"!ed/525e/285/D14/594d31bd4369", "Resolution_4","0.1" , T },
{"!ed/5266/285/D14/594d321662a9", "Resolution_4","1" , T }}
Range ::= {
{"!ed/5253/285/D14/594d319629ab", "Range_3","TBD" , T },
{"!ed/5256/285/D14/594d319d1234", "Range_3","TBD" , T },
{"!ed/525e/285/D14/594d31bd4369", "Range_3","[1;5]" , T },
{"!ed/5266/285/D14/594d321662a9", "Range_3","[0;500]" , T }}
Comment ::= {
{"!ed/5253/285/D14/594d319629ab", "Comment_1","" , T },
{"!ed/5256/285/D14/594d319d1234", "Comment_1","" , T },
{"!ed/525e/285/D14/594d31bd4369", "Comment_1","payload mass from ground station" , T },
{"!ed/5266/285/D14/594d321662a9", "Comment_1","current energy storage" , T }}
Unit ::= {
{"!ed/5253/285/D14/594d319629ab", "Unit_2","TBD" , T },
{"!ed/5256/285/D14/594d319d1234", "Unit_2","TBD" , T },
{"!ed/525e/285/D14/594d31bd4369", "Unit_2","kg" , T },
{"!ed/5266/285/D14/594d321662a9", "Unit_2","kJ" , T }}
Comment_Default ::= {
{"!ed/5288/285/D14/594d328d5c6b", "Comment_Default_1","-" , F }}
END

354
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_flight_viability.xscade

@ -0,0 +1,354 @@ @@ -0,0 +1,354 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" name="compute_flight_viability">
<inputs>
<Variable name="nav_parameters">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5253/285/D14/594d319629ab"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="nav_mode_rp">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5256/285/D14/594d319d1234"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="payload_mass">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/525e/285/D14/594d31bd4369"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;kg&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;payload mass from ground station&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[1;5]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;0.1&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="energy_level">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5266/285/D14/594d321662a9"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;kJ&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;current energy storage&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0;500]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<locals>
<Variable name="LL_viability_array">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5288/285/D14/594d328d5c6b"/>
</pragmas>
</Variable>
</locals>
<data>
<IfBlock name="navigation_mode">
<block>
<IfNode>
<if>
<IdExpression>
<path>
<ConstVarRef name="nav_mode_rp"/>
</path>
</IdExpression>
</if>
<then>
<Action>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="conf_mm::viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5298/285/D14/594d32b44f89"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- LL_viability_array = _L1; -->
<Equation>
<lefts>
<VariableRef name="LL_viability_array"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/528b/285/D14/594d329a1a64"/>
</pragmas>
</Equation>
<!-- _L1 = conf_mm::Viability_RPmode_cruise; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="conf_mm::Viability_RPmode_cruise"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5297/285/D14/594d32b41d74"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Action oid="!ed/527e/285/D14/594d32601ee6"/>
</pragmas>
</Action>
</then>
<else>
<Action>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="conf_mm::viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/529e/285/D14/594d32c77444"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- LL_viability_array = _L1; -->
<Equation>
<lefts>
<VariableRef name="LL_viability_array"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5296/285/D14/594d329d152f"/>
</pragmas>
</Equation>
<!-- _L1 = conf_mm::Viability_Amode_cruise; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="conf_mm::Viability_Amode_cruise"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/529d/285/D14/594d32c775a8"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Action oid="!ed/527f/285/D14/594d3260672d"/>
</pragmas>
</Action>
</else>
<pragmas>
<ed:IfNode oid="!ed/527d/285/D14/594d32601ed3"/>
</pragmas>
</IfNode>
</block>
<pragmas>
<ed:IfBlock oid="!ed/5278/285/D14/594d325e1a8e"/>
</pragmas>
</IfBlock>
</data>
<pragmas>
<ed:Operator oid="!ed/520e/285/D14/594d31221e38" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="compute_flight_viability_1" landscape="true" format="A4 (210 297)" oid="!ed/520f/285/D14/594d31224386">
<presentationElements>
<IfBlockGE presentable="!ed/5278/285/D14/594d325e1a8e">
<position>
<Point x="783" y="3789"/>
</position>
<size>
<Size width="9377" height="2455"/>
</size>
</IfBlockGE>
<ActionGE presentable="!ed/527e/285/D14/594d32601ee6">
<position>
<Point x="2244" y="4191"/>
</position>
<size>
<Size width="7704" height="741"/>
</size>
</ActionGE>
<ActionGE presentable="!ed/527f/285/D14/594d3260672d">
<position>
<Point x="2244" y="5144"/>
</position>
<size>
<Size width="7704" height="740"/>
</size>
</ActionGE>
<IfNodeGE labelWidth="1609" presentable="!ed/527d/285/D14/594d32601ed3">
<position>
<Point x="1143" y="4255"/>
</position>
</IfNodeGE>
<EquationGE presentable="!ed/528b/285/D14/594d329a1a64">
<position>
<Point x="7112" y="4297"/>
</position>
<size>
<Size width="360" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5296/285/D14/594d329d152f">
<position>
<Point x="7112" y="5271"/>
</position>
<size>
<Size width="360" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5297/285/D14/594d32b41d74">
<position>
<Point x="6033" y="4297"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/5297/285/D14/594d32b41d74" dstEquation="!ed/528b/285/D14/594d329a1a64">
<positions>
<Point x="6287" y="4551"/>
<Point x="6689" y="4551"/>
<Point x="6689" y="4551"/>
<Point x="7112" y="4551"/>
</positions>
</Edge>
<EquationGE presentable="!ed/529d/285/D14/594d32c775a8">
<position>
<Point x="6033" y="5271"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/529d/285/D14/594d32c775a8" dstEquation="!ed/5296/285/D14/594d329d152f">
<positions>
<Point x="6287" y="5525"/>
<Point x="6689" y="5525"/>
<Point x="6689" y="5525"/>
<Point x="7112" y="5525"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : compute_flight_viability_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;23/06/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: compute flight viability ---! ToBeCompleted !--&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

384
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_inverse_exp.ann

@ -0,0 +1,384 @@ @@ -0,0 +1,384 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/1217/745C/15C0/58f85cfd2bea", "Comment_1","" , T },
{"!ed/122a/745C/15C0/58f85d186bd1", "Comment_1","" , T },
{"!ed/1216/745C/15C0/58f85cfd23cb", "Comment_1","" , T }}
Unit ::= {
{"!ed/1217/745C/15C0/58f85cfd2bea", "Unit_2","TBD" , T },
{"!ed/122a/745C/15C0/58f85d186bd1", "Unit_2","TBD" , T },
{"!ed/1216/745C/15C0/58f85cfd23cb", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/1217/745C/15C0/58f85cfd2bea", "Range_3","[0.1;10.0]" , T },
{"!ed/122a/745C/15C0/58f85d186bd1", "Range_3","TBD" , T },
{"!ed/1216/745C/15C0/58f85cfd23cb", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/1217/745C/15C0/58f85cfd2bea", "Resolution_4","TBD" , T },
{"!ed/122a/745C/15C0/58f85d186bd1", "Resolution_4","TBD" , T },
{"!ed/1216/745C/15C0/58f85cfd23cb", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/11f5/745C/15C0/58f85ce91e6", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_inverse_exp_1" , T }}
Author ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "20/04/2017" , T }}
CopyRight ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
compute (1/val)^exp" , T }}
Change ::= {
{"!ed/11f6/745C/15C0/58f85ce9547d", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

477
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_inverse_exp.xscade

@ -0,0 +1,477 @@ @@ -0,0 +1,477 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="compute_inverse_exp">
<inputs>
<Variable name="val">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1216/745C/15C0/58f85cfd23cb"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="exp">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1217/745C/15C0/58f85cfd2bea" hidden="true"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0.1;10.0]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="inverse">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/122a/745C/15C0/58f85d186bd1"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L7">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1225/745C/15C0/58f85cfd68bb"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1223/745C/15C0/58f85cfd242a"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1220/745C/15C0/58f85cfd4fa4"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1221/745C/15C0/58f85cfd748d"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/121e/745C/15C0/58f85cfd1f99"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/121b/745C/15C0/58f85cfd4584"/>
</pragmas>
</Variable>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1219/745C/15C0/58f85cfd7d7b"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = 1.0; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<ConstValue value="1.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/1218/745C/15C0/58f85cfd1c86"/>
</pragmas>
</Equation>
<!-- _L2 = exp; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="exp"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/121a/745C/15C0/58f85cfd192f"/>
</pragmas>
</Equation>
<!-- _ = _L5; -->
<Equation>
<lefts>
<VariableRef name="_"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/121c/745C/15C0/58f85cfd50a3"/>
</pragmas>
</Equation>
<!-- _L3 = 1.0; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<ConstValue value="1.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/121d/745C/15C0/58f85cfd139d"/>
</pragmas>
</Equation>
<!-- _L4, _L5 = division_by_zero_safe(_L3, _L6, _L1); -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- division_by_zero_safe(_L3, _L6, _L1) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="division_by_zero_safe"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/121f/745C/15C0/58f85cfd371b"/>
</pragmas>
</Equation>
<!-- _L6 = val; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="val"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1222/745C/15C0/58f85cfd573a"/>
</pragmas>
</Equation>
<!-- _L7 = PowerRR(_L4, _L2); -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<!-- PowerRR(_L4, _L2) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="PowerRR"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1224/745C/15C0/58f85cfd62e6"/>
</pragmas>
</Equation>
<!-- inverse = _L7; -->
<Equation>
<lefts>
<VariableRef name="inverse"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1233/745C/15C0/58f85d249e9"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/11f5/745C/15C0/58f85ce91e6" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="compute_inverse_exp_1" landscape="true" format="A4 (210 297)" oid="!ed/11f6/745C/15C0/58f85ce9547d">
<presentationElements>
<EquationGE kind="OBJ_LIT" presentable="!ed/1218/745C/15C0/58f85cfd1c86">
<position>
<Point x="5165" y="7281"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_HIDDEN" presentable="!ed/121a/745C/15C0/58f85cfd192f">
<position>
<Point x="8424" y="6054"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_TERMINATOR" presentable="!ed/121c/745C/15C0/58f85cfd50a3">
<position>
<Point x="7366" y="6054"/>
</position>
<size>
<Size width="508" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/121d/745C/15C0/58f85cfd139d">
<position>
<Point x="3620" y="5588"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/121f/745C/15C0/58f85cfd371b">
<position>
<Point x="4530" y="5186"/>
</position>
<size>
<Size width="2413" height="1693"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1222/745C/15C0/58f85cfd573a">
<position>
<Point x="3535" y="6054"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_IMPOP" presentable="!ed/1224/745C/15C0/58f85cfd62e6">
<position>
<Point x="9716" y="5186"/>
</position>
<size>
<Size width="2857" height="1693"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/121a/745C/15C0/58f85cfd192f" dstEquation="!ed/1224/745C/15C0/58f85cfd62e6">
<positions>
<Point x="8678" y="6308"/>
<Point x="9186" y="6308"/>
<Point x="9186" y="6308"/>
<Point x="9716" y="6308"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1233/745C/15C0/58f85d249e9">
<position>
<Point x="13187" y="5779"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1224/745C/15C0/58f85cfd62e6" dstEquation="!ed/1233/745C/15C0/58f85d249e9">
<positions>
<Point x="12573" y="6033"/>
<Point x="12891" y="6033"/>
<Point x="12891" y="6033"/>
<Point x="13229" y="6033"/>
</positions>
</Edge>
<Edge leftVarIndex="2" rightExprIndex="1" srcEquation="!ed/121f/745C/15C0/58f85cfd371b" dstEquation="!ed/121c/745C/15C0/58f85cfd50a3">
<positions>
<Point x="6943" y="6308"/>
<Point x="7281" y="6308"/>
<Point x="7281" y="6308"/>
<Point x="7620" y="6308"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/121f/745C/15C0/58f85cfd371b" dstEquation="!ed/1224/745C/15C0/58f85cfd62e6">
<positions>
<Point x="6943" y="5757"/>
<Point x="8319" y="5757"/>
<Point x="8319" y="5757"/>
<Point x="9716" y="5757"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/1218/745C/15C0/58f85cfd1c86" dstEquation="!ed/121f/745C/15C0/58f85cfd371b">
<positions>
<Point x="5334" y="7451"/>
<Point x="5736" y="7451"/>
<Point x="5736" y="6879"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1222/745C/15C0/58f85cfd573a" dstEquation="!ed/121f/745C/15C0/58f85cfd371b">
<positions>
<Point x="3789" y="6308"/>
<Point x="4149" y="6308"/>
<Point x="4149" y="6308"/>
<Point x="4530" y="6308"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/121d/745C/15C0/58f85cfd139d" dstEquation="!ed/121f/745C/15C0/58f85cfd371b">
<positions>
<Point x="3789" y="5757"/>
<Point x="4149" y="5757"/>
<Point x="4149" y="5757"/>
<Point x="4530" y="5757"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : compute_inverse_exp_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;20/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: compute (1/val)^exp&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

420
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_necessary_energy.ann

@ -0,0 +1,420 @@ @@ -0,0 +1,420 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Default ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "-" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE F ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/2b44/5C75/1654/58f8b11f3e32", "Unit_2","TBD" , T },
{"!ed/2d49/5C75/1654/58f8b3b740", "Unit_2","TBD" , T },
{"!ed/2cb2/5C75/1654/58f8b1e12d34", "Unit_2","TBD" , T },
{"!ed/2ab1/5C75/1654/58f8af8f94", "Unit_2","TBD" , T },
{"!ed/2abf/5C75/1654/58f8af8f5c16", "Unit_2","TBD" , T },
{"!ed/2ac5/5C75/1654/58f8af8f27e6", "Unit_2","TBD" , T },
{"!ed/2b3d/5C75/1654/58f8b0f579aa", "Unit_2","TBD" , T }}
Comment_Default ::= {
{"!ed/2a5a/5C75/1654/58f8af3f198f", "Comment_Default_1","-" , F },
{"!ed/2c9a/5C75/1654/58f8b1ab20fc", "Comment_Default_1","-" , F }}
Comment ::= {
{"!ed/2b44/5C75/1654/58f8b11f3e32", "Comment_1","" , T },
{"!ed/2d49/5C75/1654/58f8b3b740", "Comment_1","" , T },
{"!ed/2cb2/5C75/1654/58f8b1e12d34", "Comment_1","" , T },
{"!ed/2ab1/5C75/1654/58f8af8f94", "Comment_1","" , T },
{"!ed/2abf/5C75/1654/58f8af8f5c16", "Comment_1","" , T },
{"!ed/2ac5/5C75/1654/58f8af8f27e6", "Comment_1","" , T },
{"!ed/2b3d/5C75/1654/58f8b0f579aa", "Comment_1","" , T }}
Range ::= {
{"!ed/2b44/5C75/1654/58f8b11f3e32", "Range_3","TBD" , T },
{"!ed/2d49/5C75/1654/58f8b3b740", "Range_3","[0.1;10.0]" , T },
{"!ed/2cb2/5C75/1654/58f8b1e12d34", "Range_3","TBD" , T },
{"!ed/2ab1/5C75/1654/58f8af8f94", "Range_3","TBD" , T },
{"!ed/2abf/5C75/1654/58f8af8f5c16", "Range_3","TBD" , T },
{"!ed/2ac5/5C75/1654/58f8af8f27e6", "Range_3","TBD" , T },
{"!ed/2b3d/5C75/1654/58f8b0f579aa", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/2b44/5C75/1654/58f8b11f3e32", "Resolution_4","TBD" , T },
{"!ed/2d49/5C75/1654/58f8b3b740", "Resolution_4","TBD" , T },
{"!ed/2cb2/5C75/1654/58f8b1e12d34", "Resolution_4","TBD" , T },
{"!ed/2ab1/5C75/1654/58f8af8f94", "Resolution_4","TBD" , T },
{"!ed/2abf/5C75/1654/58f8af8f5c16", "Resolution_4","TBD" , T },
{"!ed/2ac5/5C75/1654/58f8af8f27e6", "Resolution_4","TBD" , T },
{"!ed/2b3d/5C75/1654/58f8b0f579aa", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/fbe/1252/1D14/58f786145a83", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_necessary_energy_1" , T }}
Author ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "20/04/2017" , T }}
CopyRight ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
compute energy necessary for parameters
depending if all poles distances are not null or if parameters are on one pole
(Robustness to avoid computation of interpolation on null distances)" , T }}
Change ::= {
{"!ed/fbf/1252/1D14/58f786141f1f", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

1888
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_necessary_energy.xscade

File diff suppressed because it is too large Load Diff

386
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_dist.ann

@ -0,0 +1,386 @@ @@ -0,0 +1,386 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Range ::= {
{"!ed/103f/1252/1D14/58f787d051d6", "Range_3","[0.1;10.0]" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Range_3","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Range_3","TBD" , T }}
Comment ::= {
{"!ed/1035/1252/1D14/58f7878d52a4", "Comment_1","" , T },
{"!ed/103f/1252/1D14/58f787d051d6", "Comment_1","" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Comment_1","" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Comment_1","" , T }}
Unit ::= {
{"!ed/1035/1252/1D14/58f7878d52a4", "Unit_2","TBD" , T },
{"!ed/103f/1252/1D14/58f787d051d6", "Unit_2","TBD" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Unit_2","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Unit_2","TBD" , T }}
Resolution ::= {
{"!ed/103f/1252/1D14/58f787d051d6", "Resolution_4","TBD" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Resolution_4","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/1033/1252/1D14/58f78782541c", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_sum_inverse_val_1" , T }}
Author ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/04/2017" , T }}
CopyRight ::= {
{"!ed/1034/1252/1D14/58f78782534c", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
compute sum [(1/val)^exp]" , T }}
Change ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

386
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_val.ann

@ -0,0 +1,386 @@ @@ -0,0 +1,386 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/1035/1252/1D14/58f7878d52a4", "Comment_1","" , T },
{"!ed/103f/1252/1D14/58f787d051d6", "Comment_1","" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Comment_1","" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Comment_1","" , T }}
Unit ::= {
{"!ed/1035/1252/1D14/58f7878d52a4", "Unit_2","TBD" , T },
{"!ed/103f/1252/1D14/58f787d051d6", "Unit_2","TBD" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Unit_2","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/103f/1252/1D14/58f787d051d6", "Range_3","[0.1;10.0]" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Range_3","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/103f/1252/1D14/58f787d051d6", "Resolution_4","TBD" , T },
{"!ed/1048/1252/1D14/58f7882459db", "Resolution_4","TBD" , T },
{"!ed/1036/1252/1D14/58f787b65697", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/1033/1252/1D14/58f78782541c", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : compute_sum_inverse_val_1" , T }}
Author ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/04/2017" , T }}
CopyRight ::= {
{"!ed/1034/1252/1D14/58f78782534c", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
compute sum [(1/val)^exp]" , T }}
Change ::= {
{"!ed/1034/1252/1D14/58f78782534c", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

527
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/compute_sum_inverse_val.xscade

@ -0,0 +1,527 @@ @@ -0,0 +1,527 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="compute_sum_inverse_val">
<sizeParameters>
<SizeParameter name="nb_items">
<pragmas>
<ed:SizeParameter oid="!ed/1035/1252/1D14/58f7878d52a4"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1036/1252/1D14/58f787b65697"/>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="exp">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/103f/1252/1D14/58f787d051d6" hidden="true"/>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0.1;10.0]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="sum_inverse">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1048/1252/1D14/58f7882459db"/>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/104c/745C/15C0/58f857c213ba"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1052/745C/15C0/58f857d21e08"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10af/745C/15C0/58f8591215a4"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/10bd/745C/15C0/58f8592f2884"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/10c8/745C/15C0/58f859601cc1"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/10cf/745C/15C0/58f859774f0f"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = values; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/104b/745C/15C0/58f857c261b2"/>
</pragmas>
</Equation>
<!-- _L2 = (map compute_inverse_exp <<nb_items>>)(_L1, _L7); -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- (map compute_inverse_exp <<nb_items>>)(_L1, _L7) -->
<CallExpression>
<operator>
<IteratorOp name="1" iterator="map">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="compute_inverse_exp"/>
</operator>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1051/745C/15C0/58f857d26a11"/>
</pragmas>
</Equation>
<!-- _L7 = _L8 ^ nb_items; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<!-- _L8 ^ nb_items -->
<ScalarToVectorOp name="2">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/10ae/745C/15C0/58f859122837"/>
</pragmas>
</Equation>
<!-- _L8 = exp; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="exp"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10bc/745C/15C0/58f8592f33ca"/>
</pragmas>
</Equation>
<!-- _L9 = (fold $+$ <<nb_items>>)(_L10, _L2); -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- (fold $+$ <<nb_items>>)(_L10, _L2) -->
<CallExpression>
<operator>
<IteratorOp name="3" iterator="fold">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="$+$"/>
</operator>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_items"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10c7/745C/15C0/58f859606f4a"/>
</pragmas>
</Equation>
<!-- _L10 = 0.0; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<ConstValue value="0.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/10ce/745C/15C0/58f859771bc8"/>
</pragmas>
</Equation>
<!-- sum_inverse = _L9; -->
<Equation>
<lefts>
<VariableRef name="sum_inverse"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10f5/745C/15C0/58f859947f3"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/1033/1252/1D14/58f78782541c" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="compute_sum_inverse_val_1" landscape="true" format="A4 (210 297)" oid="!ed/1034/1252/1D14/58f78782534c">
<presentationElements>
<EquationGE presentable="!ed/104b/745C/15C0/58f857c261b2">
<position>
<Point x="2604" y="5101"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1051/745C/15C0/58f857d26a11">
<position>
<Point x="3725" y="4763"/>
</position>
<size>
<Size width="3572" height="1899"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10ae/745C/15C0/58f859122837">
<position>
<Point x="1397" y="5779"/>
</position>
<size>
<Size width="1434" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10bc/745C/15C0/58f8592f33ca">
<position>
<Point x="656" y="5779"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10bc/745C/15C0/58f8592f33ca" dstEquation="!ed/10ae/745C/15C0/58f859122837">
<positions>
<Point x="910" y="6033"/>
<Point x="1143" y="6033"/>
<Point x="1143" y="6033"/>
<Point x="1397" y="6033"/>
</positions>
</Edge>
<EquationGE presentable="!ed/10c7/745C/15C0/58f859606f4a">
<position>
<Point x="9017" y="3768"/>
</position>
<size>
<Size width="2281" height="1667"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/10ce/745C/15C0/58f859771bc8">
<position>
<Point x="7514" y="4149"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10ce/745C/15C0/58f859771bc8" dstEquation="!ed/10c7/745C/15C0/58f859606f4a">
<positions>
<Point x="7684" y="4318"/>
<Point x="8340" y="4318"/>
<Point x="8340" y="4318"/>
<Point x="9017" y="4318"/>
</positions>
</Edge>
<EquationGE presentable="!ed/10f5/745C/15C0/58f859947f3">
<position>
<Point x="12150" y="4360"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10c7/745C/15C0/58f859606f4a" dstEquation="!ed/10f5/745C/15C0/58f859947f3">
<positions>
<Point x="11303" y="4614"/>
<Point x="11748" y="4614"/>
<Point x="11748" y="4614"/>
<Point x="12192" y="4614"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/104b/745C/15C0/58f857c261b2" dstEquation="!ed/1051/745C/15C0/58f857d26a11">
<positions>
<Point x="2858" y="5355"/>
<Point x="3281" y="5355"/>
<Point x="3281" y="5398"/>
<Point x="3725" y="5398"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/10ae/745C/15C0/58f859122837" dstEquation="!ed/1051/745C/15C0/58f857d26a11">
<positions>
<Point x="2815" y="6033"/>
<Point x="3260" y="6033"/>
<Point x="3260" y="6033"/>
<Point x="3725" y="6033"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1051/745C/15C0/58f857d26a11" dstEquation="!ed/10c7/745C/15C0/58f859606f4a">
<positions>
<Point x="7303" y="5715"/>
<Point x="8149" y="5715"/>
<Point x="8149" y="4890"/>
<Point x="9017" y="4890"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : compute_sum_inverse_val_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;19/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: compute sum [(1/val)^exp]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

119
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf.ann

@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Unit_2","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Unit_2","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Unit_2","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Unit_2","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Unit_2","TBD" , T },
{"!ed/2851/589C/1330/594cea7a23b3", "Unit_2","TBD" , T },
{"!ed/2852/589C/1330/594cea925130", "Unit_2","TBD" , T },
{"!ed/2853/589C/1330/594cea9b550b", "Unit_2","TBD" , T },
{"!ed/2854/589C/1330/594ceaa554f6", "Unit_2","TBD" , T },
{"!ed/2856/589C/1330/594ceabf4b3b", "Unit_2","TBD" , T }}
Comment ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Comment_1","" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Comment_1","" , T },
{"!ed/2970/589C/1330/594d062c7935", "Comment_1","" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Comment_1","" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Comment_1","" , T },
{"!ed/2851/589C/1330/594cea7a23b3", "Comment_1","" , T },
{"!ed/2852/589C/1330/594cea925130", "Comment_1","" , T },
{"!ed/2853/589C/1330/594cea9b550b", "Comment_1","" , T },
{"!ed/2854/589C/1330/594ceaa554f6", "Comment_1","" , T },
{"!ed/2856/589C/1330/594ceabf4b3b", "Comment_1","" , T }}
Comment_Package ::= {
{"!ed/284d/589C/1330/594cea75498b", "Comment_Package_1","TBD" , T }}
Range ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Range_3","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Range_3","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Range_3","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Range_3","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Resolution_4","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Resolution_4","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Resolution_4","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Resolution_4","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Resolution_4","TBD" , T }}
END

393
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf.xscade

@ -0,0 +1,393 @@ @@ -0,0 +1,393 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="conf">
<declarations>
<Constant name="size_mass_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2851/589C/1330/594cea7a23b3"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_dist_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2852/589C/1330/594cea925130"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_speed_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2853/589C/1330/594cea9b550b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_alt_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2854/589C/1330/594ceaa554f6"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="dist_average_param_Cst">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="1.0"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2856/589C/1330/594ceabf4b3b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Sensor name="Viability_Amode_initial">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/293a/589C/1330/594d050c66cf"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_Amode_cruise">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/2970/589C/1330/594d062c7935"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_RPmode_initial">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/2976/589C/1330/594d062d5d6d"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_RPmode_cruise">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/297c/589C/1330/594d062d1c3c"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Type name="viablility_t">
<definition>
<Struct>
<fields>
<Field name="altitudes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_alt_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea2/589C/1330/594d1202428d"/>
</pragmas>
</Field>
<Field name="distances">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_dist_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea3/589C/1330/594d1202287b"/>
</pragmas>
</Field>
<Field name="masses">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_mass_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea4/589C/1330/594d1202bd0"/>
</pragmas>
</Field>
<Field name="speeds">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_speed_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea5/589C/1330/594d12023222"/>
</pragmas>
</Field>
<Field name="energies">
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_alt_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_speed_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_dist_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_mass_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea6/589C/1330/594d12025f2d"/>
</pragmas>
</Field>
</fields>
</Struct>
</definition>
<pragmas>
<ed:Type oid="!ed/2ea1/589C/1330/594d1202147e"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Type>
</declarations>
<pragmas>
<ed:Package oid="!ed/284d/589C/1330/594cea75498b" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/284e/589C/1330/594cea755394" blockKind="constants" columnsSize="0, 260, 150, 150, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/284f/589C/1330/594cea753edb" blockKind="types" columnsSize="0, 150, 478, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/2850/589C/1330/594cea755e52" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

119
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf_mm.ann

@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Resolution ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Resolution_4","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Resolution_4","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Resolution_4","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Resolution_4","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Resolution_4","TBD" , T }}
Range ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Range_3","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Range_3","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Range_3","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Range_3","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Range_3","TBD" , T }}
Comment_Package ::= {
{"!ed/284d/589C/1330/594cea75498b", "Comment_Package_1","TBD" , T }}
Comment ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Comment_1","" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Comment_1","" , T },
{"!ed/2970/589C/1330/594d062c7935", "Comment_1","" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Comment_1","" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Comment_1","" , T },
{"!ed/2851/589C/1330/594cea7a23b3", "Comment_1","" , T },
{"!ed/2852/589C/1330/594cea925130", "Comment_1","" , T },
{"!ed/2853/589C/1330/594cea9b550b", "Comment_1","" , T },
{"!ed/2854/589C/1330/594ceaa554f6", "Comment_1","" , T },
{"!ed/2856/589C/1330/594ceabf4b3b", "Comment_1","" , T }}
Unit ::= {
{"!ed/2ea1/589C/1330/594d1202147e", "Unit_2","TBD" , T },
{"!ed/293a/589C/1330/594d050c66cf", "Unit_2","TBD" , T },
{"!ed/2970/589C/1330/594d062c7935", "Unit_2","TBD" , T },
{"!ed/2976/589C/1330/594d062d5d6d", "Unit_2","TBD" , T },
{"!ed/297c/589C/1330/594d062d1c3c", "Unit_2","TBD" , T },
{"!ed/2851/589C/1330/594cea7a23b3", "Unit_2","TBD" , T },
{"!ed/2852/589C/1330/594cea925130", "Unit_2","TBD" , T },
{"!ed/2853/589C/1330/594cea9b550b", "Unit_2","TBD" , T },
{"!ed/2854/589C/1330/594ceaa554f6", "Unit_2","TBD" , T },
{"!ed/2856/589C/1330/594ceabf4b3b", "Unit_2","TBD" , T }}
END

393
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/conf_mm.xscade

@ -0,0 +1,393 @@ @@ -0,0 +1,393 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="conf_mm">
<declarations>
<Constant name="size_mass_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2851/589C/1330/594cea7a23b3"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_dist_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2852/589C/1330/594cea925130"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_speed_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2853/589C/1330/594cea9b550b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="size_alt_array_Cst">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="4"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2854/589C/1330/594ceaa554f6"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Constant name="dist_average_param_Cst">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="1.0"/>
</value>
<pragmas>
<ed:Constant oid="!ed/2856/589C/1330/594ceabf4b3b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Sensor name="Viability_Amode_initial">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/293a/589C/1330/594d050c66cf"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_Amode_cruise">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/2970/589C/1330/594d062c7935"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_RPmode_initial">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/2976/589C/1330/594d062d5d6d"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Sensor name="Viability_RPmode_cruise">
<type>
<NamedType>
<type>
<TypeRef name="viablility_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Sensor oid="!ed/297c/589C/1330/594d062d1c3c"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Sensor>
<Type name="viablility_t">
<definition>
<Struct>
<fields>
<Field name="altitudes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_alt_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea2/589C/1330/594d1202428d"/>
</pragmas>
</Field>
<Field name="distances">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_dist_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea3/589C/1330/594d1202287b"/>
</pragmas>
</Field>
<Field name="masses">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_mass_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea4/589C/1330/594d1202bd0"/>
</pragmas>
</Field>
<Field name="speeds">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_speed_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea5/589C/1330/594d12023222"/>
</pragmas>
</Field>
<Field name="energies">
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_alt_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_speed_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_dist_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="size_mass_array_Cst"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Field oid="!ed/2ea6/589C/1330/594d12025f2d"/>
</pragmas>
</Field>
</fields>
</Struct>
</definition>
<pragmas>
<ed:Type oid="!ed/2ea1/589C/1330/594d1202147e"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Type>
</declarations>
<pragmas>
<ed:Package oid="!ed/284d/589C/1330/594cea75498b" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/284e/589C/1330/594cea755394" blockKind="constants" columnsSize="0, 260, 150, 150, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/284f/589C/1330/594cea753edb" blockKind="types" columnsSize="0, 150, 478, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/2850/589C/1330/594cea755e52" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

389
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_combinations.ann

@ -0,0 +1,389 @@ @@ -0,0 +1,389 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/13e9/71E6/226C/58f74b2f3b39", "Comment_1","" , T },
{"!ed/13ec/71E6/226C/58f74b3d74bf", "Comment_1","" , T },
{"!ed/1413/71E6/226C/58f74b5b9b6", "Comment_1","" , T },
{"!ed/13fb/71E6/226C/58f74b5b46e1", "Comment_1","" , T },
{"!ed/1403/71E6/226C/58f74b5b3f3a", "Comment_1","" , T }}
Unit ::= {
{"!ed/13e9/71E6/226C/58f74b2f3b39", "Unit_2","TBD" , T },
{"!ed/13ec/71E6/226C/58f74b3d74bf", "Unit_2","TBD" , T },
{"!ed/1413/71E6/226C/58f74b5b9b6", "Unit_2","TBD" , T },
{"!ed/13fb/71E6/226C/58f74b5b46e1", "Unit_2","TBD" , T },
{"!ed/1403/71E6/226C/58f74b5b3f3a", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/1413/71E6/226C/58f74b5b9b6", "Range_3","TBD" , T },
{"!ed/13fb/71E6/226C/58f74b5b46e1", "Range_3","TBD" , T },
{"!ed/1403/71E6/226C/58f74b5b3f3a", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/1413/71E6/226C/58f74b5b9b6", "Resolution_4","TBD" , T },
{"!ed/13fb/71E6/226C/58f74b5b46e1", "Resolution_4","TBD" , T },
{"!ed/1403/71E6/226C/58f74b5b3f3a", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/13dc/71E6/226C/58f74b134109", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : map_create_combinations_1" , T }}
Author ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/04/2017" , T }}
CopyRight ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
create arrays of combinations:
concatenates each value of val to all vectors of array_val" , T }}
Change ::= {
{"!ed/13dd/71E6/226C/58f74b135876", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

909
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_combinations.xscade

@ -0,0 +1,909 @@ @@ -0,0 +1,909 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="create_combinations">
<sizeParameters>
<SizeParameter name="nb_values">
<pragmas>
<ed:SizeParameter oid="!ed/13e9/71E6/226C/58f74b2f3b39"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</SizeParameter>
<SizeParameter name="nb_vectors">
<pragmas>
<ed:SizeParameter oid="!ed/13ec/71E6/226C/58f74b3d74bf"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="val">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/13fb/71E6/226C/58f74b5b46e1"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="array_val">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1403/71E6/226C/58f74b5b3f3a"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="out_array">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- nb_values + 1 -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<!-- nb_vectors * 2 -->
<NAryOp operator="*">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
<ConstValue value="2"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1413/71E6/226C/58f74b5b9b6"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- nb_values + 1 -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/13df/71E6/226C/58f74b261ab1"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1459/71E6/226C/58f74c837549"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/146a/71E6/226C/58f74ca32018"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/175a/71E6/226C/58f7542390b"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- nb_values + 1 -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/179c/71E6/226C/58f754341f5d"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/179a/71E6/226C/58f75434508c"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1798/71E6/226C/58f754342e18"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1796/71E6/226C/58f75434abd"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- nb_values + 1 -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<size>
<!-- nb_vectors + nb_vectors -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/17b0/71E6/226C/58f7544f6cd7"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = (map (map_combine_values<<nb_values>>) <<nb_vectors>>)(_L4, _L3); -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<!-- (map (map_combine_values<<nb_values>>) <<nb_vectors>>)(_L4, _L3) -->
<CallExpression>
<operator>
<IteratorOp name="2" iterator="map">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="map_combine_values"/>
</operator>
<instanceParameters>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</instanceParameters>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/13de/71E6/226C/58f74b267837"/>
</pragmas>
</Equation>
<!-- _L3 = array_val; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="array_val"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1458/71E6/226C/58f74c834565"/>
</pragmas>
</Equation>
<!-- _L4 = _L7 ^ nb_vectors; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<!-- _L7 ^ nb_vectors -->
<ScalarToVectorOp name="1">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1469/71E6/226C/58f74ca3197a"/>
</pragmas>
</Equation>
<!-- _L7 = val[0]; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<!-- val[0] -->
<PrjOp name="1">
<flow>
<IdExpression>
<path>
<ConstVarRef name="val"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="0"/>
</with>
</PrjOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1759/71E6/226C/58f754232e8e"/>
</pragmas>
</Equation>
<!-- _L8 = val[1]; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<!-- val[1] -->
<PrjOp name="2">
<flow>
<IdExpression>
<path>
<ConstVarRef name="val"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="1"/>
</with>
</PrjOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1795/71E6/226C/58f754341dba"/>
</pragmas>
</Equation>
<!-- _L9 = array_val; -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="array_val"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1797/71E6/226C/58f754343ea2"/>
</pragmas>
</Equation>
<!-- _L10 = _L8 ^ nb_vectors; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<!-- _L8 ^ nb_vectors -->
<ScalarToVectorOp name="2">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1799/71E6/226C/58f75434a76"/>
</pragmas>
</Equation>
<!-- _L11 = (map (map_combine_values<<nb_values>>) <<nb_vectors>>)(_L10, _L9); -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<!-- (map (map_combine_values<<nb_values>>) <<nb_vectors>>)(_L10, _L9) -->
<CallExpression>
<operator>
<IteratorOp name="4" iterator="map">
<operator>
<OpCall name="2">
<operator>
<OperatorRef name="map_combine_values"/>
</operator>
<instanceParameters>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</instanceParameters>
</OpCall>
</operator>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_vectors"/>
</path>
</IdExpression>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/179b/71E6/226C/58f754341a6a"/>
</pragmas>
</Equation>
<!-- _L12 = _L1 @ _L11; -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<!-- _L1 @ _L11 -->
<NAryOp name="1" operator="@">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/17af/71E6/226C/58f7544f10b3"/>
</pragmas>
</Equation>
<!-- out_array = _L12; -->
<Equation>
<lefts>
<VariableRef name="out_array"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/17b7/71E6/226C/58f7546259a1"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/13dc/71E6/226C/58f74b134109" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="map_create_combinations_1" landscape="true" format="A4 (210 297)" oid="!ed/13dd/71E6/226C/58f74b135876">
<presentationElements>
<EquationGE presentable="!ed/13de/71E6/226C/58f74b267837">
<position>
<Point x="6681" y="3844"/>
</position>
<size>
<Size width="5223" height="3594"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1458/71E6/226C/58f74c834565">
<position>
<Point x="2963" y="5990"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1469/71E6/226C/58f74ca3197a">
<position>
<Point x="3768" y="4551"/>
</position>
<size>
<Size width="1540" height="990"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1469/71E6/226C/58f74ca3197a" dstEquation="!ed/13de/71E6/226C/58f74b267837">
<positions>
<Point x="5292" y="5038"/>
<Point x="5990" y="5038"/>
<Point x="5990" y="5038"/>
<Point x="6689" y="5038"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1458/71E6/226C/58f74c834565" dstEquation="!ed/13de/71E6/226C/58f74b267837">
<positions>
<Point x="3217" y="6244"/>
<Point x="4953" y="6244"/>
<Point x="4953" y="6244"/>
<Point x="6689" y="6244"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/1759/71E6/226C/58f754232e8e">
<position>
<Point x="2646" y="4868"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1759/71E6/226C/58f754232e8e" dstEquation="!ed/1469/71E6/226C/58f74ca3197a">
<positions>
<Point x="2815" y="5038"/>
<Point x="3281" y="5038"/>
<Point x="3281" y="5038"/>
<Point x="3768" y="5038"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/1795/71E6/226C/58f754341dba">
<position>
<Point x="2667" y="8700"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_INPUT" presentable="!ed/1797/71E6/226C/58f754343ea2">
<position>
<Point x="2985" y="9821"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1799/71E6/226C/58f75434a76">
<position>
<Point x="3789" y="8382"/>
</position>
<size>
<Size width="1524" height="974"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/179b/71E6/226C/58f754341a6a">
<position>
<Point x="6710" y="7684"/>
</position>
<size>
<Size width="5207" height="3577"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1799/71E6/226C/58f75434a76" dstEquation="!ed/179b/71E6/226C/58f754341a6a">
<positions>
<Point x="5313" y="8869"/>
<Point x="6011" y="8869"/>
<Point x="6011" y="8869"/>
<Point x="6710" y="8869"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1795/71E6/226C/58f754341dba" dstEquation="!ed/1799/71E6/226C/58f75434a76">
<positions>
<Point x="2836" y="8869"/>
<Point x="3302" y="8869"/>
<Point x="3302" y="8869"/>
<Point x="3789" y="8869"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1797/71E6/226C/58f754343ea2" dstEquation="!ed/179b/71E6/226C/58f754341a6a">
<positions>
<Point x="3239" y="10075"/>
<Point x="4974" y="10075"/>
<Point x="4974" y="10075"/>
<Point x="6710" y="10075"/>
</positions>
</Edge>
<EquationGE presentable="!ed/17af/71E6/226C/58f7544f10b3">
<position>
<Point x="13589" y="6583"/>
</position>
<size>
<Size width="974" height="974"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/13de/71E6/226C/58f74b267837" dstEquation="!ed/17af/71E6/226C/58f7544f10b3">
<positions>
<Point x="11896" y="5652"/>
<Point x="12742" y="5652"/>
<Point x="12742" y="6900"/>
<Point x="13589" y="6900"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/179b/71E6/226C/58f754341a6a" dstEquation="!ed/17af/71E6/226C/58f7544f10b3">
<positions>
<Point x="11917" y="9483"/>
<Point x="12742" y="9483"/>
<Point x="12742" y="7239"/>
<Point x="13589" y="7239"/>
</positions>
</Edge>
<EquationGE presentable="!ed/17b7/71E6/226C/58f7546259a1">
<position>
<Point x="15748" y="6816"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/17af/71E6/226C/58f7544f10b3" dstEquation="!ed/17b7/71E6/226C/58f7546259a1">
<positions>
<Point x="14563" y="7070"/>
<Point x="15177" y="7070"/>
<Point x="15177" y="7070"/>
<Point x="15790" y="7070"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: create arrays of combinations: concatenates each value of val to all vectors of array_val&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;19/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : map_create_combinations_1&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

380
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_poles_combinations.ann

@ -0,0 +1,380 @@ @@ -0,0 +1,380 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/106c/4B98/1E78/58f5f1c81ee0", "Comment_1","" , T },
{"!ed/1072/4B98/1E78/58f5f1cf7a38", "Comment_1","" , T }}
Unit ::= {
{"!ed/106c/4B98/1E78/58f5f1c81ee0", "Unit_2","TBD" , T },
{"!ed/1072/4B98/1E78/58f5f1cf7a38", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/106c/4B98/1E78/58f5f1c81ee0", "Range_3","TBD" , T },
{"!ed/1072/4B98/1E78/58f5f1cf7a38", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/106c/4B98/1E78/58f5f1c81ee0", "Resolution_4","TBD" , T },
{"!ed/1072/4B98/1E78/58f5f1cf7a38", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/3289/1DFB/1050/58f0cebc59d1", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : create_poles_combinations_1" , T }}
Author ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP PORTE" , T }}
Date ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "14/04/2017" , T }}
CopyRight ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
create 16 vectors combining the 2 closest values for each parameter (and do the same for indexes)" , T }}
Change ::= {
{"!ed/328a/1DFB/1050/58f0cebc1286", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

902
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/create_poles_combinations.xscade

@ -0,0 +1,902 @@ @@ -0,0 +1,902 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="create_poles_combinations">
<inputs>
<Variable name="mass_values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1001/4B98/1E78/58f5f1b25df1"/>
</pragmas>
</Variable>
<Variable name="distance_values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/100f/4B98/1E78/58f5f1b22bce"/>
</pragmas>
</Variable>
<Variable name="speed_values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/101d/4B98/1E78/58f5f1b21601"/>
</pragmas>
</Variable>
<Variable name="altitude_values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/102b/4B98/1E78/58f5f1b24a88"/>
</pragmas>
</Variable>
<Variable name="mass_indexes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1039/4B98/1E78/58f5f1b238c1"/>
</pragmas>
</Variable>
<Variable name="distance_indexes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1047/4B98/1E78/58f5f1b24498"/>
</pragmas>
</Variable>
<Variable name="speed_indexes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1055/4B98/1E78/58f5f1b23837"/>
</pragmas>
</Variable>
<Variable name="altitude_indexes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1063/4B98/1E78/58f5f1b277df"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="values_combinations">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/106c/4B98/1E78/58f5f1c81ee0"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="indexes_combinations">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1072/4B98/1E78/58f5f1cf7a38"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/108d/4B98/1E78/58f5f2204aba"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<size>
<ConstValue value="16"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1099/4B98/1E78/58f5f225494d"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/109b/4B98/1E78/58f5f2295d"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/109d/4B98/1E78/58f5f22951a9"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/109f/4B98/1E78/58f5f2294eff"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10a1/4B98/1E78/58f5f22936a0"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10a7/4B98/1E78/58f5f22e3107"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10a9/4B98/1E78/58f5f22e6e19"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10ab/4B98/1E78/58f5f22e7f58"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10ad/4B98/1E78/58f5f22e13fe"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = combine_poles(_L3, _L4, _L5, _L6); -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<!-- combine_poles(_L3, _L4, _L5, _L6) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="combine_poles"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/108c/4B98/1E78/58f5f2204c51"/>
</pragmas>
</Equation>
<!-- _L2 = combine_poles(_L7, _L8, _L9, _L10); -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- combine_poles(_L7, _L8, _L9, _L10) -->
<CallExpression>
<operator>
<OpCall name="2">
<operator>
<OperatorRef name="combine_poles"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1098/4B98/1E78/58f5f2257bd6"/>
</pragmas>
</Equation>
<!-- _L3 = mass_values; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="mass_values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/109a/4B98/1E78/58f5f229295b"/>
</pragmas>
</Equation>
<!-- _L4 = distance_values; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="distance_values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/109c/4B98/1E78/58f5f229538a"/>
</pragmas>
</Equation>
<!-- _L5 = speed_values; -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="speed_values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/109e/4B98/1E78/58f5f2297218"/>
</pragmas>
</Equation>
<!-- _L6 = altitude_values; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="altitude_values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10a0/4B98/1E78/58f5f2293ec9"/>
</pragmas>
</Equation>
<!-- _L7 = mass_indexes; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="mass_indexes"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10a6/4B98/1E78/58f5f22e259"/>
</pragmas>
</Equation>
<!-- _L8 = distance_indexes; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="distance_indexes"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10a8/4B98/1E78/58f5f22e6098"/>
</pragmas>
</Equation>
<!-- _L9 = speed_indexes; -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="speed_indexes"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10aa/4B98/1E78/58f5f22e54af"/>
</pragmas>
</Equation>
<!-- _L10 = altitude_indexes; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="altitude_indexes"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10ac/4B98/1E78/58f5f22e41ba"/>
</pragmas>
</Equation>
<!-- values_combinations = _L1; -->
<Equation>
<lefts>
<VariableRef name="values_combinations"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10b2/4B98/1E78/58f5f2311c11"/>
</pragmas>
</Equation>
<!-- indexes_combinations = _L2; -->
<Equation>
<lefts>
<VariableRef name="indexes_combinations"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10b7/4B98/1E78/58f5f23339e3"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/3289/1DFB/1050/58f0cebc59d1" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="create_poles_combinations_1" landscape="true" format="A4 (210 297)" oid="!ed/328a/1DFB/1050/58f0cebc1286">
<presentationElements>
<EquationGE presentable="!ed/108c/4B98/1E78/58f5f2204c51">
<position>
<Point x="5736" y="3937"/>
</position>
<size>
<Size width="7530" height="3191"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1098/4B98/1E78/58f5f2257bd6">
<position>
<Point x="5736" y="8086"/>
</position>
<size>
<Size width="7514" height="3175"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/109a/4B98/1E78/58f5f229295b">
<position>
<Point x="4382" y="4318"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/109c/4B98/1E78/58f5f229538a">
<position>
<Point x="4382" y="4953"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/109e/4B98/1E78/58f5f2297218">
<position>
<Point x="4382" y="5588"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10a0/4B98/1E78/58f5f2293ec9">
<position>
<Point x="4382" y="6223"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10a6/4B98/1E78/58f5f22e259">
<position>
<Point x="4382" y="8467"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10a8/4B98/1E78/58f5f22e6098">
<position>
<Point x="4382" y="9102"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10aa/4B98/1E78/58f5f22e54af">
<position>
<Point x="4382" y="9737"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10ac/4B98/1E78/58f5f22e41ba">
<position>
<Point x="4382" y="10372"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10b2/4B98/1E78/58f5f2311c11">
<position>
<Point x="14563" y="5271"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10b7/4B98/1E78/58f5f23339e3">
<position>
<Point x="14563" y="9419"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/109a/4B98/1E78/58f5f229295b" dstEquation="!ed/108c/4B98/1E78/58f5f2204c51">
<positions>
<Point x="4636" y="4572"/>
<Point x="5186" y="4572"/>
<Point x="5186" y="4572"/>
<Point x="5736" y="4572"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/109c/4B98/1E78/58f5f229538a" dstEquation="!ed/108c/4B98/1E78/58f5f2204c51">
<positions>
<Point x="4636" y="5207"/>
<Point x="5186" y="5207"/>
<Point x="5186" y="5207"/>
<Point x="5736" y="5207"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/109e/4B98/1E78/58f5f2297218" dstEquation="!ed/108c/4B98/1E78/58f5f2204c51">
<positions>
<Point x="4636" y="5842"/>
<Point x="5186" y="5842"/>
<Point x="5186" y="5842"/>
<Point x="5736" y="5842"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="4" srcEquation="!ed/10a0/4B98/1E78/58f5f2293ec9" dstEquation="!ed/108c/4B98/1E78/58f5f2204c51">
<positions>
<Point x="4636" y="6477"/>
<Point x="5186" y="6477"/>
<Point x="5186" y="6477"/>
<Point x="5736" y="6477"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/108c/4B98/1E78/58f5f2204c51" dstEquation="!ed/10b2/4B98/1E78/58f5f2311c11">
<positions>
<Point x="13250" y="5525"/>
<Point x="13928" y="5525"/>
<Point x="13928" y="5525"/>
<Point x="14605" y="5525"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10a6/4B98/1E78/58f5f22e259" dstEquation="!ed/1098/4B98/1E78/58f5f2257bd6">
<positions>
<Point x="4636" y="8721"/>
<Point x="5186" y="8721"/>
<Point x="5186" y="8721"/>
<Point x="5736" y="8721"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/10a8/4B98/1E78/58f5f22e6098" dstEquation="!ed/1098/4B98/1E78/58f5f2257bd6">
<positions>
<Point x="4636" y="9356"/>
<Point x="5186" y="9356"/>
<Point x="5186" y="9356"/>
<Point x="5736" y="9356"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/10aa/4B98/1E78/58f5f22e54af" dstEquation="!ed/1098/4B98/1E78/58f5f2257bd6">
<positions>
<Point x="4636" y="9991"/>
<Point x="5186" y="9991"/>
<Point x="5186" y="9991"/>
<Point x="5736" y="9991"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="4" srcEquation="!ed/10ac/4B98/1E78/58f5f22e41ba" dstEquation="!ed/1098/4B98/1E78/58f5f2257bd6">
<positions>
<Point x="4636" y="10626"/>
<Point x="5186" y="10626"/>
<Point x="5186" y="10626"/>
<Point x="5736" y="10626"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1098/4B98/1E78/58f5f2257bd6" dstEquation="!ed/10b7/4B98/1E78/58f5f23339e3">
<positions>
<Point x="13250" y="9673"/>
<Point x="13928" y="9673"/>
<Point x="13928" y="9673"/>
<Point x="14605" y="9673"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : create_poles_combinations_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;14/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: create 16 vectors combining the 2 closest values for each parameter (and do the same for indexes)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_Graphical_1&quot; {Comment_Graphical = &quot;Create values combinations&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_Graphical_11&quot; {Comment_Graphical = &quot;Create indexes combinations&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

4
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.almgp

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
<?xml version="1.0" encoding="ASCII"?>
<ALMGateway:ALMGProject xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ALMGateway="http://www.esterel-technologies.com/scade/lifecycle/almgateway" name="designXAV" id="_5aKYwFS9Eee0gMMbaB_ezg">
<connectors xsi:type="ALMGateway:ReqtifyConnector" rqtfFile="designXAV.rqtf"/>
</ALMGateway:ALMGProject>

54
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.almgr

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<scade_req:ReqProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:scade_req="http://www.esterel-technologies.com/scade/lifecycle/almgateway/scade_req/1" identifier="C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf" text="designXAV">
<children xsi:type="scade_req:Document" identifier="F_MM_Requirements" text="F_MM_Requirements Word_Req">
<children xsi:type="scade_req:Section" identifier="1" text="1 Refinement of the definition of the MMS function" description="">
<children xsi:type="scade_req:Section" identifier="1.3" text="1.3 Behavior" description="">
<children xsi:type="scade_req:Section" identifier="1.3.1" text="1.3.1 Mission Viability computation" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_00" text="Req_F_MM_00" description="From the tables, F_MM must select the nearest neighbours and extract energy levels for each of these neighbours">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2918/1DFB/1050/58f0c89b60cd" text="viab::determine_viability/" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_01" text="Req_F_MM_01" description="F_MM must compute energy level by interpolation - with distance based averaging">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2918/1DFB/1050/58f0c89b60cd" text="viab::determine_viability/" type="Covering:trace" local="true"/>
</children>
</children>
<children xsi:type="scade_req:Section" identifier="1.3.2" text="1.3.2 Init Sequence" description="">
<children xsi:type="scade_req:Section" identifier="1.3.2.1" text="1.3.2.1 Payload boarding" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_10" text="Req_F_MM_10" description="A payload boarding sequence consists in 1. The bay is opened using the BAY SWITCH (Bayswitch is set to OPEN) 2. The payload is boarded in the bay 3. The bay is closed using the BAY SWITCH (Bayswitch is set to CLOSED)">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2917/623E/DF0/594380793291" text="manage_payload_boarding" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_11" text="Req_F_MM_11" description="When the bay is closed, the mass must be recorded from the CP's rotator or the USB key.">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2917/623E/DF0/594380793291" text="manage_payload_boarding" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_12" text="Req_F_MM_12" description="The rotators supersede any other means, unless value 99 is configured on the two wheels. In RP mode, GS supersedes the USB key, whereas in A mode the key supersedes any GS input."/>
</children>
<children xsi:type="scade_req:Section" identifier="1.3.2.2" text="1.3.2.2 Mission set up" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_20" text="Req_F_MM_20" description="Mission set up values must be taken into account when start message is received and payload mass is obtained. Then mission viability is computed.">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2b54/6F08/E3C/594798594fe9" text="set_up_mission" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_21" text="Req_F_MM_21" description="Mission parameters sources must be resolved. Ground station's values supersede the ones from USB Key.">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2b94/6F08/E3C/5947993f7ed1" text="select_navigation_data" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_22" text="Req_F_MM_22" description="Mission viability is computed at set up phase using payload mass, distance, navigation mode, altitude and speed received.">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2ba8/589C/1330/594d0c5e2a3d" text="stp::compute_set_up_viability/" type="Covering:trace" local="true"/>
</children>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_23" text="Req_F_MM_23" description="When mission is decided viable, StartTakeOff order must be launched to F_FC. Otherwise MissionCANCELLED must be set to F_FC">
<children xsi:type="scade_req:IncomingReference" identifier="!ed/2b54/6F08/E3C/594798594fe9" text="stp::set_up_mission/" type="Covering:trace" local="true"/>
</children>
</children>
</children>
<children xsi:type="scade_req:Section" identifier="1.3.3" text="1.3.3 In flight functions" description="">
<children xsi:type="scade_req:Section" identifier="1.3.3.1" text="1.3.3.1 Viability computation" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_30" text="Req_F_MM_30" description="During flight, when flight mode is CRUISE, F_MM must compute the viability with periodic rate (0.1 Hz) using: payload mass, navigation mode, and current remaining distance (from F_FC), altitude (from F_FC) and speed (from F_FC)"/>
</children>
<children xsi:type="scade_req:Section" identifier="1.3.3.2" text="1.3.3.2 Mission termination control" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_40" text="Req_F_MM_40" description="During flight, F_MM must monitor current range and activate landing when (Distance-CurrentRange) &lt; GlideDistance(CurrentAltitude)."/>
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_41" text="Req_F_MM_41" description="GlideDistance is a tabulated function that gives the ground distance needed to reach altitude zero from CurrentAltitude."/>
</children>
<children xsi:type="scade_req:Section" identifier="1.3.3.3" text="1.3.3.3 Operating point update management" description="">
<children xsi:type="scade_req:Requirement" identifier="Req_F_MM_50" text="Req_F_MM_50" description="F_MM sends command to F_FC to freeze any change on the operating point when landing is activated."/>
</children>
</children>
</children>
</children>
</children>
</scade_req:ReqProject>

100
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.ewo

@ -0,0 +1,100 @@ @@ -0,0 +1,100 @@
[STUDIO\TOOLS\CONFIGURATIONS\Code Generator]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="Simulation"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="Simulation"
[STUDIO\TOOLS\CONFIGURATIONS\Reporter]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="HTML"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="HTML"
[STUDIO\TOOLS\CONFIGURATIONS\Synchronization]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="Synchronization"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="Synchronization"
[STUDIO\TOOLS\CONFIGURATIONS\Timing and Stack Analysis Tools]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="KCG"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="KCG"
[STUDIO\TOOLS\CONFIGURATIONS\DiffAnalyzer]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="KCG"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="KCG"
[STUDIO\TOOLS\CONFIGURATIONS\Instrumenter]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="Coverage"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="Coverage"
[STUDIO\Workspace]
"ActiveProject"="C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"
[SCADE\Editor\Shortcut]
"groupNb"="0"
[SCADE\Editor\Tool]
"UsePolyline"="false"
"TransitionKind"="strong"
[SCADE\Diff\Tool]
"LastProject1"=""
"LastProject2"=""
[SCADE\Generator\Tool]
"PragmaTarget"="C"
[STUDIO\TOOLS\CONFIGURATIONS\Design Verifier]
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\designXAV.etp"="KCG"
"C:\\projets\\ressac\\use_case\\microXAV\\designXAV\\F_MM.etp"="KCG"
[SCADE\Simulator\Simulation]
"Latency"="200"
"RefreshRate"="1"
[SCADE\Simulator\BinaryDisplay]
"Count"="0"
[SCADE\Simulator\OctalDisplay]
"Count"="0"
[SCADE\Simulator\HexadecimalDisplay]
"Count"="0"
[SCADE\Simulator\Watch]
"Watch1"="conf::Viability_Amode_initial/"
"Count"="1"
"Watch2"="f_mm::test_param/distance/"
"Watch3"="f_mm::test_param/speed/"
"Watch4"="f_mm::test_param/altitude/"
"Watch5"="f_mm::test_param/f_mm::create_poles_combinations 1/_L1/"
"Watch6"="f_mm::test_param/f_mm::create_poles_combinations 1/_L2/"
[SCADE\Simulator\Graph]
"Count"="0"
[SCADE\Simulator\ControlBreakpoint]
"Count"="0"
[SCADE\Simulator\DataBreakpoint]
"Count"="0"
[SCADE\Simulator\TclBreakpoint]
"Count"="0"

20
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.log

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
-> 19/06/17 09:11:35
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 19/06/17 09:11:35
Error: Document not readable: file 'C:\projets\ressac\use_case\microXAV\designXAV\requirements.doc'
-> 19/06/17 09:13:44
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 19/06/17 09:24:40
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 19/06/17 09:25:09
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 23/06/17 14:34:49
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 23/06/17 14:36:03
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 23/06/17 14:36:24
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 23/06/17 14:38:05
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf
-> 23/06/17 14:38:12
Open project C:\projets\ressac\use_case\microXAV\designXAV\designXAV.rqtf

24
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtf

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
[Files]
Names=F_MM_Requirements,SCADE Design
RepositoryTool=Boost
[F_MM_Requirements]
Cover1=SCADE Design
Cover1Position=2400@2400
GraphicPosition=2200@2200
Type=Word_Req
Path=C:\GitHub\RESSAC_Use_Case\UseCaseDevelopment\Layer1_MMS\app_working_dir\MMS_F_MM refinement.docx
AbsolutePath=C:\GitHub\RESSAC_Use_Case\UseCaseDevelopment\Layer1_MMS\app_working_dir\MMS_F_MM refinement.docx
[SCADE Design]
GraphicPosition=2600@2600
Variable1Name=dateFiles
Variable1Value=transform_index_structure.xscade¥transform_index_structure.ann¥Square1.xscade¥SqrtR1.xscade¥SqrtR32.xscade¥compute_sum_inverse_dist.xscade¥compute_sum_inverse_dist.ann¥PowerR.xscade¥PowerRR.xscade¥Operator8.xscade¥Operator8.ann¥PowerRR32.xscade¥TruthTableIdx.xscade¥TruthTableLineIdx.xscade¥TruthTableElt.xscade¥combine_poles.xscade¥test_param.xscade¥test_param.ann¥map_compute_distances.xscade¥map_compute_distances.ann¥map_combine_values.xscade¥map_combine_values.ann¥fold_compute_interpolation.xscade¥fold_compute_interpolation.ann¥determine_viability1.xscade¥determine_viability1.ann¥determine_closest_neighbours1.xscade¥determine_closest_neighbours1.ann¥create_poles_combinations.xscade¥create_poles_combinations.ann¥create_combinations.xscade¥create_combinations.ann¥compute_necessary_energy.xscade¥compute_necessary_energy.ann¥compute_distances.xscade¥compute_distances.ann¥combine_poles1.xscade¥combine_poles1.ann¥Operator13.xscade¥Operator13.ann¥Operator15.xscade¥Operator15.ann¥RisingEdge.xscade¥FallingEdge.xscade¥Package2.xscade¥Package2.ann¥C:\\Users\\ANNEPE~1.POR\\AppData\\Local\\Temp\\Esterel Technologies\\StudioBackup\\determine_viability_V1.xscade¥Package1.xscade¥Package1.ann¥Package3.xscade¥Package3.ann¥Package41.xscade¥Package41.ann¥Package5.xscade¥Package5.ann¥designXAV.trace
Variable2Name=icon
Variable2Value=./icons/Suite/Suite.png
Variable3Name=withImages
Variable3Value=0
Type=SCADE
Path=designXAV.etp
AbsolutePath=C:\projets\ressac\use_case\microXAV\designXAV\designXAV.etp

1
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtf.search

@ -0,0 +1 @@ @@ -0,0 +1 @@
Req_F_MM_10

BIN
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.rqtfimage

Binary file not shown.

7
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.tot

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
[Scade/Styles/ScNetStyle2/Style_Red](kind=Style; Style=ScNetStyle2; BasedOn=Equation Set)
[Scade/Styles/ScNetStyle2/Style_Red/Entity]
"LineColor"="(255,0,0)"

21
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.trace

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<traceability version="1.3">
<object id="!ed/2917/623E/DF0/594380793291">
<requirement id="Req_F_MM_10"/>
<requirement id="Req_F_MM_11"/>
</object>
<object id="!ed/2b94/6F08/E3C/5947993f7ed1">
<requirement id="Req_F_MM_21"/>
</object>
<object id="!ed/2b54/6F08/E3C/594798594fe9">
<requirement id="Req_F_MM_20"/>
<requirement id="Req_F_MM_23"/>
</object>
<object id="!ed/2ba8/589C/1330/594d0c5e2a3d">
<requirement id="Req_F_MM_22"/>
</object>
<object id="!ed/2918/1DFB/1050/58f0c89b60cd">
<requirement id="Req_F_MM_00"/>
<requirement id="Req_F_MM_01"/>
</object>
</traceability>

64
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.types

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
[Types]
Names=Word_Req
[Word_Req]
;This default type considers :
;- Requirements use the Word style 'Requirement_ID", names being composed of a unique ID "ABCxx" and a label in natural language. ID and Label must be separated by a colon
;- Requirement bodies use the Word style "Requirement_Text"
;- Attributes "Allocation" and "Priority" are pre-defined.
;- Coverage of requirements is defined by writing "[Covers: <some covers>]", <some covers> is the list of covered requirements separated by , or ;
Tool=WordWithStyles
ToolEdit=Word
Image=word
Section1Name=Heading
Section1Guid=_E5160843_CF32_4D0D_8D2F_D8C67871816D
Section1=^[Hh]eading (\d+)\t(?:([\d\.]+)[ \t](.*)|([^\d\n].+))$
Section1Indexes=6,1,2,1
MacroRequirement1Name=Macro-requirement
MacroRequirement1Guid=_D42C5B4C_D773_482A_8C40_FBB1B6166952
MacroRequirement1=\[MacroReq_([^\]]+)
MacroRequirement1End=\[End_of_MacroReq\]
Requirement1Name=Requirement
Requirement1Guid=_197ECB0A_F31B_4F85_A378_4D6692613235
Requirement1=^REQ_Id[\t+](\S+)(?:[ \t]*\:[ \t]*(.+)|)$
Requirement1End=REQ_End[\t+]Req_End
Reference1Name=Coverage
Reference1Guid=_93186B1B_3645_42EB_9087_4F4376E53CC9
Reference1Print=[Covers: $i]
Reference1=\[Covers[ \t]*:[ \t]*([^\]]*)
Reference1Sub=[ \t]*([^\,\;]+)[ \t]*
Attribute1Name=Allocation
Attribute1Guid=_3469774E_3529_451A_A474_455A9C8CF624
Attribute1Print=Owner : $i
Attribute1Value1Key=guid_E5160843_CF32_4D0D_8D2F_D8C67871816D
Attribute1Value1Value=_4C5F271A_8F0E_4496_AFA1_3DCDD3C32898_
Attribute1Value2Key=guid_D42C5B4C_D773_482A_8C40_FBB1B6166952
Attribute1Value2Value=_F170DB9C_556E_4AE0_B177_DBFADED4E63D_
Attribute1Value3Key=guid_197ECB0A_F31B_4F85_A378_4D6692613235
Attribute1Value3Value=_97970123_1083_4E9A_B991_D77C4C0413F9
Attribute1=Allocated to[ \t]*\:[ \t]*(.+)
Attribute2Name=Priority
Attribute2Guid=_0397D88C_7EC5_44F4_883A_5EDA8B060F0B
Attribute2Print=$t : $i
Attribute2EnumValues=High,Medium,Low
Attribute2Value1Key=guidValues
Attribute2Value1Value=_BE97AAF4_BDF9_4E6E_BF64_C1027A299A67_¥_462BD05A_C6F1_42A3_BF7C_C0E203140DA9_¥_0D4DEDF4_61F1_4EA1_AD43_4EB2A6FEFFE7_
Attribute2Value2Key=guidEnumeration
Attribute2Value2Value=_5C7DAEC0_73D0_4D26_B292_7DCE1EB8CF37_
Attribute2Value3Key=guid_E5160843_CF32_4D0D_8D2F_D8C67871816D
Attribute2Value3Value=_3F02614A_D3D3_4472_B3E6_5C58E75EF0C9_
Attribute2Value4Key=guid_D42C5B4C_D773_482A_8C40_FBB1B6166952
Attribute2Value4Value=_6852C887_5E38_41F2_B1DB_3AF58AF9896C_
Attribute2Value5Key=guid_197ECB0A_F31B_4F85_A378_4D6692613235
Attribute2Value5Value=_A334F030_526E_4187_97B2_9035AF7F2218_
Attribute2=Priority[ \t]*\:[ \t]*(.+)
Text1Name=Text
Text1RegularExpression=\bREQ_Body\t(.+?)(?=\|\d|\n)
Picture1Name=Picture
Picture1Guid=_672493D3_6A69_4D7D_BB7A_87AD0D2D6352
Picture1RegularExpression=<Picture<([^>]+)
FileExtension=doc,docx,docm
TextFormat=3
IntermediateFileEncoding=UTF8

30
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/designXAV.vsw

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
Entities_Definitions DEFINITIONS ::= BEGIN
project_ref ::= SEQUENCE OF {
SEQUENCE {
identity oid,
persist_as string,
workspace oid
}
}
workspace ::= SEQUENCE OF {
SEQUENCE {
identity oid,
active_project oid
}
}
base ::= SEQUENCE OF {
SEQUENCE {
oid_count integer,
version string
}
}
base ::= {
{2, ""}
}
workspace ::= {
{"1", "2"}
}
project_ref ::= {
{"2", "F_MM.etp", "1"}
}
END

293
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_closest_neighbours.ann

@ -0,0 +1,293 @@ @@ -0,0 +1,293 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "Change_1",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "Description_1",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
for each parameter, get the closest neighbour's indexes and values
{mass, distance, speed, altitude}" , T }}
CopyRight ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "CopyRight_1",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "Date_1",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "14/04/2017" , T }}
Author ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "Author_1",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP PORTE" , T }}
Title ::= {
{"!ed/291b/1DFB/1050/58f0c8a54ef6", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : determine_closest_neighbours_1" , T }}
END

1577
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_closest_neighbours.xscade

File diff suppressed because it is too large Load Diff

332
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_viability.ann

@ -0,0 +1,332 @@ @@ -0,0 +1,332 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Comment_Graphical ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 350 },
NT_CENTERING_CENTER BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Comment_Graphical TEXT
{
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Title ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : determine_viability_1" , T }}
Author ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Author_1",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Date_1",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "20/04/2017" , T }}
CopyRight ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "CopyRight_1",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Description_1",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
determine mission viability" , T }}
Change ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Change_1",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Comment_Graphical ::= {
{"!ed/2919/1DFB/1050/58f0c89bf7c", "Comment_Graphical_1",T , T , T , "RELATIVE" , 350.000000 , 350.000000 , T , 1 , "" , T }}
END

1854
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/determine_viability.xscade

File diff suppressed because it is too large Load Diff

378
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/division_by_zero_safe.ann

@ -0,0 +1,378 @@ @@ -0,0 +1,378 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "Change_6",T , T , "RELATIVE" , 0.000000 , 61.456692 , T , T , 350 , 56 , 1 , " CR: 30
PR 43 : additional description to allow operator to be tested
CR scade#47 : updated description, improved readability" , T }}
Description ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 118 , 1 , " Description: This operator do a division protected against overflow,
if |num| is below |denom| no overflow risk is present, apply division
if |num| is above 1.0e+19 or |denom| is below 1.0e-19
then the result is equal to the default value and flag is true.
otherwise the division num by denom is performed and flag
division_by_zero is set to false
Beware this division is not protected against underflow" , T }}
CopyRight ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "17/10/2016" , T }}
Author ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: J. Kirsch" , T }}
Title ::= {
{"!ed/8ef8/197F/2150/59e4ada0253c", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , " Title: diagram_division_by_zero_safe_1" , T }}
OperatorKind ::= {
{"!ed/8ed7/197F/2150/59e4ada010e2", "OperatorKind_1","Library" , T }}
Range ::= {
{"!ed/8eff/197F/2150/59e4ada03ea", "Range_3","NA" , T },
{"!ed/8f00/197F/2150/59e4ada043f6", "Range_3","NA" , T },
{"!ed/8f01/197F/2150/59e4ada0747", "Range_3","NA" , T },
{"!ed/8f02/197F/2150/59e4ada01025", "Range_3","[-1.0e19 ; -1.0e-19] U [1.0e-19 ; 1.0e19]" , T },
{"!ed/8f03/197F/2150/59e4ada0258c", "Range_3","[-1.0e19 ; -1.0e-19] U [1.0e-19 ; 1.0e19]" , T }}
Comment ::= {
{"!ed/8eff/197F/2150/59e4ada03ea", "Comment_1","Default value is considered as result in case of division by zero is true" , T },
{"!ed/8f00/197F/2150/59e4ada043f6", "Comment_1","result of the division" , T },
{"!ed/8f01/197F/2150/59e4ada0747", "Comment_1","flag indicative of division by zero" , T },
{"!ed/8f02/197F/2150/59e4ada01025", "Comment_1","numerator of the division" , T },
{"!ed/8f03/197F/2150/59e4ada0258c", "Comment_1","denominator of the division" , T }}
Unit ::= {
{"!ed/8eff/197F/2150/59e4ada03ea", "Unit_2","NA" , T },
{"!ed/8f00/197F/2150/59e4ada043f6", "Unit_2","NA" , T },
{"!ed/8f01/197F/2150/59e4ada0747", "Unit_2","NA" , T },
{"!ed/8f02/197F/2150/59e4ada01025", "Unit_2","NA" , T },
{"!ed/8f03/197F/2150/59e4ada0258c", "Unit_2","NA" , T }}
END

1005
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/division_by_zero_safe.xscade

File diff suppressed because it is too large Load Diff

8
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm - Copie.ann

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
END

42
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm.ann

@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/97c6/197F/2150/59e4b0214cb1", "Comment_1","" , T }}
Unit ::= {
{"!ed/97c6/197F/2150/59e4b0214cb1", "Unit_2","TBD" , T }}
END

42
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/f_mm.xscade

@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="f_mm">
<declarations>
<Operator name="manage_mission" href="manage_mission.xscade"/>
</declarations>
<pragmas>
<ed:Package oid="!ed/12/1DFB/1050/58f0bcf64c89" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/13/1DFB/1050/58f0bcf65f23" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/14/1DFB/1050/58f0bcf64cf5" blockKind="types"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/15/1DFB/1050/58f0bcf6568e" blockKind="sensors"/>
</diagrams>
</ed:Package>
</pragmas>
</Package>
<Constant name="epsilon_Cst">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<value>
<ConstValue value="0.0000001"/>
</value>
<pragmas>
<ed:Constant oid="!ed/97c6/197F/2150/59e4b0214cb1" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>TBD according to the expected precision</comment>
</ed:Constant>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
</declarations>
</File>

25
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/flight_mm.ann

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= {
{"!ed/51fb/285/D14/594d2ff03cfc", "Comment_Package_1","TBD" , T }}
END

23
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/flight_mm.xscade

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="flight_mm">
<declarations>
<Operator name="manage_flight" href="manage_flight.xscade"/>
<Operator name="compute_flight_viability" href="compute_flight_viability.xscade"/>
</declarations>
<pragmas>
<ed:Package oid="!ed/51fb/285/D14/594d2ff03cfc" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/51fc/285/D14/594d2ff01c1a" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/51fd/285/D14/594d2ff020bd" blockKind="types"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/51fe/285/D14/594d2ff01a4d" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

368
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_closest_l_h.ann

@ -0,0 +1,368 @@ @@ -0,0 +1,368 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "Change_6",T , T , "RELATIVE" , 0.000000 , 61.456692 , T , T , 350 , 58 , 1 , " PR-32 : KCG limitation 5475 on gutl operators
CR scade#47 : fix ssl symbol reference issue " , T }}
Description ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: closest_lower_higher_indexes folded" , T }}
CopyRight ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , " 06/02/2017" , T }}
Author ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: J. Kirsch" , T }}
Title ::= {
{"!ed/8dba/197F/2150/59e4ad202d5e", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , " Title: diagram_fold_closest_l_h_1" , T }}
OperatorKind ::= {
{"!ed/8db1/197F/2150/59e4ad20fcb", "OperatorKind_1","Refinement" , T }}
Range ::= {
{"!ed/8dc2/197F/2150/59e4ad204f0", "Range_1","NA" , T },
{"!ed/8dc3/197F/2150/59e4ad20c0d", "Range_3","NA" , T },
{"!ed/8dc4/197F/2150/59e4ad2050d", "Range_3","NA" , T },
{"!ed/8dc5/197F/2150/59e4ad206e3a", "Range_3","NA" , T }}
Comment ::= {
{"!ed/8dc2/197F/2150/59e4ad204f0", "Comment_1","index of closest lower" , T },
{"!ed/8dc3/197F/2150/59e4ad20c0d", "Comment_1","index of the table of Hp or p or r accumulator" , T },
{"!ed/8dc4/197F/2150/59e4ad2050d", "Comment_1","input corresponding to Hp or r or p" , T },
{"!ed/8dc5/197F/2150/59e4ad206e3a", "Comment_1","value of the array of Hp or p or r" , T }}
Unit ::= {
{"!ed/8dc2/197F/2150/59e4ad204f0", "Unit_1","NA" , T },
{"!ed/8dc3/197F/2150/59e4ad20c0d", "Unit_2","NA" , T },
{"!ed/8dc4/197F/2150/59e4ad2050d", "Unit_2","NA" , T },
{"!ed/8dc5/197F/2150/59e4ad206e3a", "Unit_2","NA" , T }}
END

517
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_closest_l_h.xscade

@ -0,0 +1,517 @@ @@ -0,0 +1,517 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="fold_closest_l_h">
<inputs>
<Variable name="index_acc">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc3/197F/2150/59e4ad20c0d"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;index of the table of Hp or p or r accumulator&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="Input">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc4/197F/2150/59e4ad2050d"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;input corresponding to Hp or r or p&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="input_array_value">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc5/197F/2150/59e4ad206e3a"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;value of the array of Hp or p or r&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="index">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc2/197F/2150/59e4ad204f0"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;index of closest lower&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="l_keep1">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dbf/197F/2150/59e4ad206f54"/>
<kcg:Pragma>
keep
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="l_keep2">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc0/197F/2150/59e4ad20683c"/>
<kcg:Pragma>
keep
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="l_keep3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dc1/197F/2150/59e4ad20525a"/>
<kcg:Pragma>
keep
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dbb/197F/2150/59e4ad201254"/>
</pragmas>
</Variable>
<Variable name="_L13">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dbc/197F/2150/59e4ad20f05"/>
</pragmas>
</Variable>
<Variable name="_L15">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dbd/197F/2150/59e4ad20276a"/>
</pragmas>
</Variable>
<Variable name="_L17">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8dbe/197F/2150/59e4ad203f42"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- index = _L15; -->
<Equation>
<lefts>
<VariableRef name="index"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L15"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8db2/197F/2150/59e4ad20235"/>
</pragmas>
</Equation>
<!-- l_keep1 = index_acc; -->
<Equation>
<lefts>
<VariableRef name="l_keep1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="index_acc"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8db3/197F/2150/59e4ad204672"/>
</pragmas>
</Equation>
<!-- _L12 = Input; -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="Input"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8db4/197F/2150/59e4ad20463c"/>
</pragmas>
</Equation>
<!-- _L13 = input_array_value; -->
<Equation>
<lefts>
<VariableRef name="_L13"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="input_array_value"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8db5/197F/2150/59e4ad20448f"/>
</pragmas>
</Equation>
<!-- l_keep3 = _L12 >= _L13; -->
<Equation>
<lefts>
<VariableRef name="l_keep3"/>
</lefts>
<right>
<!-- _L12 >= _L13 -->
<BinaryOp name="1" operator="&gt;=">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L13"/>
</path>
</IdExpression>
</operands>
</BinaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/8db6/197F/2150/59e4ad2066ee"/>
</pragmas>
</Equation>
<!-- _L15 = if l_keep3 then (l_keep2) else (l_keep1); -->
<Equation>
<lefts>
<VariableRef name="_L15"/>
</lefts>
<right>
<!-- if l_keep3 then (l_keep2) else (l_keep1) -->
<IfThenElseOp name="1">
<if>
<IdExpression>
<path>
<ConstVarRef name="l_keep3"/>
</path>
</IdExpression>
</if>
<then>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="l_keep2"/>
</path>
</IdExpression>
</items>
</ListExpression>
</then>
<else>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="l_keep1"/>
</path>
</IdExpression>
</items>
</ListExpression>
</else>
</IfThenElseOp>
</right>
<pragmas>
<ed:Equation oid="!ed/8db7/197F/2150/59e4ad20247a"/>
</pragmas>
</Equation>
<!-- l_keep2 = _L17 + l_keep1; -->
<Equation>
<lefts>
<VariableRef name="l_keep2"/>
</lefts>
<right>
<!-- _L17 + l_keep1 -->
<NAryOp name="1" operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L17"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="l_keep1"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/8db8/197F/2150/59e4ad2047c9"/>
</pragmas>
</Equation>
<!-- _L17 = 1; -->
<Equation>
<lefts>
<VariableRef name="_L17"/>
</lefts>
<right>
<ConstValue value="1"/>
</right>
<pragmas>
<ed:Equation oid="!ed/8db9/197F/2150/59e4ad202c34"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/8db1/197F/2150/59e4ad20fcb" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="diagram_fold_closest_l_h_1" landscape="true" format="A4 (210 297)" oid="!ed/8dba/197F/2150/59e4ad202d5e">
<presentationElements>
<EquationGE presentable="!ed/8db2/197F/2150/59e4ad20235">
<position>
<Point x="15081" y="7541"/>
</position>
<size>
<Size width="265" height="502"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8db3/197F/2150/59e4ad204672">
<position>
<Point x="5027" y="7858"/>
</position>
<size>
<Size width="265" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8db4/197F/2150/59e4ad20463c">
<position>
<Point x="5054" y="5159"/>
</position>
<size>
<Size width="264" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8db5/197F/2150/59e4ad20448f">
<position>
<Point x="5054" y="6191"/>
</position>
<size>
<Size width="264" height="503"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8db6/197F/2150/59e4ad2066ee">
<position>
<Point x="8996" y="5583"/>
</position>
<size>
<Size width="1005" height="661"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8db4/197F/2150/59e4ad20463c" dstEquation="!ed/8db6/197F/2150/59e4ad2066ee">
<positions>
<Point x="5313" y="5419"/>
<Point x="7070" y="5419"/>
<Point x="7070" y="5800"/>
<Point x="8996" y="5800"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/8db5/197F/2150/59e4ad20448f" dstEquation="!ed/8db6/197F/2150/59e4ad2066ee">
<positions>
<Point x="5313" y="6435"/>
<Point x="7070" y="6435"/>
<Point x="7070" y="6033"/>
<Point x="8996" y="6033"/>
</positions>
</Edge>
<EquationGE presentable="!ed/8db7/197F/2150/59e4ad20247a">
<position>
<Point x="10443" y="7321"/>
</position>
<size>
<Size width="1021" height="942"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8db6/197F/2150/59e4ad2066ee" dstEquation="!ed/8db7/197F/2150/59e4ad20247a">
<positions>
<Point x="9991" y="5927"/>
<Point x="10964" y="5927"/>
<Point x="10964" y="7324"/>
</positions>
</Edge>
<EquationGE presentable="!ed/8db8/197F/2150/59e4ad2047c9">
<position>
<Point x="7408" y="7117"/>
</position>
<size>
<Size width="1006" height="662"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/8db9/197F/2150/59e4ad202c34">
<position>
<Point x="5144" y="7176"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8db9/197F/2150/59e4ad202c34" dstEquation="!ed/8db8/197F/2150/59e4ad2047c9">
<positions>
<Point x="5313" y="7345"/>
<Point x="6350" y="7345"/>
<Point x="6350" y="7345"/>
<Point x="7408" y="7345"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/8db3/197F/2150/59e4ad204672" dstEquation="!ed/8db8/197F/2150/59e4ad2047c9">
<positions>
<Point x="5292" y="8107"/>
<Point x="6350" y="8107"/>
<Point x="6350" y="7557"/>
<Point x="7408" y="7557"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/8db8/197F/2150/59e4ad2047c9" dstEquation="!ed/8db7/197F/2150/59e4ad20247a">
<positions>
<Point x="8424" y="7451"/>
<Point x="9419" y="7451"/>
<Point x="9419" y="7641"/>
<Point x="10435" y="7641"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/8db3/197F/2150/59e4ad204672" dstEquation="!ed/8db7/197F/2150/59e4ad20247a">
<positions>
<Point x="5292" y="8107"/>
<Point x="9398" y="8107"/>
<Point x="9398" y="7938"/>
<Point x="10435" y="7938"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8db7/197F/2150/59e4ad20247a" dstEquation="!ed/8db2/197F/2150/59e4ad20235">
<positions>
<Point x="11472" y="7789"/>
<Point x="13272" y="7789"/>
<Point x="13272" y="7789"/>
<Point x="15113" y="7789"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;Refinement&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR-32 : KCG limitation 5475 on gutl operators CR scade#47 : fix ssl symbol reference issue &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: closest_lower_higher_indexes folded&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot; 06/02/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot; Title: diagram_fold_closest_l_h_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: J. Kirsch&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

443
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_compute_interpolation.ann

@ -0,0 +1,443 @@ @@ -0,0 +1,443 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Comment_Graphical ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 350 },
NT_CENTERING_CENTER BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Comment_Graphical TEXT
{
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Unit_2","TBD" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Unit_2","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Unit_2","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Unit_2","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Unit_2","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Unit_2","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Unit_2","TBD" , T }}
Comment ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Comment_1","" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Comment_1","" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Comment_1","" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Comment_1","" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Comment_1","" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Comment_1","" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Comment_1","" , T }}
Range ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Range_3","[0.1;10.0]" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Range_3","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Range_3","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Range_3","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Range_3","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Range_3","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Resolution_4","TBD" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Resolution_4","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Resolution_4","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Resolution_4","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Resolution_4","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Resolution_4","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/113e/745C/15C0/58f85a8038f2", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : map_compute_interpolation_1" , T }}
Author ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "20/04/2017" , T }}
CopyRight ::= {
{"!ed/113f/745C/15C0/58f85a804773", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: compute energy interpolation for one pole (Lambda_i * Energy_i)
with lambda_i = (1/dist_i)^exp * 1/(sum[(1/dist_j)^exp])
and add it to previously computed sum of energies (acc_in)" , T }}
Change ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Comment_Graphical ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_1111",T , T , T , "RELATIVE" , 88.346458 , 290.000000 , T , 1 , "1/sum(1/dist_i^exp)" , T },
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_111",T , T , T , "RELATIVE" , 143.346451 , 165.826767 , T , 1 , "1/dist_i^exp" , T },
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_1",T , T , T , "RELATIVE" , 144.173233 , 389.173218 , T , 1 , "Energy_i" , T }}
END

879
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/fold_compute_interpolation.xscade

@ -0,0 +1,879 @@ @@ -0,0 +1,879 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="fold_compute_interpolation">
<sizeParameters>
<SizeParameter name="nb_mass_elt">
<pragmas>
<ed:SizeParameter oid="!ed/1165/745C/15C0/58f85b0d55c6"/>
</pragmas>
</SizeParameter>
<SizeParameter name="nb_distance_elt">
<pragmas>
<ed:SizeParameter oid="!ed/116b/745C/15C0/58f85b0d3fe9"/>
</pragmas>
</SizeParameter>
<SizeParameter name="nb_speed_elt">
<pragmas>
<ed:SizeParameter oid="!ed/1171/745C/15C0/58f85b0d76c1"/>
</pragmas>
</SizeParameter>
<SizeParameter name="nb_altitude_elt">
<pragmas>
<ed:SizeParameter oid="!ed/1177/745C/15C0/58f85b0d136e"/>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="acc_in">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::energy_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1359/5C75/1654/58f8a4b34795"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="dist_i">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1147/745C/15C0/58f85aa23627"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="sum_inverse">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1145/745C/15C0/58f85a912f5"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="indexes_i">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1156/745C/15C0/58f85abb4a15"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="exp">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1155/745C/15C0/58f85ab11ba2" hidden="true"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0.1;10.0]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="energy_array">
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="types_mm::energy_t"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_altitude_elt"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_speed_elt"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_distance_elt"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_mass_elt"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1368/745C/15C0/58f867ad7a50" hidden="true"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="interpol_i">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1180/745C/15C0/58f85bc418b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/11c4/745C/15C0/58f85c96212"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/125d/745C/15C0/58f86386ba9"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1263/745C/15C0/58f8638c4b54"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1269/745C/15C0/58f863b04d42"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/126f/745C/15C0/58f863b816b0"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1279/745C/15C0/58f863be1a3d"/>
</pragmas>
</Variable>
<Variable name="_L13">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1295/745C/15C0/58f863cd71d2"/>
</pragmas>
</Variable>
<Variable name="_L56">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::energy_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/135b/5C75/1654/58f8a4c96344"/>
</pragmas>
</Variable>
<Variable name="_L57">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1361/5C75/1654/58f8a4d25320"/>
</pragmas>
</Variable>
<Variable name="_L58">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3155/589C/1330/594d1b9557db"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L4 = dist_i; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="dist_i"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/11c3/745C/15C0/58f85c9677f1"/>
</pragmas>
</Equation>
<!-- _L8 = utl_mm::compute_inverse_exp(_L4, _L9); -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<!-- utl_mm::compute_inverse_exp(_L4, _L9) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::compute_inverse_exp"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/125c/745C/15C0/58f863864c89"/>
</pragmas>
</Equation>
<!-- _L9 = exp; -->
<Equation>
<lefts>
<VariableRef name="_L9"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="exp"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1262/745C/15C0/58f8638c590a"/>
</pragmas>
</Equation>
<!-- _L10 = utl_mm::compute_inverse_exp(_L11, _L12); -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<!-- utl_mm::compute_inverse_exp(_L11, _L12) -->
<CallExpression>
<operator>
<OpCall name="2">
<operator>
<OperatorRef name="utl_mm::compute_inverse_exp"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1268/745C/15C0/58f863b0675b"/>
</pragmas>
</Equation>
<!-- _L11 = sum_inverse; -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="sum_inverse"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/126e/745C/15C0/58f863b859a"/>
</pragmas>
</Equation>
<!-- _L12 = 1.0; -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<ConstValue value="1.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/1278/745C/15C0/58f863be2d34"/>
</pragmas>
</Equation>
<!-- _L13 = _L8 * _L10 * _L58; -->
<Equation>
<lefts>
<VariableRef name="_L13"/>
</lefts>
<right>
<!-- _L8 * _L10 * _L58 -->
<NAryOp name="1" operator="*">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L58"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1294/745C/15C0/58f863cdf1f"/>
</pragmas>
</Equation>
<!-- interpol_i = _L57; -->
<Equation>
<lefts>
<VariableRef name="interpol_i"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L57"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/12d2/745C/15C0/58f8650969cd"/>
</pragmas>
</Equation>
<!-- _L56 = acc_in; -->
<Equation>
<lefts>
<VariableRef name="_L56"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="acc_in"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/135a/5C75/1654/58f8a4c95374"/>
</pragmas>
</Equation>
<!-- _L57 = _L56 + _L13; -->
<Equation>
<lefts>
<VariableRef name="_L57"/>
</lefts>
<right>
<!-- _L56 + _L13 -->
<NAryOp name="1" operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L56"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L13"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/1360/5C75/1654/58f8a4d2644b"/>
</pragmas>
</Equation>
<!-- _L58 = (energy_array.[indexes_i[0]][indexes_i[1]][indexes_i[2]][indexes_i[3]] def... -->
<Equation>
<lefts>
<VariableRef name="_L58"/>
</lefts>
<right>
<!-- (energy_array.[indexes_i[0]][indexes_i[1]][indexes_i[2]][indexes_i[3]] default (0... -->
<PrjDynOp name="3">
<array>
<IdExpression>
<path>
<ConstVarRef name="energy_array"/>
</path>
</IdExpression>
</array>
<indexes>
<!-- indexes_i[0] -->
<PrjOp name="10">
<flow>
<IdExpression>
<path>
<ConstVarRef name="indexes_i"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="0"/>
</with>
</PrjOp>
<!-- indexes_i[1] -->
<PrjOp name="11">
<flow>
<IdExpression>
<path>
<ConstVarRef name="indexes_i"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="1"/>
</with>
</PrjOp>
<!-- indexes_i[2] -->
<PrjOp name="12">
<flow>
<IdExpression>
<path>
<ConstVarRef name="indexes_i"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="2"/>
</with>
</PrjOp>
<!-- indexes_i[3] -->
<PrjOp name="13">
<flow>
<IdExpression>
<path>
<ConstVarRef name="indexes_i"/>
</path>
</IdExpression>
</flow>
<with>
<ConstValue value="3"/>
</with>
</PrjOp>
</indexes>
<default>
<!-- (0.0 : float32) -->
<NumericCastOp name="2">
<type>
<TypeRef name="float32"/>
</type>
<flow>
<ConstValue value="0.0"/>
</flow>
</NumericCastOp>
</default>
</PrjDynOp>
</right>
<pragmas>
<ed:Equation oid="!ed/3154/589C/1330/594d1b957470"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/113e/745C/15C0/58f85a8038f2" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="map_compute_interpolation_1" landscape="true" format="A4 (210 297)" oid="!ed/113f/745C/15C0/58f85a804773">
<presentationElements>
<EquationGE presentable="!ed/11c3/745C/15C0/58f85c9677f1">
<position>
<Point x="7641" y="4191"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/125c/745C/15C0/58f863864c89">
<position>
<Point x="8530" y="3535"/>
</position>
<size>
<Size width="3974" height="1815"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1262/745C/15C0/58f8638c590a">
<position>
<Point x="7641" y="5503"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1262/745C/15C0/58f8638c590a" dstEquation="!ed/125c/745C/15C0/58f863864c89">
<positions>
<Point x="7895" y="5757"/>
<Point x="10520" y="5757"/>
<Point x="10520" y="5355"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/11c3/745C/15C0/58f85c9677f1" dstEquation="!ed/125c/745C/15C0/58f863864c89">
<positions>
<Point x="7895" y="4445"/>
<Point x="8043" y="4445"/>
<Point x="8043" y="4445"/>
<Point x="8530" y="4445"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1268/745C/15C0/58f863b0675b">
<position>
<Point x="8530" y="6541"/>
</position>
<size>
<Size width="3996" height="1836"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/126e/745C/15C0/58f863b859a">
<position>
<Point x="7641" y="7176"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/126e/745C/15C0/58f863b859a" dstEquation="!ed/1268/745C/15C0/58f863b0675b">
<positions>
<Point x="7895" y="7430"/>
<Point x="8043" y="7430"/>
<Point x="8043" y="7472"/>
<Point x="8530" y="7472"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/1278/745C/15C0/58f863be2d34">
<position>
<Point x="7726" y="8615"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1278/745C/15C0/58f863be2d34" dstEquation="!ed/1268/745C/15C0/58f863b0675b">
<positions>
<Point x="7895" y="8784"/>
<Point x="10541" y="8784"/>
<Point x="10541" y="8382"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1294/745C/15C0/58f863cdf1f">
<position>
<Point x="13949" y="6689"/>
</position>
<size>
<Size width="2048" height="1519"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/12d2/745C/15C0/58f8650969cd">
<position>
<Point x="19219" y="7091"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/3154/589C/1330/594d1b957470" dstEquation="!ed/1294/745C/15C0/58f863cdf1f">
<positions>
<Point x="11938" y="10626"/>
<Point x="12869" y="10626"/>
<Point x="12869" y="7832"/>
<Point x="13949" y="7832"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1268/745C/15C0/58f863b0675b" dstEquation="!ed/1294/745C/15C0/58f863cdf1f">
<positions>
<Point x="12531" y="7472"/>
<Point x="13229" y="7472"/>
<Point x="13229" y="7472"/>
<Point x="13949" y="7472"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/125c/745C/15C0/58f863864c89" dstEquation="!ed/1294/745C/15C0/58f863cdf1f">
<positions>
<Point x="12510" y="4445"/>
<Point x="13229" y="4445"/>
<Point x="13229" y="7070"/>
<Point x="13949" y="7070"/>
</positions>
</Edge>
<EquationGE presentable="!ed/135a/5C75/1654/58f8a4c95374">
<position>
<Point x="16616" y="5334"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1360/5C75/1654/58f8a4d2644b">
<position>
<Point x="17251" y="7006"/>
</position>
<size>
<Size width="1016" height="656"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1294/745C/15C0/58f863cdf1f" dstEquation="!ed/1360/5C75/1654/58f8a4d2644b">
<positions>
<Point x="16002" y="7451"/>
<Point x="16616" y="7451"/>
<Point x="16616" y="7451"/>
<Point x="17251" y="7451"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1360/5C75/1654/58f8a4d2644b" dstEquation="!ed/12d2/745C/15C0/58f8650969cd">
<positions>
<Point x="18267" y="7345"/>
<Point x="18754" y="7345"/>
<Point x="18754" y="7345"/>
<Point x="19262" y="7345"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/135a/5C75/1654/58f8a4c95374" dstEquation="!ed/1360/5C75/1654/58f8a4d2644b">
<positions>
<Point x="16870" y="5588"/>
<Point x="17060" y="5588"/>
<Point x="17060" y="7218"/>
<Point x="17251" y="7218"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/3154/589C/1330/594d1b957470">
<position>
<Point x="11769" y="10456"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : map_compute_interpolation_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;20/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: compute energy interpolation for one pole (Lambda_i * Energy_i) with lambda_i = (1/dist_i)^exp * 1/(sum[(1/dist_j)^exp]) and add it to previously computed sum of energies (acc_in)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_Graphical_1111&quot; {Comment_Graphical = &quot;1/sum(1/dist_i^exp)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_Graphical_111&quot; {Comment_Graphical = &quot;1/dist_i^exp&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_Graphical_1&quot; {Comment_Graphical = &quot;Energy_i&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

309
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_flight.ann

@ -0,0 +1,309 @@ @@ -0,0 +1,309 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/5204/285/D14/594d306f3238", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/5204/285/D14/594d306f3238", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: manage flight depending if in cruise/climb/descend
---! ToBeCompleted !--" , T }}
CopyRight ::= {
{"!ed/5204/285/D14/594d306f3238", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/5204/285/D14/594d306f3238", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "23/06/2017" , T }}
Author ::= {
{"!ed/5204/285/D14/594d306f3238", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Title ::= {
{"!ed/5204/285/D14/594d306f3238", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : manage_flight_1" , T }}
OperatorKind ::= {
{"!ed/5203/285/D14/594d306f52f0", "OperatorKind_1","TBD" , T }}
END

171
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_flight.xscade

@ -0,0 +1,171 @@ @@ -0,0 +1,171 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" name="manage_flight">
<locals>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5209/285/D14/594d31032f13"/>
</pragmas>
</Variable>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::energy_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5208/285/D14/594d31035e3e"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1, _L2 = (viab_mm::determine_viability<<_null, _null, _null, _null>>)(_null, _n... -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
<VariableRef name="_L2"/>
</lefts>
<right>
<!-- (viab_mm::determine_viability<<_null, _null, _null, _null>>)(_null, _null, _null,... -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="viab_mm::determine_viability"/>
</operator>
<instanceParameters>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
</instanceParameters>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
<IdExpression>
<path>
<NullRef/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5207/285/D14/594d310338b"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/5203/285/D14/594d306f52f0" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="manage_flight_1" landscape="true" format="A4 (210 297)" oid="!ed/5204/285/D14/594d306f3238">
<presentationElements>
<EquationGE presentable="!ed/5207/285/D14/594d310338b">
<position>
<Point x="5855" y="3336"/>
</position>
<size>
<Size width="4631" height="2916"/>
</size>
</EquationGE>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : manage_flight_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;23/06/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: manage flight depending if in cruise/climb/descend ---! ToBeCompleted !--&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

88
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission - Copie.ann

@ -0,0 +1,88 @@ @@ -0,0 +1,88 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/2add/6F08/E3C/59478648232a", "Comment_1","" , T }}
OperatorKind ::= {
{"!ed/31e2/6BFD/49C/5924224a3bb2", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/31e3/6BFD/49C/5924224a6ec1", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : " , T }}
END

501
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission.ann

@ -0,0 +1,501 @@ @@ -0,0 +1,501 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Default ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "-" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE F ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: f_mm function
Manage mission
init - launch take off - flight mission viability - unboarding
---! ToBeCompleted with call to Flight functions and end of mission!--" , T }}
CopyRight ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "23/06/2017" , T }}
Author ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Title ::= {
{"!ed/2da4/589C/1330/594d0f365c63", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : manage_mission_1" , T }}
OperatorKind ::= {
{"!ed/31e2/6BFD/49C/5924224a3bb2", "OperatorKind_1","TBD" , T }}
Resolution ::= {
{"!ed/2c25/6F08/E3C/59479a3e466e", "Resolution_4","N/A" , T },
{"!ed/2c26/6F08/E3C/59479a4e493e", "Resolution_4","N/A" , T },
{"!ed/2c27/6F08/E3C/59479a557344", "Resolution_4","N/A" , T },
{"!ed/2c28/6F08/E3C/59479a5b71c4", "Resolution_4","N/A" , T },
{"!ed/2c29/6F08/E3C/59479a644bb", "Resolution_4","N/A" , T },
{"!ed/2c2a/6F08/E3C/59479a6c53e3", "Resolution_4","TBD" , T },
{"!ed/2c2b/6F08/E3C/59479a7273f3", "Resolution_4","N/A" , T },
{"!ed/2add/6F08/E3C/59478648232a", "Resolution_4","N/A" , T },
{"!ed/2b21/6F08/E3C/59478d716897", "Resolution_4","N/A" , T },
{"!ed/2b22/6F08/E3C/5947904c72b6", "Resolution_4","N/A" , T },
{"!ed/2b2e/6F08/E3C/5947911a2719", "Resolution_4","N/A" , T },
{"!ed/2b2c/6F08/E3C/594790a12afc", "Resolution_4","TBD" , T },
{"!ed/2b2d/6F08/E3C/594790cf759c", "Resolution_4","N/A" , T },
{"!ed/2b2f/6F08/E3C/594791655679", "Resolution_4","N/A" , T },
{"!ed/2b30/6F08/E3C/594791cc5501", "Resolution_4","N/A" , T },
{"!ed/2b31/6F08/E3C/594792106ae1", "Resolution_4","0.1" , T },
{"!ed/2b38/6F08/E3C/594796224df8", "Resolution_4","N/A" , T },
{"!ed/2b3e/6F08/E3C/5947964435a0", "Resolution_4","0.1" , T },
{"!ed/2b41/6F08/E3C/5947967223b5", "Resolution_4","1" , T },
{"!ed/2b43/6F08/E3C/594796a8963", "Resolution_4","1" , T },
{"!ed/2b42/6F08/E3C/594796a07d01", "Resolution_4","1" , T },
{"!ed/2b4a/6F08/E3C/594797ec5aab", "Resolution_4","N/A" , T },
{"!ed/2cc7/6F08/E3C/5947ba4239ee", "Resolution_4","1" , T }}
Range ::= {
{"!ed/2c25/6F08/E3C/59479a3e466e", "Range_3","N/A" , T },
{"!ed/2c26/6F08/E3C/59479a4e493e", "Range_3","N/A" , T },
{"!ed/2c27/6F08/E3C/59479a557344", "Range_3","N/A" , T },
{"!ed/2c28/6F08/E3C/59479a5b71c4", "Range_3","N/A" , T },
{"!ed/2c29/6F08/E3C/59479a644bb", "Range_3","N/A" , T },
{"!ed/2c2a/6F08/E3C/59479a6c53e3", "Range_3","TBD" , T },
{"!ed/2c2b/6F08/E3C/59479a7273f3", "Range_3","N/A" , T },
{"!ed/2add/6F08/E3C/59478648232a", "Range_3","N/A" , T },
{"!ed/2b21/6F08/E3C/59478d716897", "Range_3","N/A" , T },
{"!ed/2b22/6F08/E3C/5947904c72b6", "Range_3","N/A" , T },
{"!ed/2b2e/6F08/E3C/5947911a2719", "Range_3","N/A" , T },
{"!ed/2b2c/6F08/E3C/594790a12afc", "Range_3","TBD" , T },
{"!ed/2b2d/6F08/E3C/594790cf759c", "Range_3","N/A" , T },
{"!ed/2b2f/6F08/E3C/594791655679", "Range_3","N/A" , T },
{"!ed/2b30/6F08/E3C/594791cc5501", "Range_3","N/A" , T },
{"!ed/2b31/6F08/E3C/594792106ae1", "Range_3","[1;5]" , T },
{"!ed/2b38/6F08/E3C/594796224df8", "Range_3","N/A" , T },
{"!ed/2b3e/6F08/E3C/5947964435a0", "Range_3","[1;5]" , T },
{"!ed/2b41/6F08/E3C/5947967223b5", "Range_3","[1;1000000]" , T },
{"!ed/2b43/6F08/E3C/594796a8963", "Range_3","[1;500]" , T },
{"!ed/2b42/6F08/E3C/594796a07d01", "Range_3","[-200;1000]" , T },
{"!ed/2b4a/6F08/E3C/594797ec5aab", "Range_3","N/A" , T },
{"!ed/2cc7/6F08/E3C/5947ba4239ee", "Range_3","[0;500]" , T }}
Comment ::= {
{"!ed/2c25/6F08/E3C/59479a3e466e", "Comment_1","true = mission CANCELLED" , T },
{"!ed/2c26/6F08/E3C/59479a4e493e", "Comment_1","true = mission COMPLETE
false = not mission COMPLETE" , T },
{"!ed/2c27/6F08/E3C/59479a557344", "Comment_1","true = mission ABORTED
false = not mission ABORTED" , T },
{"!ed/2c28/6F08/E3C/59479a5b71c4", "Comment_1","diagnosed catastrophic situation
true = launch emergency landing" , T },
{"!ed/2c29/6F08/E3C/59479a644bb", "Comment_1","true = start take off" , T },
{"!ed/2c2a/6F08/E3C/59479a6c53e3", "Comment_1","" , T },
{"!ed/2c2b/6F08/E3C/59479a7273f3", "Comment_1","operating point to communicate to F_FC" , T },
{"!ed/2add/6F08/E3C/59478648232a", "Comment_1","navigation parameters {Distance;Speed;Altitude} from ground station" , T },
{"!ed/2b21/6F08/E3C/59478d716897", "Comment_1","Navigation Mode: {Remote Panel/Automatic}
true = remote panel
false = automatic" , T },
{"!ed/2b22/6F08/E3C/5947904c72b6", "Comment_1","GS message to start mission
true = go
false = no go" , T },
{"!ed/2b2e/6F08/E3C/5947911a2719", "Comment_1","order to abort mission from ground station
true = abort
false = no abort" , T },
{"!ed/2b2c/6F08/E3C/594790a12afc", "Comment_1","ON/OFF CP Pushbutton status
true = ON
false = OFF" , T },
{"!ed/2b2d/6F08/E3C/594790cf759c", "Comment_1","CP PushButton to indicate to start mission
true = start
false = no start" , T },
{"!ed/2b2f/6F08/E3C/594791655679", "Comment_1","Flight mode switch selection from GS: {Automatic;RemotePanel}
true = Remote Panel
false = automatic" , T },
{"!ed/2b30/6F08/E3C/594791cc5501", "Comment_1","Bay Switch Open/Closed position
true = open
false = closed" , T },
{"!ed/2b31/6F08/E3C/594792106ae1", "Comment_1","payload mass from ground station" , T },
{"!ed/2b38/6F08/E3C/594796224df8", "Comment_1","navigation parameters {Distance;Speed;Altitude} from USB Key" , T },
{"!ed/2b3e/6F08/E3C/5947964435a0", "Comment_1","payload mass from ground station" , T },
{"!ed/2b41/6F08/E3C/5947967223b5", "Comment_1","continuously computed estimated ground distance flown since take-off" , T },
{"!ed/2b43/6F08/E3C/594796a8963", "Comment_1","continuously computed instantaneous air speed" , T },
{"!ed/2b42/6F08/E3C/594796a07d01", "Comment_1","continuously computed instantaneous altitude" , T },
{"!ed/2b4a/6F08/E3C/594797ec5aab", "Comment_1","Flight Mode" , T },
{"!ed/2cc7/6F08/E3C/5947ba4239ee", "Comment_1","current energy storage" , T }}
Unit ::= {
{"!ed/2c25/6F08/E3C/59479a3e466e", "Unit_2","N/A" , T },
{"!ed/2c26/6F08/E3C/59479a4e493e", "Unit_2","N/A" , T },
{"!ed/2c27/6F08/E3C/59479a557344", "Unit_2","N/A" , T },
{"!ed/2c28/6F08/E3C/59479a5b71c4", "Unit_2","N/A" , T },
{"!ed/2c29/6F08/E3C/59479a644bb", "Unit_2","N/A" , T },
{"!ed/2c2a/6F08/E3C/59479a6c53e3", "Unit_2","TBD" , T },
{"!ed/2c2b/6F08/E3C/59479a7273f3", "Unit_2","N/A" , T },
{"!ed/2add/6F08/E3C/59478648232a", "Unit_2","N/A" , T },
{"!ed/2b21/6F08/E3C/59478d716897", "Unit_2","N/A" , T },
{"!ed/2b22/6F08/E3C/5947904c72b6", "Unit_2","N/A" , T },
{"!ed/2b2e/6F08/E3C/5947911a2719", "Unit_2","N/A" , T },
{"!ed/2b2c/6F08/E3C/594790a12afc", "Unit_2","TBD" , T },
{"!ed/2b2d/6F08/E3C/594790cf759c", "Unit_2","N/A" , T },
{"!ed/2b2f/6F08/E3C/594791655679", "Unit_2","N/A" , T },
{"!ed/2b30/6F08/E3C/594791cc5501", "Unit_2","N/A" , T },
{"!ed/2b31/6F08/E3C/594792106ae1", "Unit_2","kg" , T },
{"!ed/2b38/6F08/E3C/594796224df8", "Unit_2","N/A" , T },
{"!ed/2b3e/6F08/E3C/5947964435a0", "Unit_2","kg" , T },
{"!ed/2b41/6F08/E3C/5947967223b5", "Unit_2","m" , T },
{"!ed/2b43/6F08/E3C/594796a8963", "Unit_2","km.h-1" , T },
{"!ed/2b42/6F08/E3C/594796a07d01", "Unit_2","m" , T },
{"!ed/2b4a/6F08/E3C/594797ec5aab", "Unit_2","N/A" , T },
{"!ed/2cc7/6F08/E3C/5947ba4239ee", "Unit_2","kJ" , T }}
Comment_Default ::= {
{"!ed/2de2/589C/1330/594d106b62c0", "Comment_Default_1","-" , F }}
END

1319
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_mission.xscade

File diff suppressed because it is too large Load Diff

411
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_payload_boarding.ann

@ -0,0 +1,411 @@ @@ -0,0 +1,411 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Default ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "-" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE F ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/2833/1042/DCC/594cb91134b", "Unit_2","TBD" , T },
{"!ed/2842/1042/DCC/594cb9789bc", "Unit_2","TBD" , T },
{"!ed/28ff/6F08/E3C/594773672af8", "Unit_2","TBD" , T },
{"!ed/2a68/6F08/E3C/594776292186", "Unit_2","TBD" , T }}
Comment_Default ::= {
{"!ed/299c/6F08/E3C/59477478729f", "Comment_Default_1","-" , F },
{"!ed/29f4/6F08/E3C/59477550136e", "Comment_Default_1","-" , F }}
Comment ::= {
{"!ed/2833/1042/DCC/594cb91134b", "Comment_1","" , T },
{"!ed/2842/1042/DCC/594cb9789bc", "Comment_1","" , T },
{"!ed/28ff/6F08/E3C/594773672af8", "Comment_1","bay switch status
true = OPEN
false = CLOSED" , T },
{"!ed/2a68/6F08/E3C/594776292186", "Comment_1","" , T }}
Range ::= {
{"!ed/2833/1042/DCC/594cb91134b", "Range_3","TBD" , T },
{"!ed/2842/1042/DCC/594cb9789bc", "Range_3","TBD" , T },
{"!ed/28ff/6F08/E3C/594773672af8", "Range_3","TBD" , T },
{"!ed/2a68/6F08/E3C/594776292186", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/2833/1042/DCC/594cb91134b", "Resolution_4","TBD" , T },
{"!ed/2842/1042/DCC/594cb9789bc", "Resolution_4","TBD" , T },
{"!ed/28ff/6F08/E3C/594773672af8", "Resolution_4","TBD" , T },
{"!ed/2a68/6F08/E3C/594776292186", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/2917/623E/DF0/594380793291", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/2918/623E/DF0/594380796a8", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : manage_payload_boarding_1" , T }}
Author ::= {
{"!ed/2918/623E/DF0/594380796a8", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/2918/623E/DF0/594380796a8", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "06/06/2017" , T }}
CopyRight ::= {
{"!ed/2918/623E/DF0/594380796a8", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/2918/623E/DF0/594380796a8", "Description_5",T , T , "RELATIVE" , 352.519684 , 0.000000 , T , T , 400 , 120 , 1 , " Description: A payload boarding sequence consists in
1. The bay is opened using the BAY SWITCH (Bayswitch is set to OPEN)
2. The payload is boarded in the bay
3. The bay is closed using the BAY SWITCH (Bayswitch is set to CLOSED)
" , T }}
Change ::= {
{"!ed/2918/623E/DF0/594380796a8", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

674
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/manage_payload_boarding.xscade

@ -0,0 +1,674 @@ @@ -0,0 +1,674 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" visibility="private" name="manage_payload_boarding">
<inputs>
<Variable name="bay_switch_open">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/28ff/6F08/E3C/594773672af8"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;bay switch status true = OPEN false = CLOSED&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="payload_mass_in">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::mass_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2a68/6F08/E3C/594776292186"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="payload_mass">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::mass_t"/>
</type>
</NamedType>
</type>
<default>
<ConstValue value="0.0"/>
</default>
<pragmas>
<ed:Variable oid="!ed/2833/1042/DCC/594cb91134b"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="boarding_ended">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<default>
<ConstValue value="false"/>
</default>
<pragmas>
<ed:Variable oid="!ed/2842/1042/DCC/594cb9789bc"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="LL_valve_opening">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/299c/6F08/E3C/59477478729f"/>
</pragmas>
</Variable>
<Variable name="LL_valve_closing">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29f4/6F08/E3C/59477550136e"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/299b/6F08/E3C/594774725267"/>
</pragmas>
</Variable>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2999/6F08/E3C/594774727453"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29e6/6F08/E3C/5947751476aa"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/29f3/6F08/E3C/59477548228f"/>
</pragmas>
</Variable>
</locals>
<data>
<StateMachine name="board_payload">
<states>
<State initial="true" name="Init_Boarding">
<unless>
<Transition kind="restart">
<target>
<StateRef name="Board_Payload"/>
</target>
<condition>
<IdExpression>
<path>
<ConstVarRef name="LL_valve_opening"/>
</path>
</IdExpression>
</condition>
<pragmas>
<ed:Transition oid="!ed/2a18/6F08/E3C/59477598407f"/>
</pragmas>
</Transition>
</unless>
<pragmas>
<ed:State oid="!ed/2900/6F08/E3C/594773a23967"/>
</pragmas>
</State>
<State name="Board_Payload">
<unless>
<Transition kind="restart">
<target>
<StateRef name="End_Boarding"/>
</target>
<condition>
<IdExpression>
<path>
<ConstVarRef name="LL_valve_closing"/>
</path>
</IdExpression>
</condition>
<pragmas>
<ed:Transition oid="!ed/2a35/6F08/E3C/594775ae6931"/>
</pragmas>
</Transition>
</unless>
<pragmas>
<ed:State oid="!ed/29fa/6F08/E3C/5947756d4081"/>
</pragmas>
</State>
<State name="End_Boarding">
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::mass_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2aa2/6F08/E3C/5947767e5cab"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2aa9/6F08/E3C/594776891122"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = payload_mass_in; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="payload_mass_in"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2aa1/6F08/E3C/5947767e6e24"/>
</pragmas>
</Equation>
<!-- _L2 = true; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<ConstValue value="true"/>
</right>
<pragmas>
<ed:Equation oid="!ed/2aa8/6F08/E3C/594776893566"/>
</pragmas>
</Equation>
<!-- payload_mass = _L1; -->
<Equation>
<lefts>
<VariableRef name="payload_mass"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2834/1042/DCC/594cb929663d"/>
</pragmas>
</Equation>
<!-- boarding_ended = _L2; -->
<Equation>
<lefts>
<VariableRef name="boarding_ended"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2843/1042/DCC/594cb97f7675"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:State oid="!ed/2a02/6F08/E3C/5947757c44cd"/>
</pragmas>
</State>
</states>
<pragmas>
<ed:StateMachine oid="!ed/28f7/6F08/E3C/594773426495"/>
</pragmas>
</StateMachine>
<!-- _L1 = utl_mm::RisingEdge(_L2); -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<!-- utl_mm::RisingEdge(_L2) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::RisingEdge"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2998/6F08/E3C/594774724eb4"/>
</pragmas>
</Equation>
<!-- _L2 = bay_switch_open; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="bay_switch_open"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/299a/6F08/E3C/594774723921"/>
</pragmas>
</Equation>
<!-- LL_valve_opening = _L1; -->
<Equation>
<lefts>
<VariableRef name="LL_valve_opening"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/299d/6F08/E3C/5947748a2049"/>
</pragmas>
</Equation>
<!-- _L3 = utl_mm::FallingEdge(_L4); -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- utl_mm::FallingEdge(_L4) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::FallingEdge"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29e5/6F08/E3C/594775147072"/>
</pragmas>
</Equation>
<!-- _L4 = bay_switch_open; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="bay_switch_open"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29f2/6F08/E3C/594775485fba"/>
</pragmas>
</Equation>
<!-- LL_valve_closing = _L3; -->
<Equation>
<lefts>
<VariableRef name="LL_valve_closing"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/29f5/6F08/E3C/5947755a6862"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/2917/623E/DF0/594380793291" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="manage_payload_boarding_1" landscape="true" format="A4 (210 297)" oid="!ed/2918/623E/DF0/594380796a8">
<presentationElements>
<StateMachineGE presentable="!ed/28f7/6F08/E3C/594773426495">
<position>
<Point x="5948" y="6181"/>
</position>
<size>
<Size width="12912" height="5228"/>
</size>
</StateMachineGE>
<StateGE presentable="!ed/2900/6F08/E3C/594773a23967">
<position>
<Point x="6392" y="6562"/>
</position>
<size>
<Size width="2964" height="1016"/>
</size>
</StateGE>
<EquationGE presentable="!ed/2998/6F08/E3C/594774724eb4">
<position>
<Point x="3294" y="4098"/>
</position>
<size>
<Size width="3360" height="715"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/299a/6F08/E3C/594774723921">
<position>
<Point x="2582" y="4191"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/299d/6F08/E3C/5947748a2049">
<position>
<Point x="7345" y="4191"/>
</position>
<size>
<Size width="360" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29e5/6F08/E3C/594775147072">
<position>
<Point x="3302" y="5165"/>
</position>
<size>
<Size width="3360" height="714"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/29f2/6F08/E3C/594775485fba">
<position>
<Point x="2582" y="5249"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29f2/6F08/E3C/594775485fba" dstEquation="!ed/29e5/6F08/E3C/594775147072">
<positions>
<Point x="2836" y="5503"/>
<Point x="3069" y="5503"/>
<Point x="3069" y="5503"/>
<Point x="3302" y="5503"/>
</positions>
</Edge>
<EquationGE presentable="!ed/29f5/6F08/E3C/5947755a6862">
<position>
<Point x="7451" y="5271"/>
</position>
<size>
<Size width="359" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/29e5/6F08/E3C/594775147072" dstEquation="!ed/29f5/6F08/E3C/5947755a6862">
<positions>
<Point x="6668" y="5525"/>
<Point x="7049" y="5525"/>
<Point x="7049" y="5525"/>
<Point x="7451" y="5525"/>
</positions>
</Edge>
<StateGE presentable="!ed/29fa/6F08/E3C/5947756d4081">
<position>
<Point x="6308" y="8911"/>
</position>
<size>
<Size width="3027" height="1651"/>
</size>
</StateGE>
<StateGE presentable="!ed/2a02/6F08/E3C/5947757c44cd">
<position>
<Point x="10922" y="6414"/>
</position>
<size>
<Size width="7176" height="4340"/>
</size>
</StateGE>
<TransitionGE presentable="!ed/2a18/6F08/E3C/59477598407f">
<positions>
<Point x="8043" y="7578"/>
<Point x="8065" y="7768"/>
<Point x="6710" y="8721"/>
<Point x="6773" y="8911"/>
</positions>
<labelSize>
<Size width="3196" height="381"/>
</labelSize>
<labelPos>
<Point x="6519" y="7663"/>
</labelPos>
<slashPos>
<Point x="8996" y="7662"/>
</slashPos>
</TransitionGE>
<TransitionGE presentable="!ed/2a35/6F08/E3C/594775ae6931">
<positions>
<Point x="9335" y="9673"/>
<Point x="9694" y="9652"/>
<Point x="10520" y="9673"/>
<Point x="10922" y="9652"/>
</positions>
<labelSize>
<Size width="3196" height="381"/>
</labelSize>
<labelPos>
<Point x="8275" y="8552"/>
</labelPos>
<slashPos>
<Point x="10753" y="8551"/>
</slashPos>
</TransitionGE>
<EquationGE presentable="!ed/2aa1/6F08/E3C/5947767e6e24">
<position>
<Point x="13526" y="8636"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/2aa8/6F08/E3C/594776893566">
<position>
<Point x="11917" y="7747"/>
</position>
<size>
<Size width="170" height="318"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2834/1042/DCC/594cb929663d">
<position>
<Point x="14817" y="8636"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2aa1/6F08/E3C/5947767e6e24" dstEquation="!ed/2834/1042/DCC/594cb929663d">
<positions>
<Point x="13780" y="8890"/>
<Point x="14309" y="8890"/>
<Point x="14309" y="8890"/>
<Point x="14859" y="8890"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2843/1042/DCC/594cb97f7675">
<position>
<Point x="14817" y="7662"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2aa8/6F08/E3C/594776893566" dstEquation="!ed/2843/1042/DCC/594cb97f7675">
<positions>
<Point x="12086" y="7916"/>
<Point x="13653" y="7916"/>
<Point x="13653" y="7916"/>
<Point x="14859" y="7916"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2998/6F08/E3C/594774724eb4" dstEquation="!ed/299d/6F08/E3C/5947748a2049">
<positions>
<Point x="6646" y="4466"/>
<Point x="6985" y="4466"/>
<Point x="6985" y="4466"/>
<Point x="7345" y="4466"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/299a/6F08/E3C/594774723921" dstEquation="!ed/2998/6F08/E3C/594774724eb4">
<positions>
<Point x="2836" y="4445"/>
<Point x="3069" y="4445"/>
<Point x="3069" y="4445"/>
<Point x="3302" y="4445"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : manage_payload_boarding_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;06/06/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: A payload boarding sequence consists in 1.&#x9;The bay is opened using the BAY SWITCH (Bayswitch is set to OPEN) 2.&#x9;The payload is boarded in the bay 3.&#x9;The bay is closed using the BAY SWITCH (Bayswitch is set to CLOSED) &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

379
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_bool_to_truthtable.ann

@ -0,0 +1,379 @@ @@ -0,0 +1,379 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Unit_2","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Unit_2","TBD" , T }}
Comment ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Comment_1","" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Comment_1","" , T }}
Range ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Range_3","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Resolution_4","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/31dd/589C/1330/594d2350aeb", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/31de/589C/1330/594d2350a", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : " , T }}
Author ::= {
{"!ed/31de/589C/1330/594d2350a", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/31de/589C/1330/594d2350a", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "dd/mm/yyyy" , T }}
CopyRight ::= {
{"!ed/31de/589C/1330/594d2350a", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/31de/589C/1330/594d2350a", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: " , T }}
Change ::= {
{"!ed/31de/589C/1330/594d2350a", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

294
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_bool_to_truthtable.xscade

@ -0,0 +1,294 @@ @@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="node" name="map_bool_to_truthtable">
<inputs>
<Variable name="Input1">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/31e5/589C/1330/594d239d43a3"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="Output1">
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/31e6/589C/1330/594d23ac1389"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<data>
<IfBlock name="IfBlock1">
<block>
<IfNode>
<if>
<IdExpression>
<path>
<ConstVarRef name="Input1"/>
</path>
</IdExpression>
</if>
<then>
<Action>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/325b/589C/1330/594d24466243"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- Output1 = _L1; -->
<Equation>
<lefts>
<VariableRef name="Output1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3233/589C/1330/594d24402c6b"/>
</pragmas>
</Equation>
<!-- _L1 = T; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="T"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/325a/589C/1330/594d24466407"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Action oid="!ed/3229/589C/1330/594d243159b5"/>
</pragmas>
</Action>
</then>
<else>
<Action>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="truthTablesValues_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3283/589C/1330/594d244d3e9f"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- Output1 = _L1; -->
<Equation>
<lefts>
<VariableRef name="Output1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/323f/589C/1330/594d24446102"/>
</pragmas>
</Equation>
<!-- _L1 = F; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="F"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3282/589C/1330/594d244d40f4"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Action oid="!ed/322a/589C/1330/594d24316fa1"/>
</pragmas>
</Action>
</else>
<pragmas>
<ed:IfNode oid="!ed/3228/589C/1330/594d2431434e"/>
</pragmas>
</IfNode>
</block>
<pragmas>
<ed:IfBlock oid="!ed/3223/589C/1330/594d24306f4c"/>
</pragmas>
</IfBlock>
</data>
<pragmas>
<ed:Operator oid="!ed/31dd/589C/1330/594d2350aeb" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="map_bool_to_truthtable_1" landscape="true" format="A4 (210 297)" oid="!ed/31de/589C/1330/594d2350a">
<presentationElements>
<IfBlockGE presentable="!ed/3223/589C/1330/594d24306f4c">
<position>
<Point x="2096" y="4191"/>
</position>
<size>
<Size width="7197" height="2858"/>
</size>
</IfBlockGE>
<ActionGE presentable="!ed/3229/589C/1330/594d243159b5">
<position>
<Point x="3556" y="4593"/>
</position>
<size>
<Size width="5080" height="741"/>
</size>
</ActionGE>
<ActionGE presentable="!ed/322a/589C/1330/594d24316fa1">
<position>
<Point x="3556" y="5546"/>
</position>
<size>
<Size width="5080" height="741"/>
</size>
</ActionGE>
<IfNodeGE labelWidth="1249" presentable="!ed/3228/589C/1330/594d2431434e">
<position>
<Point x="2456" y="4657"/>
</position>
</IfNodeGE>
<EquationGE presentable="!ed/3233/589C/1330/594d24402c6b">
<position>
<Point x="6541" y="4720"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_OUTPUT" presentable="!ed/323f/589C/1330/594d24446102">
<position>
<Point x="6498" y="5588"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/325a/589C/1330/594d24466407">
<position>
<Point x="4657" y="4805"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/325a/589C/1330/594d24466407" dstEquation="!ed/3233/589C/1330/594d24402c6b">
<positions>
<Point x="4826" y="4974"/>
<Point x="5694" y="4974"/>
<Point x="5694" y="4974"/>
<Point x="6583" y="4974"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/3282/589C/1330/594d244d40f4">
<position>
<Point x="4551" y="5673"/>
</position>
<size>
<Size width="169" height="317"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3282/589C/1330/594d244d40f4" dstEquation="!ed/323f/589C/1330/594d24446102">
<positions>
<Point x="4720" y="5842"/>
<Point x="5630" y="5842"/>
<Point x="5630" y="5842"/>
<Point x="6541" y="5842"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;dd/mm/yyyy&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : &quot;}
</kcg:Pragma>
</pragmas>
</Operator>

385
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_combine_values.ann

@ -0,0 +1,385 @@ @@ -0,0 +1,385 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/4fe0/654E/1838/58f712742c4f", "Comment_1","" , T },
{"!ed/504a/654E/1838/58f712f7289c", "Comment_1","" , T },
{"!ed/4fde/654E/1838/58f71263290a", "Comment_1","" , T },
{"!ed/4fdf/654E/1838/58f712662bc8", "Comment_1","" , T }}
Unit ::= {
{"!ed/4fe0/654E/1838/58f712742c4f", "Unit_2","TBD" , T },
{"!ed/504a/654E/1838/58f712f7289c", "Unit_2","TBD" , T },
{"!ed/4fde/654E/1838/58f71263290a", "Unit_2","TBD" , T },
{"!ed/4fdf/654E/1838/58f712662bc8", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/504a/654E/1838/58f712f7289c", "Range_3","TBD" , T },
{"!ed/4fde/654E/1838/58f71263290a", "Range_3","TBD" , T },
{"!ed/4fdf/654E/1838/58f712662bc8", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/504a/654E/1838/58f712f7289c", "Resolution_4","TBD" , T },
{"!ed/4fde/654E/1838/58f71263290a", "Resolution_4","TBD" , T },
{"!ed/4fdf/654E/1838/58f712662bc8", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/4fdc/654E/1838/58f7124f4d87", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : map_combine_values_1" , T }}
Author ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/04/2017" , T }}
CopyRight ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: combine an element to an array" , T }}
Change ::= {
{"!ed/4fdd/654E/1838/58f7124f368", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

367
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_combine_values.xscade

@ -0,0 +1,367 @@ @@ -0,0 +1,367 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="map_combine_values">
<sizeParameters>
<SizeParameter name="nb_values">
<pragmas>
<ed:SizeParameter oid="!ed/4fe0/654E/1838/58f712742c4f"/>
</pragmas>
</SizeParameter>
</sizeParameters>
<inputs>
<Variable name="val">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/4fde/654E/1838/58f71263290a"/>
</pragmas>
</Variable>
<Variable name="array_val">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/4fdf/654E/1838/58f712662bc8"/>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="out_array">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- nb_values + 1 -->
<NAryOp operator="+">
<operands>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
<ConstValue value="1"/>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/504a/654E/1838/58f712f7289c"/>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/5021/654E/1838/58f712b24aa1"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/5023/654E/1838/58f712b274b1"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="1"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/5037/654E/1838/58f712bd4da5"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="'T"/>
</type>
</NamedType>
</type>
<size>
<!-- 1 + nb_values -->
<NAryOp operator="+">
<operands>
<ConstValue value="1"/>
<IdExpression>
<path>
<ConstVarRef name="nb_values"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/5043/654E/1838/58f712c34a57"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L4 = val; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="val"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5020/654E/1838/58f712b2c98"/>
</pragmas>
</Equation>
<!-- _L5 = array_val; -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="array_val"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5022/654E/1838/58f712b26d4c"/>
</pragmas>
</Equation>
<!-- _L6 = _L4 ^ 1; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<!-- _L4 ^ 1 -->
<ScalarToVectorOp name="1">
<flow>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</items>
</ListExpression>
</flow>
<size>
<ConstValue value="1"/>
</size>
</ScalarToVectorOp>
</right>
<pragmas>
<ed:Equation oid="!ed/5036/654E/1838/58f712bd6f6a"/>
</pragmas>
</Equation>
<!-- _L7 = _L6 @ _L5; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<!-- _L6 @ _L5 -->
<NAryOp name="1" operator="@">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/5042/654E/1838/58f712c3474f"/>
</pragmas>
</Equation>
<!-- out_array = _L7; -->
<Equation>
<lefts>
<VariableRef name="out_array"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/5054/654E/1838/58f7130b334b"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/4fdc/654E/1838/58f7124f4d87" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="map_combine_values_1" landscape="true" format="A4 (210 297)" oid="!ed/4fdd/654E/1838/58f7124f368">
<presentationElements>
<EquationGE presentable="!ed/5020/654E/1838/58f712b2c98">
<position>
<Point x="2413" y="4085"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5022/654E/1838/58f712b26d4c">
<position>
<Point x="2413" y="4699"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5036/654E/1838/58f712bd6f6a">
<position>
<Point x="3831" y="3852"/>
</position>
<size>
<Size width="974" height="974"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/5020/654E/1838/58f712b2c98" dstEquation="!ed/5036/654E/1838/58f712bd6f6a">
<positions>
<Point x="2667" y="4339"/>
<Point x="3239" y="4339"/>
<Point x="3239" y="4339"/>
<Point x="3831" y="4339"/>
</positions>
</Edge>
<EquationGE presentable="!ed/5042/654E/1838/58f712c3474f">
<position>
<Point x="5757" y="4297"/>
</position>
<size>
<Size width="974" height="974"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/5054/654E/1838/58f7130b334b">
<position>
<Point x="7112" y="4530"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/5042/654E/1838/58f712c3474f" dstEquation="!ed/5054/654E/1838/58f7130b334b">
<positions>
<Point x="6731" y="4784"/>
<Point x="6943" y="4784"/>
<Point x="6943" y="4784"/>
<Point x="7154" y="4784"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/5022/654E/1838/58f712b26d4c" dstEquation="!ed/5042/654E/1838/58f712c3474f">
<positions>
<Point x="2667" y="4953"/>
<Point x="4212" y="4953"/>
<Point x="4212" y="4953"/>
<Point x="5757" y="4953"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/5036/654E/1838/58f712bd6f6a" dstEquation="!ed/5042/654E/1838/58f712c3474f">
<positions>
<Point x="4805" y="4339"/>
<Point x="5271" y="4339"/>
<Point x="5271" y="4614"/>
<Point x="5757" y="4614"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : map_combine_values_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_1&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_1&quot; {Date = &quot;06/20/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_1&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_1&quot; {Description = &quot; Description: combine poles into vectors&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_1&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

389
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_distances.ann

@ -0,0 +1,389 @@ @@ -0,0 +1,389 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/10d3/4B98/1E78/58f5f2c46469", "Comment_1","" , T },
{"!ed/10dd/4B98/1E78/58f5f2e250cd", "Comment_1","" , T },
{"!ed/10c0/4B98/1E78/58f5f29c2458", "Comment_1","" , T },
{"!ed/10d2/4B98/1E78/58f5f2b93129", "Comment_1","" , T }}
Unit ::= {
{"!ed/10d3/4B98/1E78/58f5f2c46469", "Unit_2","TBD" , T },
{"!ed/10dd/4B98/1E78/58f5f2e250cd", "Unit_2","TBD" , T },
{"!ed/10c0/4B98/1E78/58f5f29c2458", "Unit_2","TBD" , T },
{"!ed/10d2/4B98/1E78/58f5f2b93129", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/10d3/4B98/1E78/58f5f2c46469", "Range_3","TBD" , T },
{"!ed/10dd/4B98/1E78/58f5f2e250cd", "Range_3","TBD" , T },
{"!ed/10c0/4B98/1E78/58f5f29c2458", "Range_3","TBD" , T },
{"!ed/10d2/4B98/1E78/58f5f2b93129", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/10d3/4B98/1E78/58f5f2c46469", "Resolution_4","TBD" , T },
{"!ed/10dd/4B98/1E78/58f5f2e250cd", "Resolution_4","TBD" , T },
{"!ed/10c0/4B98/1E78/58f5f29c2458", "Resolution_4","TBD" , T },
{"!ed/10d2/4B98/1E78/58f5f2b93129", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/10be/4B98/1E78/58f5f28f745d", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : mapfold_compute_distances_1" , T }}
Author ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "18/04/2018" , T }}
CopyRight ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
computes the distance from the input parameters (4 parameters vector) to the vector in the response surface
checks if distance is zero (inferior to epsilon)" , T }}
Change ::= {
{"!ed/10bf/4B98/1E78/58f5f28fc06", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

770
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_distances.xscade

@ -0,0 +1,770 @@ @@ -0,0 +1,770 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" visibility="private" name="map_compute_distances">
<inputs>
<Variable name="intput_param">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10c0/4B98/1E78/58f5f29c2458"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="resp_vector">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10d2/4B98/1E78/58f5f2b93129"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="distance">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/10d3/4B98/1E78/58f5f2c46469"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="is_distance_null">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/10dd/4B98/1E78/58f5f2e250cd"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10e7/4B98/1E78/58f5f3343e26"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10e9/4B98/1E78/58f5f3346ced"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/10f7/4B98/1E78/58f5f3387e95"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/112a/4B98/1E78/58f5f37dea0"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1139/4B98/1E78/58f5f38c1e99"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/30aa/4B98/1E78/58f5f6573c4a"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/30a9/4B98/1E78/58f5f6574a49"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2e48/1A70/1E14/58f638f91402"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/1a0a/654E/1838/58f70be97f20"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/1a10/654E/1838/58f70bee6c9b"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = intput_param; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="intput_param"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10e6/4B98/1E78/58f5f3341e65"/>
</pragmas>
</Equation>
<!-- _L2 = resp_vector; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="resp_vector"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10e8/4B98/1E78/58f5f3342b57"/>
</pragmas>
</Equation>
<!-- _L3 = (map $-$ <<4>>)(_L1, _L2); -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<!-- (map $-$ <<4>>)(_L1, _L2) -->
<CallExpression>
<operator>
<IteratorOp name="2" iterator="map">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="$-$"/>
</operator>
</OpCall>
</operator>
<size>
<ConstValue value="4"/>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/10f6/4B98/1E78/58f5f338e41"/>
</pragmas>
</Equation>
<!-- _L5 = (fold $+$ <<4>>)(_L6, _L12); -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- (fold $+$ <<4>>)(_L6, _L12) -->
<CallExpression>
<operator>
<IteratorOp name="4" iterator="fold">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="$+$"/>
</operator>
</OpCall>
</operator>
<size>
<ConstValue value="4"/>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1129/4B98/1E78/58f5f37d6435"/>
</pragmas>
</Equation>
<!-- _L6 = 0.0; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<ConstValue value="0.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/1138/4B98/1E78/58f5f38c383d"/>
</pragmas>
</Equation>
<!-- distance = _L11; -->
<Equation>
<lefts>
<VariableRef name="distance"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/30a3/4B98/1E78/58f5f63d5542"/>
</pragmas>
</Equation>
<!-- _L8, _L9 = utl_mm::verify_epsilon(_L11, _L10); -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- utl_mm::verify_epsilon(_L11, _L10) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::verify_epsilon"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/30a8/4B98/1E78/58f5f657383a"/>
</pragmas>
</Equation>
<!-- _L10 = epsilon_Cst; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="epsilon_Cst"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2e47/1A70/1E14/58f638f94f66"/>
</pragmas>
</Equation>
<!-- _ = _L8; -->
<Equation>
<lefts>
<VariableRef name="_"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2e4f/1A70/1E14/58f63923757"/>
</pragmas>
</Equation>
<!-- is_distance_null = _L9; -->
<Equation>
<lefts>
<VariableRef name="is_distance_null"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2e55/1A70/1E14/58f639337b5a"/>
</pragmas>
</Equation>
<!-- _L11 = utl_mm::SqrtR32(_L5); -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<!-- utl_mm::SqrtR32(_L5) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::SqrtR32"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1a09/654E/1838/58f70be9584d"/>
</pragmas>
</Equation>
<!-- _L12 = (map utl_mm::Square <<4>>)(_L3); -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<!-- (map utl_mm::Square <<4>>)(_L3) -->
<CallExpression>
<operator>
<IteratorOp name="6" iterator="map">
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="utl_mm::Square"/>
</operator>
</OpCall>
</operator>
<size>
<ConstValue value="4"/>
</size>
</IteratorOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/1a0f/654E/1838/58f70bee1ab7"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/10be/4B98/1E78/58f5f28f745d" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>computes the distance from the input parameters (4 parameters vector) to the vector in the response surface</comment>
<comment>checks if distance is zero (inferior to epsilon)</comment>
<diagrams>
<NetDiagram name="map_compute_distances_1" landscape="true" format="A4 (210 297)" oid="!ed/10bf/4B98/1E78/58f5f28fc06">
<presentationElements>
<EquationGE presentable="!ed/10e6/4B98/1E78/58f5f3341e65">
<position>
<Point x="2053" y="5313"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10e8/4B98/1E78/58f5f3342b57">
<position>
<Point x="2053" y="6011"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/10f6/4B98/1E78/58f5f338e41">
<position>
<Point x="2638" y="4882"/>
</position>
<size>
<Size width="2238" height="2069"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10e6/4B98/1E78/58f5f3341e65" dstEquation="!ed/10f6/4B98/1E78/58f5f338e41">
<positions>
<Point x="2307" y="5567"/>
<Point x="2477" y="5567"/>
<Point x="2477" y="5567"/>
<Point x="2646" y="5567"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/10e8/4B98/1E78/58f5f3342b57" dstEquation="!ed/10f6/4B98/1E78/58f5f338e41">
<positions>
<Point x="2307" y="6265"/>
<Point x="2477" y="6265"/>
<Point x="2477" y="6265"/>
<Point x="2646" y="6265"/>
</positions>
</Edge>
<EquationGE presentable="!ed/1129/4B98/1E78/58f5f37d6435">
<position>
<Point x="9271" y="4784"/>
</position>
<size>
<Size width="2259" height="2069"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/1138/4B98/1E78/58f5f38c383d">
<position>
<Point x="8488" y="4276"/>
</position>
<size>
<Size width="169" height="318"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1138/4B98/1E78/58f5f38c383d" dstEquation="!ed/1129/4B98/1E78/58f5f37d6435">
<positions>
<Point x="8657" y="4445"/>
<Point x="8805" y="4445"/>
<Point x="8805" y="5482"/>
<Point x="9271" y="5482"/>
</positions>
</Edge>
<EquationGE presentable="!ed/30a3/4B98/1E78/58f5f63d5542">
<position>
<Point x="16023" y="5228"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/30a8/4B98/1E78/58f5f657383a">
<position>
<Point x="16002" y="6414"/>
</position>
<size>
<Size width="3572" height="2069"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/2e47/1A70/1E14/58f638f94f66">
<position>
<Point x="17230" y="8636"/>
</position>
<size>
<Size width="170" height="317"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2e4f/1A70/1E14/58f63923757">
<position>
<Point x="20045" y="6837"/>
</position>
<size>
<Size width="508" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2e55/1A70/1E14/58f639337b5a">
<position>
<Point x="20045" y="7535"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1a09/654E/1838/58f70be9584d">
<position>
<Point x="12171" y="4784"/>
</position>
<size>
<Size width="3191" height="2069"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/1a0f/654E/1838/58f70bee1ab7">
<position>
<Point x="5525" y="4890"/>
</position>
<size>
<Size width="3106" height="2069"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/10f6/4B98/1E78/58f5f338e41" dstEquation="!ed/1a0f/654E/1838/58f70bee1ab7">
<positions>
<Point x="4868" y="5927"/>
<Point x="5482" y="5927"/>
<Point x="5482" y="5927"/>
<Point x="5525" y="5927"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/1a0f/654E/1838/58f70bee1ab7" dstEquation="!ed/1129/4B98/1E78/58f5f37d6435">
<positions>
<Point x="8636" y="5927"/>
<Point x="8932" y="5927"/>
<Point x="8932" y="6160"/>
<Point x="9271" y="6160"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1a09/654E/1838/58f70be9584d" dstEquation="!ed/30a3/4B98/1E78/58f5f63d5542">
<positions>
<Point x="15367" y="5821"/>
<Point x="15706" y="5821"/>
<Point x="15706" y="5482"/>
<Point x="16066" y="5482"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1129/4B98/1E78/58f5f37d6435" dstEquation="!ed/1a09/654E/1838/58f70be9584d">
<positions>
<Point x="11536" y="5821"/>
<Point x="11599" y="5821"/>
<Point x="11599" y="5821"/>
<Point x="12171" y="5821"/>
</positions>
</Edge>
<Edge leftVarIndex="2" rightExprIndex="1" srcEquation="!ed/30a8/4B98/1E78/58f5f657383a" dstEquation="!ed/2e55/1A70/1E14/58f639337b5a">
<positions>
<Point x="19579" y="7789"/>
<Point x="19812" y="7789"/>
<Point x="19812" y="7789"/>
<Point x="20087" y="7789"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/30a8/4B98/1E78/58f5f657383a" dstEquation="!ed/2e4f/1A70/1E14/58f63923757">
<positions>
<Point x="19579" y="7112"/>
<Point x="19918" y="7112"/>
<Point x="19918" y="7112"/>
<Point x="20299" y="7112"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/2e47/1A70/1E14/58f638f94f66" dstEquation="!ed/30a8/4B98/1E78/58f5f657383a">
<positions>
<Point x="17399" y="8805"/>
<Point x="17801" y="8805"/>
<Point x="17801" y="8488"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/1a09/654E/1838/58f70be9584d" dstEquation="!ed/30a8/4B98/1E78/58f5f657383a">
<positions>
<Point x="15367" y="5821"/>
<Point x="15663" y="5821"/>
<Point x="15663" y="7451"/>
<Point x="16002" y="7451"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : mapfold_compute_distances_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;18/04/2018&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: computes the distance from the input parameters (4 parameters vector) to the vector in the response surface checks if distance is zero (inferior to epsilon)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

442
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/map_compute_interpolation.ann

@ -0,0 +1,442 @@ @@ -0,0 +1,442 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Comment_Graphical ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 350 },
NT_CENTERING_CENTER BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Comment_Graphical TEXT
{
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Range ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Range_3","[0.1;10.0]" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Range_3","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Range_3","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Range_3","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Range_3","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Range_3","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Range_3","TBD" , T }}
Comment ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Comment_1","" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Comment_1","" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Comment_1","" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Comment_1","" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Comment_1","" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Comment_1","" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Comment_1","" , T }}
Unit ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Unit_2","TBD" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Unit_2","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Unit_2","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Unit_2","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Unit_2","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Unit_2","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Unit_2","TBD" , T }}
Resolution ::= {
{"!ed/1155/745C/15C0/58f85ab11ba2", "Resolution_4","TBD" , T },
{"!ed/1368/745C/15C0/58f867ad7a50", "Resolution_4","TBD" , T },
{"!ed/1180/745C/15C0/58f85bc418b", "Resolution_4","TBD" , T },
{"!ed/1359/5C75/1654/58f8a4b34795", "Resolution_4","TBD" , T },
{"!ed/1147/745C/15C0/58f85aa23627", "Resolution_4","TBD" , T },
{"!ed/1145/745C/15C0/58f85a912f5", "Resolution_4","TBD" , T },
{"!ed/1156/745C/15C0/58f85abb4a15", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/113e/745C/15C0/58f85a8038f2", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : map_compute_interpolation_1" , T }}
Author ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "20/04/2017" , T }}
CopyRight ::= {
{"!ed/113f/745C/15C0/58f85a804773", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: compute energy interpolation for one pole (Lambda_i * Energy_i)
with lambda_i = (1/dist_i)^exp * 1/(sum[(1/dist_j)^exp])" , T }}
Change ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Comment_Graphical ::= {
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_1",T , T , T , "RELATIVE" , 144.173228 , 389.173228 , T , 1 , "Energy_i" , T },
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_111",T , T , T , "RELATIVE" , 143.346457 , 165.826772 , T , 1 , "1/dist_i^exp" , T },
{"!ed/113f/745C/15C0/58f85a804773", "Comment_Graphical_1111",T , T , T , "RELATIVE" , 88.346457 , 290.000000 , T , 1 , "1/sum(1/dist_i^exp)" , T }}
END

387
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mapwi_index_array_true.ann

@ -0,0 +1,387 @@ @@ -0,0 +1,387 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Unit_2","TBD" , T },
{"!ed/33b6/589C/1330/594d285b4619", "Unit_2","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Unit_2","TBD" , T },
{"!ed/332b/589C/1330/594d26ef5526", "Unit_2","TBD" , T }}
Comment ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Comment_1","" , T },
{"!ed/33b6/589C/1330/594d285b4619", "Comment_1","" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Comment_1","" , T },
{"!ed/332b/589C/1330/594d26ef5526", "Comment_1","" , T }}
Range ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Range_3","TBD" , T },
{"!ed/33b6/589C/1330/594d285b4619", "Range_3","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Range_3","TBD" , T },
{"!ed/332b/589C/1330/594d26ef5526", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/31e6/589C/1330/594d23ac1389", "Resolution_4","TBD" , T },
{"!ed/33b6/589C/1330/594d285b4619", "Resolution_4","TBD" , T },
{"!ed/31e5/589C/1330/594d239d43a3", "Resolution_4","TBD" , T },
{"!ed/332b/589C/1330/594d26ef5526", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/31dd/589C/1330/594d2350aeb", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/31de/589C/1330/594d2350a", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : mapwi_index_array_true_1" , T }}
Author ::= {
{"!ed/31de/589C/1330/594d2350a", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/31de/589C/1330/594d2350a", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "23/06/2017" , T }}
CopyRight ::= {
{"!ed/31de/589C/1330/594d2350a", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/31de/589C/1330/594d2350a", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: for a mapwi : stops when a true is found " , T }}
Change ::= {
{"!ed/31de/589C/1330/594d2350a", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

449
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mapwi_index_array_true.xscade

@ -0,0 +1,449 @@ @@ -0,0 +1,449 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="mapwi_index_array_true">
<inputs>
<Variable name="index">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/31e5/589C/1330/594d239d43a3"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="in">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/332b/589C/1330/594d26ef5526"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="condition">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/31e6/589C/1330/594d23ac1389"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="out">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/33b6/589C/1330/594d285b4619"/>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/332e/589C/1330/594d271c5f83"/>
</pragmas>
</Variable>
<Variable name="_L5">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3351/589C/1330/594d2720413e"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3372/589C/1330/594d274c5741"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<NamedType>
<type>
<TypeRef name="int16"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3412/589C/1330/594d28f15e51"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3444/589C/1330/594d290d20fe"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L3 = in; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="in"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/332d/589C/1330/594d271c76c4"/>
</pragmas>
</Equation>
<!-- condition = _L8; -->
<Equation>
<lefts>
<VariableRef name="condition"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3331/589C/1330/594d271c3962"/>
</pragmas>
</Equation>
<!-- _L5 = _L3 and _L6; -->
<Equation>
<lefts>
<VariableRef name="_L5"/>
</lefts>
<right>
<!-- _L3 and _L6 -->
<NAryOp name="1" operator="and">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
</operands>
</NAryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/3350/589C/1330/594d272018ed"/>
</pragmas>
</Equation>
<!-- _L6 = true; -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
</lefts>
<right>
<ConstValue value="true"/>
</right>
<pragmas>
<ed:Equation oid="!ed/3371/589C/1330/594d274c1a43"/>
</pragmas>
</Equation>
<!-- out = _L5; -->
<Equation>
<lefts>
<VariableRef name="out"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/33b8/589C/1330/594d2864cb4"/>
</pragmas>
</Equation>
<!-- _L7 = index; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="index"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3411/589C/1330/594d28f17f9c"/>
</pragmas>
</Equation>
<!-- _ = _L7; -->
<Equation>
<lefts>
<VariableRef name="_"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3424/589C/1330/594d28f361f9"/>
</pragmas>
</Equation>
<!-- _L8 = not _L5; -->
<Equation>
<lefts>
<VariableRef name="_L8"/>
</lefts>
<right>
<!-- not _L5 -->
<UnaryOp name="1" operator="not">
<operand>
<IdExpression>
<path>
<ConstVarRef name="_L5"/>
</path>
</IdExpression>
</operand>
</UnaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/3443/589C/1330/594d290d3679"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/31dd/589C/1330/594d2350aeb" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="mapwi_index_array_true_1" landscape="true" format="A4 (210 297)" oid="!ed/31de/589C/1330/594d2350a">
<presentationElements>
<EquationGE presentable="!ed/332d/589C/1330/594d271c76c4">
<position>
<Point x="2498" y="4043"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3331/589C/1330/594d271c3962">
<position>
<Point x="6922" y="4424"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3350/589C/1330/594d272018ed">
<position>
<Point x="3260" y="4339"/>
</position>
<size>
<Size width="1016" height="656"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/332d/589C/1330/594d271c76c4" dstEquation="!ed/3350/589C/1330/594d272018ed">
<positions>
<Point x="2752" y="4297"/>
<Point x="3006" y="4297"/>
<Point x="3006" y="4551"/>
<Point x="3260" y="4551"/>
</positions>
</Edge>
<EquationGE kind="OBJ_LIT" presentable="!ed/3371/589C/1330/594d274c1a43">
<position>
<Point x="2328" y="4699"/>
</position>
<size>
<Size width="170" height="318"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/3371/589C/1330/594d274c1a43" dstEquation="!ed/3350/589C/1330/594d272018ed">
<positions>
<Point x="2498" y="4868"/>
<Point x="2879" y="4868"/>
<Point x="2879" y="4784"/>
<Point x="3260" y="4784"/>
</positions>
</Edge>
<EquationGE presentable="!ed/33b8/589C/1330/594d2864cb4">
<position>
<Point x="4826" y="5207"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3350/589C/1330/594d272018ed" dstEquation="!ed/33b8/589C/1330/594d2864cb4">
<positions>
<Point x="4276" y="4678"/>
<Point x="4572" y="4678"/>
<Point x="4572" y="5461"/>
<Point x="4868" y="5461"/>
</positions>
</Edge>
<EquationGE presentable="!ed/3411/589C/1330/594d28f17f9c">
<position>
<Point x="1334" y="5652"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3424/589C/1330/594d28f361f9">
<position>
<Point x="1947" y="5652"/>
</position>
<size>
<Size width="508" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3411/589C/1330/594d28f17f9c" dstEquation="!ed/3424/589C/1330/594d28f361f9">
<positions>
<Point x="1588" y="5906"/>
<Point x="1884" y="5906"/>
<Point x="1884" y="5906"/>
<Point x="2201" y="5906"/>
</positions>
</Edge>
<EquationGE presentable="!ed/3443/589C/1330/594d290d3679">
<position>
<Point x="5609" y="4339"/>
</position>
<size>
<Size width="1016" height="656"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3350/589C/1330/594d272018ed" dstEquation="!ed/3443/589C/1330/594d290d3679">
<positions>
<Point x="4276" y="4678"/>
<Point x="4932" y="4678"/>
<Point x="4932" y="4678"/>
<Point x="5609" y="4678"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3443/589C/1330/594d290d3679" dstEquation="!ed/3331/589C/1330/594d271c3962">
<positions>
<Point x="6625" y="4678"/>
<Point x="6795" y="4678"/>
<Point x="6795" y="4678"/>
<Point x="6964" y="4678"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;23/06/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : mapwi_index_array_true_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: for a mapwi : stops when a true is found &quot;}
</kcg:Pragma>
</pragmas>
</Operator>

25
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mgt_mm.ann

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= {
{"!ed/5218/285/D14/594d31667bd4", "Comment_Package_1","TBD" , T }}
END

22
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/mgt_mm.xscade

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="mgt_mm">
<declarations>
<Operator name="select_navigation_data" href="select_navigation_data.xscade"/>
</declarations>
<pragmas>
<ed:Package oid="!ed/5218/285/D14/594d31667bd4" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/5219/285/D14/594d3166745a" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/521a/285/D14/594d31666765" blockKind="types"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/521b/285/D14/594d31662ee3" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

403
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/select_navigation_data.ann

@ -0,0 +1,403 @@ @@ -0,0 +1,403 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: Ground Stations's values supersed the ones from USB Key
---! ToBeCompleted !--" , T }}
CopyRight ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/06/2017" , T }}
Author ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Title ::= {
{"!ed/2b95/6F08/E3C/5947993f4619", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : select_navigation_data_1" , T }}
OperatorKind ::= {
{"!ed/2b94/6F08/E3C/5947993f7ed1", "OperatorKind_1","TBD" , T }}
Resolution ::= {
{"!ed/2bd5/6F08/E3C/594799b04707", "Resolution_4","N/A" , T },
{"!ed/2bdb/6F08/E3C/594799b06a4e", "Resolution_4","N/A" , T },
{"!ed/2b9c/6F08/E3C/5947995916b5", "Resolution_4","N/A" , T },
{"!ed/2ba2/6F08/E3C/594799592d41", "Resolution_4","N/A" , T },
{"!ed/2ba8/6F08/E3C/594799597744", "Resolution_4","N/A" , T },
{"!ed/2baf/6F08/E3C/594799597f60", "Resolution_4","N/A" , T }}
Range ::= {
{"!ed/2bd5/6F08/E3C/594799b04707", "Range_3","N/A" , T },
{"!ed/2bdb/6F08/E3C/594799b06a4e", "Range_3","N/A" , T },
{"!ed/2b9c/6F08/E3C/5947995916b5", "Range_3","N/A" , T },
{"!ed/2ba2/6F08/E3C/594799592d41", "Range_3","N/A" , T },
{"!ed/2ba8/6F08/E3C/594799597744", "Range_3","N/A" , T },
{"!ed/2baf/6F08/E3C/594799597f60", "Range_3","N/A" , T }}
Comment ::= {
{"!ed/2bd5/6F08/E3C/594799b04707", "Comment_1","navigation parameters {Distance;Speed;Altitude} from ground station" , T },
{"!ed/2bdb/6F08/E3C/594799b06a4e", "Comment_1","Navigation Mode: {Remote Panel/Automatic}
true = remote panel
false = automatic" , T },
{"!ed/2b9c/6F08/E3C/5947995916b5", "Comment_1","navigation parameters {Distance;Speed;Altitude} from ground station" , T },
{"!ed/2ba2/6F08/E3C/594799592d41", "Comment_1","Navigation Mode: {Remote Panel/Automatic}
true = remote panel
false = automatic" , T },
{"!ed/2ba8/6F08/E3C/594799597744", "Comment_1","Flight mode switch selection from GS: {Automatic;RemotePanel}
true = Remote Panel
false = automatic" , T },
{"!ed/2baf/6F08/E3C/594799597f60", "Comment_1","navigation parameters {Distance;Speed;Altitude} from USB Key" , T }}
Unit ::= {
{"!ed/2bd5/6F08/E3C/594799b04707", "Unit_2","N/A" , T },
{"!ed/2bdb/6F08/E3C/594799b06a4e", "Unit_2","N/A" , T },
{"!ed/2b9c/6F08/E3C/5947995916b5", "Unit_2","N/A" , T },
{"!ed/2ba2/6F08/E3C/594799592d41", "Unit_2","N/A" , T },
{"!ed/2ba8/6F08/E3C/594799597744", "Unit_2","N/A" , T },
{"!ed/2baf/6F08/E3C/594799597f60", "Unit_2","N/A" , T }}
END

458
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/select_navigation_data.xscade

@ -0,0 +1,458 @@ @@ -0,0 +1,458 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="select_navigation_data">
<inputs>
<Variable name="navigation_parameters_gs">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2b9c/6F08/E3C/5947995916b5"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;navigation parameters {Distance;Speed;Altitude} from ground station&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="navigation_mode_rp">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2ba2/6F08/E3C/594799592d41"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;Navigation Mode: {Remote Panel/Automatic} true = remote panel false = automatic&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="mode_switch_rp">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2ba8/6F08/E3C/594799597744"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;Flight mode switch selection from GS: {Automatic;RemotePanel} true = Remote Panel false = automatic&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="navigation_parameters_usb">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2baf/6F08/E3C/594799597f60"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;navigation parameters {Distance;Speed;Altitude} from USB Key&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="navigation_parameters">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bd5/6F08/E3C/594799b04707"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;navigation parameters {Distance;Speed;Altitude} from ground station&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="navigation_mode">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bdb/6F08/E3C/594799b06a4e"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;Navigation Mode: {Remote Panel/Automatic} true = remote panel false = automatic&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bb3/6F08/E3C/5947998d54a3"/>
</pragmas>
</Variable>
<Variable name="_L2">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bb5/6F08/E3C/5947998dc63"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bb7/6F08/E3C/5947998d6e45"/>
</pragmas>
</Variable>
<Variable name="_L4">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/2bb9/6F08/E3C/5947998d563a"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = navigation_parameters_gs; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="navigation_parameters_gs"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bb2/6F08/E3C/5947998d1b4f"/>
</pragmas>
</Equation>
<!-- _L2 = navigation_mode_rp; -->
<Equation>
<lefts>
<VariableRef name="_L2"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="navigation_mode_rp"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bb4/6F08/E3C/5947998d5be7"/>
</pragmas>
</Equation>
<!-- _L3 = mode_switch_rp; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="mode_switch_rp"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bb6/6F08/E3C/5947998d23bb"/>
</pragmas>
</Equation>
<!-- _L4 = navigation_parameters_usb; -->
<Equation>
<lefts>
<VariableRef name="_L4"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="navigation_parameters_usb"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bb8/6F08/E3C/5947998d7fab"/>
</pragmas>
</Equation>
<!-- _ = _L3; -->
<Equation>
<lefts>
<VariableRef name="_"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bcd/6F08/E3C/5947999e4bb4"/>
</pragmas>
</Equation>
<!-- navigation_parameters = _L1; -->
<Equation>
<lefts>
<VariableRef name="navigation_parameters"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bde/6F08/E3C/594799c33138"/>
</pragmas>
</Equation>
<!-- navigation_mode = _L2; -->
<Equation>
<lefts>
<VariableRef name="navigation_mode"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L2"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2bdf/6F08/E3C/594799c3c1e"/>
</pragmas>
</Equation>
<!-- _ = _L4; -->
<Equation>
<lefts>
<VariableRef name="_"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L4"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/2ffb/589C/1330/594d174c4860"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/2b94/6F08/E3C/5947993f7ed1" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="select_navigation_data_1" landscape="true" format="A4 (210 297)" oid="!ed/2b95/6F08/E3C/5947993f4619">
<presentationElements>
<EquationGE presentable="!ed/2bb2/6F08/E3C/5947998d1b4f">
<position>
<Point x="5906" y="4043"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2bb4/6F08/E3C/5947998d5be7">
<position>
<Point x="5906" y="4974"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2bb6/6F08/E3C/5947998d23bb">
<position>
<Point x="5906" y="5906"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2bb8/6F08/E3C/5947998d7fab">
<position>
<Point x="5906" y="6837"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2bcd/6F08/E3C/5947999e4bb4">
<position>
<Point x="6943" y="5906"/>
</position>
<size>
<Size width="508" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2bb6/6F08/E3C/5947998d23bb" dstEquation="!ed/2bcd/6F08/E3C/5947999e4bb4">
<positions>
<Point x="6160" y="6160"/>
<Point x="6668" y="6160"/>
<Point x="6668" y="6160"/>
<Point x="7197" y="6160"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2bde/6F08/E3C/594799c33138">
<position>
<Point x="6943" y="4043"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/2bdf/6F08/E3C/594799c3c1e">
<position>
<Point x="6922" y="4911"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2bb2/6F08/E3C/5947998d1b4f" dstEquation="!ed/2bde/6F08/E3C/594799c33138">
<positions>
<Point x="6160" y="4297"/>
<Point x="6562" y="4297"/>
<Point x="6562" y="4297"/>
<Point x="6985" y="4297"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2bb4/6F08/E3C/5947998d5be7" dstEquation="!ed/2bdf/6F08/E3C/594799c3c1e">
<positions>
<Point x="6160" y="5228"/>
<Point x="6562" y="5228"/>
<Point x="6562" y="5165"/>
<Point x="6964" y="5165"/>
</positions>
</Edge>
<EquationGE presentable="!ed/2ffb/589C/1330/594d174c4860">
<position>
<Point x="7176" y="6837"/>
</position>
<size>
<Size width="508" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/2bb8/6F08/E3C/5947998d7fab" dstEquation="!ed/2ffb/589C/1330/594d174c4860">
<positions>
<Point x="6160" y="7091"/>
<Point x="6795" y="7091"/>
<Point x="6795" y="7091"/>
<Point x="7430" y="7091"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : select_navigation_data_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP. PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;19/06/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: Ground Stations's values supersed the ones from USB Key ---! ToBeCompleted !--&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

433
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/set_up_mission.ann

@ -0,0 +1,433 @@ @@ -0,0 +1,433 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Default ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "-" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE F ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/2da1/6F08/E3C/5947bbb87f3", "Unit_2","N/A" , T },
{"!ed/2d3f/589C/1330/594d0def46cc", "Unit_2","TBD" , T },
{"!ed/2bfe/6F08/E3C/59479a0f37c9", "Unit_2","N/A" , T },
{"!ed/2c04/6F08/E3C/59479a0f3abd", "Unit_2","N/A" , T },
{"!ed/2c0a/6F08/E3C/59479a0f5d59", "Unit_2","N/A" , T },
{"!ed/2c10/6F08/E3C/59479a0f53ab", "Unit_2","N/A" , T },
{"!ed/2c17/6F08/E3C/59479a0f710", "Unit_2","N/A" , T },
{"!ed/2c24/6F08/E3C/59479a127602", "Unit_2","TBD" , T },
{"!ed/2cd7/6F08/E3C/5947bad94452", "Unit_2","kJ" , T }}
Comment_Default ::= {
{"!ed/2a96/589C/1330/594d088c746a", "Comment_Default_1","-" , F },
{"!ed/2c42/6F08/E3C/5947b56358db", "Comment_Default_1","-" , F },
{"!ed/2c43/6F08/E3C/5947b56b711a", "Comment_Default_1","-" , F },
{"!ed/2d24/589C/1330/594d0db17c17", "Comment_Default_1","-" , F }}
Comment ::= {
{"!ed/2da1/6F08/E3C/5947bbb87f3", "Comment_1","true = start take off" , T },
{"!ed/2d3f/589C/1330/594d0def46cc", "Comment_1","" , T },
{"!ed/2bfe/6F08/E3C/59479a0f37c9", "Comment_1","navigation parameters {Distance;Speed;Altitude} from ground station" , T },
{"!ed/2c04/6F08/E3C/59479a0f3abd", "Comment_1","Navigation Mode: {Remote Panel/Automatic}
true = remote panel
false = automatic" , T },
{"!ed/2c0a/6F08/E3C/59479a0f5d59", "Comment_1","CP PushButton to indicate to start mission
true = start
false = no start" , T },
{"!ed/2c10/6F08/E3C/59479a0f53ab", "Comment_1","Flight mode switch selection from GS: {Automatic;RemotePanel}
true = Remote Panel
false = automatic" , T },
{"!ed/2c17/6F08/E3C/59479a0f710", "Comment_1","navigation parameters {Distance;Speed;Altitude} from USB Key" , T },
{"!ed/2c24/6F08/E3C/59479a127602", "Comment_1","" , T },
{"!ed/2cd7/6F08/E3C/5947bad94452", "Comment_1","current energy storage" , T }}
Range ::= {
{"!ed/2da1/6F08/E3C/5947bbb87f3", "Range_3","N/A" , T },
{"!ed/2d3f/589C/1330/594d0def46cc", "Range_3","TBD" , T },
{"!ed/2bfe/6F08/E3C/59479a0f37c9", "Range_3","N/A" , T },
{"!ed/2c04/6F08/E3C/59479a0f3abd", "Range_3","N/A" , T },
{"!ed/2c0a/6F08/E3C/59479a0f5d59", "Range_3","N/A" , T },
{"!ed/2c10/6F08/E3C/59479a0f53ab", "Range_3","N/A" , T },
{"!ed/2c17/6F08/E3C/59479a0f710", "Range_3","N/A" , T },
{"!ed/2c24/6F08/E3C/59479a127602", "Range_3","TBD" , T },
{"!ed/2cd7/6F08/E3C/5947bad94452", "Range_3","[0;500]" , T }}
Resolution ::= {
{"!ed/2da1/6F08/E3C/5947bbb87f3", "Resolution_4","N/A" , T },
{"!ed/2d3f/589C/1330/594d0def46cc", "Resolution_4","TBD" , T },
{"!ed/2bfe/6F08/E3C/59479a0f37c9", "Resolution_4","N/A" , T },
{"!ed/2c04/6F08/E3C/59479a0f3abd", "Resolution_4","N/A" , T },
{"!ed/2c0a/6F08/E3C/59479a0f5d59", "Resolution_4","N/A" , T },
{"!ed/2c10/6F08/E3C/59479a0f53ab", "Resolution_4","N/A" , T },
{"!ed/2c17/6F08/E3C/59479a0f710", "Resolution_4","N/A" , T },
{"!ed/2c24/6F08/E3C/59479a127602", "Resolution_4","TBD" , T },
{"!ed/2cd7/6F08/E3C/5947bad94452", "Resolution_4","1" , T }}
OperatorKind ::= {
{"!ed/2b54/6F08/E3C/594798594fe9", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : set_up_mission_1" , T }}
Author ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP. PORTE" , T }}
Date ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "19/06/2017" , T }}
CopyRight ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: manage mission set up" , T }}
Change ::= {
{"!ed/2b55/6F08/E3C/594798594c92", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

1448
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/set_up_mission.xscade

File diff suppressed because it is too large Load Diff

59
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/stp_mm.ann

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment_Package ::= {
{"!ed/290e/2FBF/14D0/592d39b73ed0", "Comment_Package_1","Mission Set Up" , T }}
Comment ::= {
{"!ed/2a06/589C/1330/594d07985fa", "Comment_1","" , T }}
Unit ::= {
{"!ed/2a06/589C/1330/594d07985fa", "Unit_2","TBD" , T }}
END

65
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/stp_mm.xscade

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="stp_mm">
<declarations>
<Constant name="nav_param_init_Cst">
<type>
<NamedType>
<type>
<TypeRef name="types_mm::nav_param_t"/>
</type>
</NamedType>
</type>
<value>
<!-- {distance : 0.0, speed : 0.0, altitude : 0.0} -->
<DataStructOp>
<data>
<LabelledExpression label="distance">
<flow>
<ConstValue value="0.0"/>
</flow>
</LabelledExpression>
<LabelledExpression label="speed">
<flow>
<ConstValue value="0.0"/>
</flow>
</LabelledExpression>
<LabelledExpression label="altitude">
<flow>
<ConstValue value="0.0"/>
</flow>
</LabelledExpression>
</data>
</DataStructOp>
</value>
<pragmas>
<ed:Constant oid="!ed/2a06/589C/1330/594d07985fa"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
</pragmas>
</Constant>
<Operator name="set_up_mission" href="set_up_mission.xscade"/>
<Operator name="manage_payload_boarding" href="manage_payload_boarding.xscade"/>
<Operator name="compute_set_up_viability" href="Operator4.xscade"/>
<Operator name="init_mission" href="Operator5.xscade"/>
</declarations>
<pragmas>
<ed:Package oid="!ed/290e/2FBF/14D0/592d39b73ed0" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/290f/2FBF/14D0/592d39b73986" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/2910/2FBF/14D0/592d39b7cd1" blockKind="types"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/2911/2FBF/14D0/592d39b741db" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;Mission Set Up&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

628
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/templateann.aty

@ -0,0 +1,628 @@ @@ -0,0 +1,628 @@
-- ######################################################################
-- ##
-- ## DEFINITION FILE OF NOTES TYPES AND CATEGORIES
-- ## filename : templateann.aty
-- ## revision : 4.1
-- ##
-- ######################################################################
-- ##
-- ## rev 4.1 : J. Kirsch 18/09/2015
-- ## - added revision numeber
-- ## - added modification log
-- ## - added resolution annotations to be complient with 7PE_0085-4.x
-- ## - default OperatorKind set to TBD
-- ## - replace "created by" with "modified by"
-- ## - replace "CR" by "PR"
-- ## - replace "NA" by "TBD"
-- ##
-- ##
-- ######################################################################
-- ######################################################################
-- ##
-- ## DEFINITION OF NOTES TYPES
-- ##
-- ######################################################################
Notes-Types { ZSSM } DEFINITIONS ::=
BEGIN
-- ZSSM DEFINITION
Comment_Package ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 10,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Comment_SM ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT {
NT_DEFAULT_VALUE "-",
NT_FIELD_HEIGHT 10,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Comment_State ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT {
NT_DEFAULT_VALUE "-",
NT_FIELD_HEIGHT 10,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Comment_Default ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT {
NT_DEFAULT_VALUE "-",
NT_FIELD_HEIGHT 10,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE F,
NT_PRINTABLE F}
} } }
Comment ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT {
NT_DEFAULT_VALUE "",
NT_FIELD_HEIGHT 3,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Unit ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 1,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Range ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 1,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Resolution ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 1,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Min ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Min TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 1,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
Max ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
Max TEXT {
NT_DEFAULT_VALUE "TBD",
NT_FIELD_HEIGHT 1,
NT_FIELD_WIDTH 60},
to_c BOOLEAN {
NT_DEFAULT_VALUE T,
NT_PRINTABLE F}
} } }
OperatorKind ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM {
NT_ENUM_VALUES {
"Architecture",
"Functional",
"Refinement",
"Library",
"Derived",
"Robustness",
"TBD"},
NT_DEFAULT_VALUE "TBD",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
-- #################################
-- Graphical information for cartouche
-- ZSSM DEFINITION
-- #################################
Title ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 00 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 00 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT {
NT_DEFAULT_VALUE "Title : ",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
Author ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 00 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT {
NT_DEFAULT_VALUE " Modified by: AP. PORTE",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
Date ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Date DATE {
NT_DEFAULT_VALUE "dd/mm/yyyy",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
CopyRight ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 00 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 },
},
information {
CopyRight TEXT {
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved.",
NT_INCRUSTABLE T,
NT_EDITABLE F
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
Description ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 00 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT {
NT_DEFAULT_VALUE " Description: ",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
Change ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 00 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN { NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER { NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER { NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT {
NT_DEFAULT_VALUE " PR: First issue - No change.",
NT_INCRUSTABLE T
},
to_c BOOLEAN { NT_DEFAULT_VALUE true}
} } }
-- #################################
-- Graphical informations
-- #################################
Comment_Graphical ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE T },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL { NT_DEFAULT_VALUE 350 },
NT_CENTERING_CENTER BOOLEAN { NT_DEFAULT_VALUE T },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Comment_Graphical TEXT { NT_INCRUSTABLE T },
to_c BOOLEAN { NT_DEFAULT_VALUE true }
} } }
-- #################################
-- Graphical informations : may be displayed or not (View/Display notes).
-- #################################
Comment_HiddenGraphical ::=
SEQUENCE OF {
SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN { NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN { NT_DEFAULT_VALUE F },
NT_MODIFY BOOLEAN { NT_DEFAULT_VALUE T },
NT_LOCATION STRING { NT_DEFAULT_VALUE "RELATIVE"},
NT_POS_X REAL { NT_DEFAULT_VALUE -1 },
NT_POS_Y REAL { NT_DEFAULT_VALUE -1 },
NT_FONT INTEGER { NT_DEFAULT_VALUE 1 }
},
information {
Comment_HiddenGraphical TEXT { NT_INCRUSTABLE T },
to_c BOOLEAN { NT_DEFAULT_VALUE true }
} } }
END
-- #################################
-- End of the Definition of the Types of Notes
-- #################################
-- ######################################################################
-- ##
-- ## DEFINITION OF DIFFERENT CATEGORIES OF NOTE TYPES
-- ##
-- ######################################################################
Annotation-Rules { Esterel-Technologies } DEFINITIONS ::=
BEGIN
-- #################################
-- ## Categories associated to entities out from net views
-- #################################
package ::= {
{Comment_Package T 1 1}
}
constant ::= {
{ Comment T 1 1 },
{ Unit T 1 1 }
}
-- #################################
sensor ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
named_type ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
-- #################################
output ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
input ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
hidden ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
probe ::= {
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
-- ## Title to Change required only for imported nodes
operator ::= {
{ OperatorKind T 1 1 }
{ Title F 0 1 },
{ Author F 0 1 },
{ Date F 0 1 },
{ CopyRight F 0 1 },
{ Description F 0 1 },
{ Change F 0 1 }
}
-- ## Unit and range not mandatory for a structured field
type_element ::={
{ Comment T 1 1 },
{ Unit T 1 1 },
{ Range T 0 1 },
{ Resolution T 0 1 },
{ Min F 0 1 },
{ Max F 0 1 }
}
-- #################################
-- ## Categories associated to entities of the net views
-- #################################
-- #################################
state_machine ::= {
{ Comment_SM T 1 1 },
{ Comment_Graphical F 0 99},
{ Comment_HiddenGraphical F 0 99}
}
-- #################################
state ::= {
{ Comment_State T 1 1 },
{ Comment_Graphical F 0 99},
{ Comment_HiddenGraphical F 0 99}
}
net_diagram ::= {
{ Title T 1 1 },
{ Author T 1 1 },
{ Date T 1 1 },
{ CopyRight T 1 1 },
{ Description T 1 1 },
{ Change T 1 1 },
{ Comment_Graphical F 0 99},
{ Comment_HiddenGraphical F 0 99}
}
-- #################################
-- ## Categories without standard constraints
-- ## default set to '-'
-- #################################
-- OK
local ::= {
{ Comment_Default T 0 1 }
}
--# OK
signal ::= {
{ Comment_Default T 0 1 }
}
--# not reported
--assertion ::= {
-- { Comment_Default T 0 1 }
--}
--# unknown
--ref_ident ::= {
-- { Comment_Default T 0 1 }
--}
--# not reported
--literal ::= {
-- { Comment_Default T 0 1 }
--}
--# not reported
--predef_opr ::= {
-- { Comment_Default T 0 1 }
--}
--# not reported
--ref_operator ::= {
-- { Comment_Default T 0 1 }
--}
--# NOT reported
--terminator ::= {
-- { Comment_Default T 0 1 }
--}
--# reported but default not created 6/R15/R16
--transition ::= {
-- { Comment_Default T 0 1 }
--}
--# reported but default not created 6/R15/R16
--activate_block ::= {
-- { Comment_Default T 0 1 }
--}
--# reported but default not created 6/R15/R16
--action ::= {
-- { Comment_Default T 0 1 }
--}
--#unknown
--branch ::= {
-- { Comment_Default T 0 1 }
--}
--#unknown
--tree_diagram ::= {
-- { Comment_Default T 0 1 }
--}
END
-- #################################
-- END OF DEFINITION OF CATEGORIES OF NOTE TYPES
-- #################################
-- ######################################################################

395
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/test_param.ann

@ -0,0 +1,395 @@ @@ -0,0 +1,395 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Comment ::= {
{"!ed/3ef6/1DFB/1050/58f0e6aa5321", "Comment_1","" , T },
{"!ed/2fcc/1A70/1E14/58f63d372830", "Comment_1","" , T },
{"!ed/3039/1A70/1E14/58f63f511442", "Comment_1","" , T },
{"!ed/303a/1A70/1E14/58f63f59584e", "Comment_1","" , T },
{"!ed/303b/1A70/1E14/58f63f5e3be8", "Comment_1","" , T },
{"!ed/303c/1A70/1E14/58f63f6161e6", "Comment_1","" , T }}
Unit ::= {
{"!ed/3ef6/1DFB/1050/58f0e6aa5321", "Unit_2","TBD" , T },
{"!ed/2fcc/1A70/1E14/58f63d372830", "Unit_2","TBD" , T },
{"!ed/3039/1A70/1E14/58f63f511442", "Unit_2","TBD" , T },
{"!ed/303a/1A70/1E14/58f63f59584e", "Unit_2","TBD" , T },
{"!ed/303b/1A70/1E14/58f63f5e3be8", "Unit_2","TBD" , T },
{"!ed/303c/1A70/1E14/58f63f6161e6", "Unit_2","TBD" , T }}
Range ::= {
{"!ed/3ef6/1DFB/1050/58f0e6aa5321", "Range_3","TBD" , T },
{"!ed/2fcc/1A70/1E14/58f63d372830", "Range_3","TBD" , T },
{"!ed/3039/1A70/1E14/58f63f511442", "Range_3","TBD" , T },
{"!ed/303a/1A70/1E14/58f63f59584e", "Range_3","TBD" , T },
{"!ed/303b/1A70/1E14/58f63f5e3be8", "Range_3","TBD" , T },
{"!ed/303c/1A70/1E14/58f63f6161e6", "Range_3","TBD" , T }}
Resolution ::= {
{"!ed/3ef6/1DFB/1050/58f0e6aa5321", "Resolution_4","TBD" , T },
{"!ed/2fcc/1A70/1E14/58f63d372830", "Resolution_4","TBD" , T },
{"!ed/3039/1A70/1E14/58f63f511442", "Resolution_4","TBD" , T },
{"!ed/303a/1A70/1E14/58f63f59584e", "Resolution_4","TBD" , T },
{"!ed/303b/1A70/1E14/58f63f5e3be8", "Resolution_4","TBD" , T },
{"!ed/303c/1A70/1E14/58f63f6161e6", "Resolution_4","TBD" , T }}
OperatorKind ::= {
{"!ed/34de/1DFB/1050/58f0d287642c", "OperatorKind_1","TBD" , T }}
Title ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : " , T }}
Author ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: " , T }}
Date ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "dd/mm/yyyy" , T }}
CopyRight ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Description ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: " , T }}
Change ::= {
{"!ed/34df/1DFB/1050/58f0d28745a", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
END

1730
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/test_param.xscade

File diff suppressed because it is too large Load Diff

384
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/transform_index_structure.ann

@ -0,0 +1,384 @@ @@ -0,0 +1,384 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "Change_6",T , T , "RELATIVE" , 0.000000 , 60.000000 , T , T , 350 , 60 , 1 , " PR: First issue - No change." , T }}
Description ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description:
transform structure index_and_value into 2 arrays" , T }}
CopyRight ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "14/04/2017" , T }}
Author ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: AP PORTE" , T }}
Title ::= {
{"!ed/3111/1DFB/1050/58f0cd8560fe", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , "Title : transform_index_structure_1" , T }}
OperatorKind ::= {
{"!ed/3110/1DFB/1050/58f0cd8512ae", "OperatorKind_1","TBD" , T }}
Resolution ::= {
{"!ed/3112/1DFB/1050/58f0cd8519a8", "Resolution_4","TBD" , T },
{"!ed/3114/1DFB/1050/58f0cd99836", "Resolution_4","TBD" , T },
{"!ed/3113/1DFB/1050/58f0cd85c4a", "Resolution_4","TBD" , T }}
Range ::= {
{"!ed/3112/1DFB/1050/58f0cd8519a8", "Range_3","TBD" , T },
{"!ed/3114/1DFB/1050/58f0cd99836", "Range_3","TBD" , T },
{"!ed/3113/1DFB/1050/58f0cd85c4a", "Range_3","TBD" , T }}
Comment ::= {
{"!ed/3112/1DFB/1050/58f0cd8519a8", "Comment_1","" , T },
{"!ed/3114/1DFB/1050/58f0cd99836", "Comment_1","" , T },
{"!ed/3113/1DFB/1050/58f0cd85c4a", "Comment_1","" , T }}
Unit ::= {
{"!ed/3112/1DFB/1050/58f0cd8519a8", "Unit_2","TBD" , T },
{"!ed/3114/1DFB/1050/58f0cd99836", "Unit_2","TBD" , T },
{"!ed/3113/1DFB/1050/58f0cd85c4a", "Unit_2","TBD" , T }}
END

461
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/transform_index_structure.xscade

@ -0,0 +1,461 @@ @@ -0,0 +1,461 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="transform_index_structure">
<inputs>
<Variable name="index_and_values">
<type>
<NamedType>
<type>
<TypeRef name="index_and_value_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3113/1DFB/1050/58f0cd85c4a"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="indexes">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/3112/1DFB/1050/58f0cd8519a8"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="values">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/3114/1DFB/1050/58f0cd99836"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="index_and_value_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/313b/1DFB/1050/58f0cdd16e2c"/>
</pragmas>
</Variable>
<Variable name="_L9">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3144/1DFB/1050/58f0cdd432a"/>
</pragmas>
</Variable>
<Variable name="_L8">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3143/1DFB/1050/58f0cdd4216b"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3142/1DFB/1050/58f0cdd47301"/>
</pragmas>
</Variable>
<Variable name="_L6">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/3141/1DFB/1050/58f0cdd4561f"/>
</pragmas>
</Variable>
<Variable name="_L10">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/314c/1DFB/1050/58f0cdde25f5"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="2"/>
</size>
</Table>
</type>
<pragmas>
<ed:Variable oid="!ed/3157/1DFB/1050/58f0cde12e65"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = index_and_values; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="index_and_values"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/313a/1DFB/1050/58f0cdd1b4a"/>
</pragmas>
</Equation>
<!-- _L6, _L7, _L8, _L9 = (flatten index_and_value_t)(_L1); -->
<Equation>
<lefts>
<VariableRef name="_L6"/>
<VariableRef name="_L7"/>
<VariableRef name="_L8"/>
<VariableRef name="_L9"/>
</lefts>
<right>
<!-- (flatten index_and_value_t)(_L1) -->
<CallExpression>
<operator>
<FlattenOp name="1">
<type>
<TypeRef name="index_and_value_t"/>
</type>
</FlattenOp>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3140/1DFB/1050/58f0cdd45452"/>
</pragmas>
</Equation>
<!-- _L10 = [_L6, _L8]; -->
<Equation>
<lefts>
<VariableRef name="_L10"/>
</lefts>
<right>
<!-- [_L6, _L8] -->
<DataArrayOp name="1">
<data>
<IdExpression>
<path>
<ConstVarRef name="_L6"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L8"/>
</path>
</IdExpression>
</data>
</DataArrayOp>
</right>
<pragmas>
<ed:Equation oid="!ed/314b/1DFB/1050/58f0cdde65f6"/>
</pragmas>
</Equation>
<!-- _L11 = [_L7, _L9]; -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<!-- [_L7, _L9] -->
<DataArrayOp name="2">
<data>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L9"/>
</path>
</IdExpression>
</data>
</DataArrayOp>
</right>
<pragmas>
<ed:Equation oid="!ed/3156/1DFB/1050/58f0cde15190"/>
</pragmas>
</Equation>
<!-- indexes = _L10; -->
<Equation>
<lefts>
<VariableRef name="indexes"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L10"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3160/1DFB/1050/58f0cdee1e94"/>
</pragmas>
</Equation>
<!-- values = _L11; -->
<Equation>
<lefts>
<VariableRef name="values"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/3161/1DFB/1050/58f0cdee7c93"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/3110/1DFB/1050/58f0cd8512ae" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="transform_index_structure_1" landscape="true" format="A4 (210 297)" oid="!ed/3111/1DFB/1050/58f0cd8560fe">
<presentationElements>
<EquationGE presentable="!ed/313a/1DFB/1050/58f0cdd1b4a">
<position>
<Point x="3196" y="4403"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3140/1DFB/1050/58f0cdd45452">
<position>
<Point x="4360" y="4022"/>
</position>
<size>
<Size width="1270" height="1270"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/313a/1DFB/1050/58f0cdd1b4a" dstEquation="!ed/3140/1DFB/1050/58f0cdd45452">
<positions>
<Point x="3450" y="4657"/>
<Point x="4128" y="4657"/>
<Point x="4128" y="4657"/>
<Point x="4360" y="4657"/>
</positions>
</Edge>
<EquationGE presentable="!ed/314b/1DFB/1050/58f0cdde65f6">
<position>
<Point x="8022" y="3683"/>
</position>
<size>
<Size width="974" height="974"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3156/1DFB/1050/58f0cde15190">
<position>
<Point x="8043" y="4826"/>
</position>
<size>
<Size width="974" height="974"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3160/1DFB/1050/58f0cdee1e94">
<position>
<Point x="9694" y="3916"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/3161/1DFB/1050/58f0cdee7c93">
<position>
<Point x="9694" y="5059"/>
</position>
<size>
<Size width="339" height="508"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/314b/1DFB/1050/58f0cdde65f6" dstEquation="!ed/3160/1DFB/1050/58f0cdee1e94">
<positions>
<Point x="8996" y="4170"/>
<Point x="9356" y="4170"/>
<Point x="9356" y="4170"/>
<Point x="9737" y="4170"/>
</positions>
</Edge>
<Edge leftVarIndex="3" rightExprIndex="2" srcEquation="!ed/3140/1DFB/1050/58f0cdd45452" dstEquation="!ed/314b/1DFB/1050/58f0cdde65f6">
<positions>
<Point x="5630" y="4784"/>
<Point x="6816" y="4784"/>
<Point x="6816" y="4339"/>
<Point x="8022" y="4339"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3140/1DFB/1050/58f0cdd45452" dstEquation="!ed/314b/1DFB/1050/58f0cdde65f6">
<positions>
<Point x="5630" y="4276"/>
<Point x="6816" y="4276"/>
<Point x="6816" y="4001"/>
<Point x="8022" y="4001"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/3156/1DFB/1050/58f0cde15190" dstEquation="!ed/3161/1DFB/1050/58f0cdee7c93">
<positions>
<Point x="9017" y="5313"/>
<Point x="9377" y="5313"/>
<Point x="9377" y="5313"/>
<Point x="9737" y="5313"/>
</positions>
</Edge>
<Edge leftVarIndex="4" rightExprIndex="2" srcEquation="!ed/3140/1DFB/1050/58f0cdd45452" dstEquation="!ed/3156/1DFB/1050/58f0cde15190">
<positions>
<Point x="5630" y="5038"/>
<Point x="6837" y="5038"/>
<Point x="6837" y="5482"/>
<Point x="8043" y="5482"/>
</positions>
</Edge>
<Edge leftVarIndex="2" rightExprIndex="1" srcEquation="!ed/3140/1DFB/1050/58f0cdd45452" dstEquation="!ed/3156/1DFB/1050/58f0cde15190">
<positions>
<Point x="5630" y="4530"/>
<Point x="6837" y="4530"/>
<Point x="6837" y="5144"/>
<Point x="8043" y="5144"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot;Title : transform_index_structure_1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: AP PORTE&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;14/04/2017&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: transform structure index_and_value into 2 arrays&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; PR: First issue - No change.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>

129
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/types_mm.ann

@ -0,0 +1,129 @@ @@ -0,0 +1,129 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Unit ::= {
{"!ed/2931/2FBF/14D0/592d3acb4b49", "Unit_2","kg" , T },
{"!ed/2ade/6F08/E3C/594786601f82", "Unit_2","N/A" , T },
{"!ed/2adf/6F08/E3C/5947866c9e", "Unit_1","n.m" , T },
{"!ed/2b0d/6F08/E3C/59478878626b", "Unit_1","kt" , T },
{"!ed/2b17/6F08/E3C/5947888198", "Unit_1","ft" , T },
{"!ed/2ae0/6F08/E3C/594786775890", "Unit_2","n.m" , T },
{"!ed/2ae9/6F08/E3C/594786916a99", "Unit_2","kt" , T },
{"!ed/2afb/6F08/E3C/594786f1350", "Unit_2","ft" , T },
{"!ed/2b46/6F08/E3C/5947971215ad", "Unit_2","N/A" , T },
{"!ed/2cc9/6F08/E3C/5947ba4d4ec3", "Unit_2","kJ" , T }}
Comment ::= {
{"!ed/2931/2FBF/14D0/592d3acb4b49", "Comment_1","mass in kg" , T },
{"!ed/2ade/6F08/E3C/594786601f82", "Comment_1","navigations parameters {Distance;Speed;Altitude}" , T },
{"!ed/2adf/6F08/E3C/5947866c9e", "Comment_1","distance in nautic mile" , T },
{"!ed/2b0d/6F08/E3C/59478878626b", "Comment_1","speed in knots" , T },
{"!ed/2b17/6F08/E3C/5947888198", "Comment_1","altitude in feet" , T },
{"!ed/2ae0/6F08/E3C/594786775890", "Comment_1","distance in nautic mile" , T },
{"!ed/2ae9/6F08/E3C/594786916a99", "Comment_1","speed in knots" , T },
{"!ed/2afb/6F08/E3C/594786f1350", "Comment_1","altitude in feet" , T },
{"!ed/2b46/6F08/E3C/5947971215ad", "Comment_1","Flight Mode " , T },
{"!ed/2cc9/6F08/E3C/5947ba4d4ec3", "Comment_1","energy in kJoules" , T }}
Comment_Package ::= {
{"!ed/292d/2FBF/14D0/592d3ac44750", "Comment_Package_1","TBD" , T }}
Range ::= {
{"!ed/2931/2FBF/14D0/592d3acb4b49", "Range_3","[0;500]" , T },
{"!ed/2ade/6F08/E3C/594786601f82", "Range_3","N/A" , T },
{"!ed/2adf/6F08/E3C/5947866c9e", "Range_1","[1;100]" , T },
{"!ed/2b0d/6F08/E3C/59478878626b", "Range_1","[1;250]" , T },
{"!ed/2b17/6F08/E3C/5947888198", "Range_1","[-500; 3000]" , T },
{"!ed/2ae0/6F08/E3C/594786775890", "Range_3","[1;100]" , T },
{"!ed/2ae9/6F08/E3C/594786916a99", "Range_3","[1;250]" , T },
{"!ed/2afb/6F08/E3C/594786f1350", "Range_3","[-500; 3000]" , T },
{"!ed/2b46/6F08/E3C/5947971215ad", "Range_3","N/A" , T },
{"!ed/2cc9/6F08/E3C/5947ba4d4ec3", "Range_3","[0;500]" , T }}
Resolution ::= {
{"!ed/2931/2FBF/14D0/592d3acb4b49", "Resolution_4","0.1" , T },
{"!ed/2ade/6F08/E3C/594786601f82", "Resolution_4","N/A" , T },
{"!ed/2adf/6F08/E3C/5947866c9e", "Resolution_1","1" , T },
{"!ed/2b0d/6F08/E3C/59478878626b", "Resolution_1","1" , T },
{"!ed/2b17/6F08/E3C/5947888198", "Resolution_1","1" , T },
{"!ed/2ae0/6F08/E3C/594786775890", "Resolution_4","1" , T },
{"!ed/2ae9/6F08/E3C/594786916a99", "Resolution_4","1" , T },
{"!ed/2afb/6F08/E3C/594786f1350", "Resolution_4","1" , T },
{"!ed/2b46/6F08/E3C/5947971215ad", "Resolution_4","N/A" , T },
{"!ed/2cc9/6F08/E3C/5947ba4d4ec3", "Resolution_4","1" , T }}
END

284
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/types_mm.xscade

@ -0,0 +1,284 @@ @@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="types_mm">
<declarations>
<Type name="mass_t">
<definition>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</definition>
<pragmas>
<ed:Type oid="!ed/2931/2FBF/14D0/592d3acb4b49" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>mass in kg</comment>
</ed:Type>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;kg&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;mass in kg&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0;500]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;0.1&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="nav_param_t">
<definition>
<Struct>
<fields>
<Field name="distance">
<type>
<NamedType>
<type>
<TypeRef name="distance_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/2adf/6F08/E3C/5947866c9e"/>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;n.m&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;distance in nautic mile&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;[1;100]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Field>
<Field name="speed">
<type>
<NamedType>
<type>
<TypeRef name="speed_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/2b0d/6F08/E3C/59478878626b"/>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;kt&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;speed in knots&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;[1;250]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Field>
<Field name="altitude">
<type>
<NamedType>
<type>
<TypeRef name="altitude_t"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/2b17/6F08/E3C/5947888198"/>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;ft&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;altitude in feet&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;[-500; 3000]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Field>
</fields>
</Struct>
</definition>
<pragmas>
<ed:Type oid="!ed/2ade/6F08/E3C/594786601f82"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;navigations parameters {Distance;Speed;Altitude}&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="distance_t">
<definition>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</definition>
<pragmas>
<ed:Type oid="!ed/2ae0/6F08/E3C/594786775890" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>distance in nautic miles</comment>
</ed:Type>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;n.m&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;distance in nautic mile&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[1;100]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="speed_t">
<definition>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</definition>
<pragmas>
<ed:Type oid="!ed/2ae9/6F08/E3C/594786916a99" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>speed in knots</comment>
</ed:Type>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;kt&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;speed in knots&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[1;250]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="altitude_t">
<definition>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</definition>
<pragmas>
<ed:Type oid="!ed/2afb/6F08/E3C/594786f1350" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>altitude in feet</comment>
</ed:Type>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;ft&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;altitude in feet&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[-500; 3000]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="flight_mode_t">
<definition>
<Enum>
<values>
<Value name="CLIMB">
<pragmas>
<ed:Value oid="!ed/2b47/6F08/E3C/5947971d5de6"/>
</pragmas>
</Value>
<Value name="CRUISE">
<pragmas>
<ed:Value oid="!ed/2b48/6F08/E3C/594797234ba"/>
</pragmas>
</Value>
<Value name="DESCEND">
<pragmas>
<ed:Value oid="!ed/2b49/6F08/E3C/594797274b30"/>
</pragmas>
</Value>
</values>
</Enum>
</definition>
<pragmas>
<ed:Type oid="!ed/2b46/6F08/E3C/5947971215ad"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;Flight Mode &quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;N/A&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;N/A&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="energy_t">
<definition>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</definition>
<pragmas>
<ed:Type oid="!ed/2cc9/6F08/E3C/5947ba4d4ec3" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>energy in kJoules</comment>
</ed:Type>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;kJ&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;energy in kJoules&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;[0;500]&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
</pragmas>
</Type>
</declarations>
<pragmas>
<ed:Package oid="!ed/292d/2FBF/14D0/592d3ac44750" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/292e/2FBF/14D0/592d3ac4a4f" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/292f/2FBF/14D0/592d3ac43ced" blockKind="types" columnsSize="0, 150, 291, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/2930/2FBF/14D0/592d3ac4662e" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

117
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/utl_mm.ann

@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Resolution ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Resolution TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment_Package ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Description TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 10 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Resolution ::= {
{"!ed/12c0/745C/15C0/58f8643d661", "Resolution_4","TBD" , T },
{"!ed/9705/197F/2150/59e4ae805ae2", "Resolution_1","NA" , T },
{"!ed/9706/197F/2150/59e4ae8048a2", "Resolution_1","1" , T },
{"!ed/9707/197F/2150/59e4ae804e87", "Resolution_1","NA" , T },
{"!ed/9708/197F/2150/59e4ae80649d", "Resolution_1","1" , T },
{"!ed/9709/197F/2150/59e4ae802b7b", "Resolution_1","NA" , T }}
Range ::= {
{"!ed/12c0/745C/15C0/58f8643d661", "Range_3","TBD" , T },
{"!ed/9705/197F/2150/59e4ae805ae2", "Range_3","NA" , T },
{"!ed/9706/197F/2150/59e4ae8048a2", "Range_1","NA" , T },
{"!ed/9707/197F/2150/59e4ae804e87", "Range_1","NA" , T },
{"!ed/9708/197F/2150/59e4ae80649d", "Range_1","NA" , T },
{"!ed/9709/197F/2150/59e4ae802b7b", "Range_1","NA" , T }}
Comment_Package ::= {
{"!ed/3103/1DFB/1050/58f0cd813766", "Comment_Package_1","TBD" , T }}
Comment ::= {
{"!ed/12c0/745C/15C0/58f8643d661", "Comment_1","" , T },
{"!ed/9705/197F/2150/59e4ae805ae2", "Comment_1","structure containing values for a search of the closest lower and higher in a table :
- the index of the closest lower
- the value of the closest lower
- the index of the closest higher
- the value of the closest higher" , T },
{"!ed/9706/197F/2150/59e4ae8048a2", "Comment_1","closest lower value index" , T },
{"!ed/9707/197F/2150/59e4ae804e87", "Comment_1","closest lower referenced value" , T },
{"!ed/9708/197F/2150/59e4ae80649d", "Comment_1","closest higher value index" , T },
{"!ed/9709/197F/2150/59e4ae802b7b", "Comment_1","closest higher referenced value" , T }}
Unit ::= {
{"!ed/12c0/745C/15C0/58f8643d661", "Unit_2","TBD" , T },
{"!ed/9705/197F/2150/59e4ae805ae2", "Unit_2","NA" , T },
{"!ed/9706/197F/2150/59e4ae8048a2", "Unit_1","Dimensionless" , T },
{"!ed/9707/197F/2150/59e4ae804e87", "Unit_1","NA" , T },
{"!ed/9708/197F/2150/59e4ae80649d", "Unit_1","Dimensionless" , T },
{"!ed/9709/197F/2150/59e4ae802b7b", "Unit_1","NA" , T }}
END

221
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/utl_mm.xscade

@ -0,0 +1,221 @@ @@ -0,0 +1,221 @@
<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3">
<declarations>
<Package name="utl_mm">
<declarations>
<Type name="array_int_4_t">
<definition>
<Table>
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<size>
<ConstValue value="4"/>
</size>
</Table>
</definition>
<pragmas>
<ed:Type oid="!ed/12c0/745C/15C0/58f8643d661"/>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;TBD&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Resolution_4&quot; {Resolution = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Type name="truthTablesValues_t">
<definition>
<Enum>
<values>
<Value name="T">
<pragmas>
<ed:Value oid="!ed/2907/7DB9/1EC0/58f9048e6963"/>
</pragmas>
</Value>
<Value name="F">
<pragmas>
<ed:Value oid="!ed/2908/7DB9/1EC0/58f9048e4cc0"/>
</pragmas>
</Value>
<Value name="X">
<pragmas>
<ed:Value oid="!ed/2909/7DB9/1EC0/58f9048e2e0d"/>
</pragmas>
</Value>
</values>
<pragmas>
<ed:Enum oid="!ed/2906/7DB9/1EC0/58f9048e7801"/>
</pragmas>
</Enum>
</definition>
<pragmas>
<ed:Type oid="!ed/2905/7DB9/1EC0/58f9048e6a8e"/>
</pragmas>
</Type>
<Type name="index_and_value_t">
<definition>
<Struct>
<fields>
<Field name="lower_index">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/9706/197F/2150/59e4ae8048a2"/>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;Dimensionless&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;closest lower value index&quot;}
</kcg:Pragma>
</pragmas>
</Field>
<Field name="lower_value">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/9707/197F/2150/59e4ae804e87"/>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;closest lower referenced value&quot;}
</kcg:Pragma>
</pragmas>
</Field>
<Field name="higher_index">
<type>
<NamedType>
<type>
<TypeRef name="int32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/9708/197F/2150/59e4ae80649d"/>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;1&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;Dimensionless&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;closest higher value index&quot;}
</kcg:Pragma>
</pragmas>
</Field>
<Field name="higher_value">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Field oid="!ed/9709/197F/2150/59e4ae802b7b"/>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_1&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_1&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;closest higher referenced value&quot;}
</kcg:Pragma>
</pragmas>
</Field>
</fields>
</Struct>
</definition>
<pragmas>
<ed:Type oid="!ed/9705/197F/2150/59e4ae805ae2"/>
<kcg:Pragma>
doc &quot;Resolution_1&quot; {Resolution = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;structure containing values for a search of the closest lower and higher in a table : - the index of the closest lower - the value of the closest lower - the index of the closest higher - the value of the closest higher&quot;}
</kcg:Pragma>
</pragmas>
</Type>
<Operator name="transform_index_structure" href="transform_index_structure.xscade"/>
<Operator name="Square" href="Square.xscade"/>
<Operator name="SqrtR" href="SqrtR1.xscade"/>
<Operator name="SqrtR32" href="SqrtR32.xscade"/>
<Operator name="compute_sum_inverse_val" href="compute_sum_inverse_val.xscade"/>
<Operator name="PowerR" href="PowerR.xscade"/>
<Operator name="PowerRR" href="PowerRR.xscade"/>
<Operator name="compute_inverse_exp" href="compute_inverse_exp.xscade"/>
<Operator name="PowerRR32" href="PowerRR32.xscade"/>
<Operator name="TruthTableIdx" href="TruthTableIdx.xscade"/>
<Operator name="TruthTableLineIdx" href="TruthTableLineIdx.xscade"/>
<Operator name="TruthTableElt" href="TruthTableElt.xscade"/>
<Operator name="RisingEdge" href="RisingEdge.xscade"/>
<Operator name="FallingEdge" href="FallingEdge.xscade"/>
<Operator name="mapwi_index_array_true" href="mapwi_index_array_true.xscade"/>
<Operator name="fold_closest_l_h" href="fold_closest_l_h.xscade"/>
<Operator name="closest_lower_higher" href="closest_lower_higher.xscade"/>
<Operator name="division_by_zero_safe" href="division_by_zero_safe.xscade"/>
<Operator name="verify_epsilon" href="verify_epsilon.xscade"/>
<Operator name="abs" href="abs.xscade"/>
</declarations>
<pragmas>
<ed:Package oid="!ed/3103/1DFB/1050/58f0cd813766" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<comment>utilities package</comment>
<diagrams>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/3104/1DFB/1050/58f0cd815f79" blockKind="constants"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/3105/1DFB/1050/58f0cd81535c" blockKind="types" columnsSize="0, 150, 150, 300"/>
<TreeDiagram landscape="false" format="A4 (210 297)" oid="!ed/3106/1DFB/1050/58f0cd81e8c" blockKind="sensors"/>
</diagrams>
</ed:Package>
<kcg:Pragma>
doc &quot;Comment_Package_1&quot; {Description = &quot;TBD&quot;}
</kcg:Pragma>
</pragmas>
</Package>
</declarations>
</File>

370
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/verify_epsilon.ann

@ -0,0 +1,370 @@ @@ -0,0 +1,370 @@
Notes-Types { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 60 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 60 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Change TEXT
{
NT_DEFAULT_VALUE " PR: First issue - No change." ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Description ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 350 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 400 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 120 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Description TEXT
{
NT_DEFAULT_VALUE " Description: " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
CopyRight ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 40 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 21 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
CopyRight TEXT
{
NT_DEFAULT_VALUE " (C) ZSSM. All rights reserved." ,
NT_INCRUSTABLE T ,
NT_EDITABLE F },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Date ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 250 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 100 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Date DATE
{
NT_DEFAULT_VALUE "dd/mm/yyyy" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Author ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 20 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 250 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Author TEXT
{
NT_DEFAULT_VALUE " Modified by: AP. PORTE" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Title ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
note_graphical_information {
NT_INCRUSTABLE BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_PERMANENT BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_LOCATION STRING
{
NT_DEFAULT_VALUE "RELATIVE" },
NT_POS_X REAL
{
NT_DEFAULT_VALUE 0 },
NT_POS_Y REAL
{
NT_DEFAULT_VALUE 0 },
NT_MODIFY BOOLEAN
{
NT_DEFAULT_VALUE F },
NT_FRAME BOOLEAN
{
NT_DEFAULT_VALUE T },
NT_FRAME_WIDTH INTEGER
{
NT_DEFAULT_VALUE 350 },
NT_FRAME_HEIGHT INTEGER
{
NT_DEFAULT_VALUE 20 },
NT_FONT INTEGER
{
NT_DEFAULT_VALUE 1 }
},
information {
Title TEXT
{
NT_DEFAULT_VALUE "Title : " ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
OperatorKind ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
OperatorKind ENUM
{
NT_ENUM_VALUES {"Architecture", "Functional", "Refinement", "Library", "Derived", "Robustness", "TBD"},
NT_DEFAULT_VALUE "TBD" ,
NT_INCRUSTABLE T },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T }
} } }
Range ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Range TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Comment ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Comment TEXT
{
NT_DEFAULT_VALUE "" ,
NT_FIELD_HEIGHT 3 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
Unit ::= SEQUENCE OF { SEQUENCE {
annot_object OID,
name STRING,
information {
Unit TEXT
{
NT_DEFAULT_VALUE "TBD" ,
NT_FIELD_HEIGHT 1 ,
NT_FIELD_WIDTH 60 },
to_c BOOLEAN
{
NT_DEFAULT_VALUE T ,
NT_PRINTABLE F }
} } }
END
Notes-Values { Esterel-Technologies } DEFINITIONS ::=
BEGIN
Change ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "Change_6",T , T , "RELATIVE" , 0.000000 , 61.456692 , T , T , 350 , 58 , 1 , " CR scade#47 : shorten IO names to ease readability, updated logic to match description (lower than epsilon)" , T }}
Description ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "Description_5",T , T , "RELATIVE" , 350.000000 , 0.000000 , T , T , 400 , 120 , 1 , " Description: This robustness operator verifies if an input value is
too close to zero. If input_1 is too close to zero (lower than epsilon), then output result is set to zero and flag_robustness_activ is set to true.
. Result is set to input value otherwise and flag_robustness_activ is set
to false." , T }}
CopyRight ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "CopyRight_4",T , T , "RELATIVE" , 0.000000 , 40.000000 , F , T , 350 , 21 , 1 , " (C) ZSSM. All rights reserved." , T }}
Date ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "Date_3",T , T , "RELATIVE" , 250.000000 , 20.000000 , F , T , 100 , 20 , 1 , "17/10/2016" , T }}
Author ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "Author_2",T , T , "RELATIVE" , 0.000000 , 20.000000 , F , T , 250 , 20 , 1 , " Modified by: J. Kirsch" , T }}
Title ::= {
{"!ed/8f36/197F/2150/59e4ae083330", "Title_1",T , T , "RELATIVE" , 0.000000 , 0.000000 , F , T , 350 , 20 , 1 , " Title: diagram_verify_epsilon" , T }}
OperatorKind ::= {
{"!ed/8f2d/197F/2150/59e4ae081b2", "OperatorKind_1","Robustness" , T }}
Range ::= {
{"!ed/8f3d/197F/2150/59e4ae08c89", "Range_3","NA" , T },
{"!ed/8f3e/197F/2150/59e4ae087883", "Range_3","NA" , T },
{"!ed/8f3f/197F/2150/59e4ae086f76", "Range_3","NA" , T },
{"!ed/8f40/197F/2150/59e4ae0832e7", "Range_3","NA" , T }}
Comment ::= {
{"!ed/8f3d/197F/2150/59e4ae08c89", "Comment_1","value of minimum value of a variable, near zero (default 10^-19)" , T },
{"!ed/8f3e/197F/2150/59e4ae087883", "Comment_1","0.0 if the input value is too close of epsilon" , T },
{"!ed/8f3f/197F/2150/59e4ae086f76", "Comment_1","true if robustness has been activated during computation" , T },
{"!ed/8f40/197F/2150/59e4ae0832e7", "Comment_1","input value to compare with epsilon" , T }}
Unit ::= {
{"!ed/8f3d/197F/2150/59e4ae08c89", "Unit_2","NA" , T },
{"!ed/8f3e/197F/2150/59e4ae087883", "Unit_2","NA" , T },
{"!ed/8f3f/197F/2150/59e4ae086f76", "Unit_2","NA" , T },
{"!ed/8f40/197F/2150/59e4ae0832e7", "Unit_2","NA" , T }}
END

498
UseCaseDevelopment/Layer2_MMS_SW_Scade/MMS_FMM/verify_epsilon.xscade

@ -0,0 +1,498 @@ @@ -0,0 +1,498 @@
<?xml version="1.0" encoding="UTF-8"?>
<Operator xmlns="http://www.esterel-technologies.com/ns/scade/6" xmlns:ed="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5" xmlns:kcg="http://www.esterel-technologies.com/ns/scade/pragmas/codegen/3" kind="function" name="verify_epsilon">
<inputs>
<Variable name="in">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f40/197F/2150/59e4ae0832e7"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;input value to compare with epsilon&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="epsilon">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3d/197F/2150/59e4ae08c89" hidden="true"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;value of minimum value of a variable, near zero (default 10^-19)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</inputs>
<outputs>
<Variable name="result">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3e/197F/2150/59e4ae087883"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;0.0 if the input value is too close of epsilon&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
<Variable name="flag_robustness_activ">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3f/197F/2150/59e4ae086f76"/>
<kcg:Pragma>
doc &quot;Comment_1&quot; {Comment = &quot;true if robustness has been activated during computation&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Unit_2&quot; {Unit = &quot;NA&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Range_3&quot; {Range = &quot;NA&quot;}
</kcg:Pragma>
</pragmas>
</Variable>
</outputs>
<locals>
<Variable name="_L1">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f37/197F/2150/59e4ae0823b"/>
</pragmas>
</Variable>
<Variable name="_L3">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f38/197F/2150/59e4ae083db4"/>
</pragmas>
</Variable>
<Variable name="_L7">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f39/197F/2150/59e4ae0818b0"/>
</pragmas>
</Variable>
<Variable name="_L11">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3a/197F/2150/59e4ae089f3"/>
</pragmas>
</Variable>
<Variable name="_L12">
<type>
<NamedType>
<type>
<TypeRef name="bool"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3b/197F/2150/59e4ae087031"/>
</pragmas>
</Variable>
<Variable name="_L14">
<type>
<NamedType>
<type>
<TypeRef name="float32"/>
</type>
</NamedType>
</type>
<pragmas>
<ed:Variable oid="!ed/8f3c/197F/2150/59e4ae08d53"/>
</pragmas>
</Variable>
</locals>
<data>
<!-- _L1 = in; -->
<Equation>
<lefts>
<VariableRef name="_L1"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="in"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8f2e/197F/2150/59e4ae083cf9"/>
</pragmas>
</Equation>
<!-- _L3 = 0.0; -->
<Equation>
<lefts>
<VariableRef name="_L3"/>
</lefts>
<right>
<ConstValue value="0.0"/>
</right>
<pragmas>
<ed:Equation oid="!ed/8f2f/197F/2150/59e4ae086941"/>
</pragmas>
</Equation>
<!-- result = _L14; -->
<Equation>
<lefts>
<VariableRef name="result"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L14"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8f30/197F/2150/59e4ae0856ff"/>
</pragmas>
</Equation>
<!-- _L7 = epsilon; -->
<Equation>
<lefts>
<VariableRef name="_L7"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="epsilon"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8f31/197F/2150/59e4ae084f38"/>
</pragmas>
</Equation>
<!-- _L11 = abs(_L1); -->
<Equation>
<lefts>
<VariableRef name="_L11"/>
</lefts>
<right>
<!-- abs(_L1) -->
<CallExpression>
<operator>
<OpCall name="1">
<operator>
<OperatorRef name="abs"/>
</operator>
</OpCall>
</operator>
<callParameters>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</callParameters>
</CallExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8f32/197F/2150/59e4ae0816a5"/>
</pragmas>
</Equation>
<!-- _L12 = _L11 < _L7; -->
<Equation>
<lefts>
<VariableRef name="_L12"/>
</lefts>
<right>
<!-- _L11 < _L7 -->
<BinaryOp name="1" operator="&lt;">
<operands>
<IdExpression>
<path>
<ConstVarRef name="_L11"/>
</path>
</IdExpression>
<IdExpression>
<path>
<ConstVarRef name="_L7"/>
</path>
</IdExpression>
</operands>
</BinaryOp>
</right>
<pragmas>
<ed:Equation oid="!ed/8f33/197F/2150/59e4ae0812c4"/>
</pragmas>
</Equation>
<!-- flag_robustness_activ = _L12; -->
<Equation>
<lefts>
<VariableRef name="flag_robustness_activ"/>
</lefts>
<right>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</right>
<pragmas>
<ed:Equation oid="!ed/8f34/197F/2150/59e4ae083f25"/>
</pragmas>
</Equation>
<!-- _L14 = if _L12 then (_L3) else (_L1); -->
<Equation>
<lefts>
<VariableRef name="_L14"/>
</lefts>
<right>
<!-- if _L12 then (_L3) else (_L1) -->
<IfThenElseOp name="1">
<if>
<IdExpression>
<path>
<ConstVarRef name="_L12"/>
</path>
</IdExpression>
</if>
<then>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L3"/>
</path>
</IdExpression>
</items>
</ListExpression>
</then>
<else>
<ListExpression>
<items>
<IdExpression>
<path>
<ConstVarRef name="_L1"/>
</path>
</IdExpression>
</items>
</ListExpression>
</else>
</IfThenElseOp>
</right>
<pragmas>
<ed:Equation oid="!ed/8f35/197F/2150/59e4ae084ff1"/>
</pragmas>
</Equation>
</data>
<pragmas>
<ed:Operator oid="!ed/8f2d/197F/2150/59e4ae081b2" symbolFile="..\symbols\verify_epsilon.ssl" xmlns="http://www.esterel-technologies.com/ns/scade/pragmas/editor/5">
<diagrams>
<NetDiagram name="diagram_verify_epsilon_1" landscape="true" format="A4 (210 297)" oid="!ed/8f36/197F/2150/59e4ae083330">
<presentationElements>
<EquationGE presentable="!ed/8f2e/197F/2150/59e4ae083cf9">
<position>
<Point x="3731" y="5292"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE kind="OBJ_LIT" presentable="!ed/8f2f/197F/2150/59e4ae086941">
<position>
<Point x="10213" y="5080"/>
</position>
<size>
<Size width="212" height="317"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8f30/197F/2150/59e4ae0856ff">
<position>
<Point x="14235" y="5159"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8f31/197F/2150/59e4ae084f38">
<position>
<Point x="8837" y="4524"/>
</position>
<size>
<Size width="254" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8f32/197F/2150/59e4ae0816a5">
<position>
<Point x="6403" y="3545"/>
</position>
<size>
<Size width="2159" height="810"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8f2e/197F/2150/59e4ae083cf9" dstEquation="!ed/8f32/197F/2150/59e4ae0816a5">
<positions>
<Point x="3995" y="5556"/>
<Point x="5186" y="5556"/>
<Point x="5186" y="3942"/>
<Point x="6403" y="3942"/>
</positions>
</Edge>
<EquationGE presentable="!ed/8f33/197F/2150/59e4ae0812c4">
<position>
<Point x="9922" y="3731"/>
</position>
<size>
<Size width="1016" height="656"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8f34/197F/2150/59e4ae083f25">
<position>
<Point x="14235" y="3810"/>
</position>
<size>
<Size width="338" height="508"/>
</size>
</EquationGE>
<EquationGE presentable="!ed/8f35/197F/2150/59e4ae084ff1">
<position>
<Point x="11377" y="4948"/>
</position>
<size>
<Size width="1016" height="910"/>
</size>
</EquationGE>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8f35/197F/2150/59e4ae084ff1" dstEquation="!ed/8f30/197F/2150/59e4ae0856ff">
<positions>
<Point x="12383" y="5398"/>
<Point x="13335" y="5398"/>
<Point x="13335" y="5398"/>
<Point x="14288" y="5398"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/8f2f/197F/2150/59e4ae086941" dstEquation="!ed/8f35/197F/2150/59e4ae084ff1">
<positions>
<Point x="10425" y="5239"/>
<Point x="10901" y="5239"/>
<Point x="10901" y="5239"/>
<Point x="11377" y="5239"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8f33/197F/2150/59e4ae0812c4" dstEquation="!ed/8f35/197F/2150/59e4ae084ff1">
<positions>
<Point x="10927" y="4075"/>
<Point x="11880" y="4075"/>
<Point x="11880" y="4948"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="2" srcEquation="!ed/8f31/197F/2150/59e4ae084f38" dstEquation="!ed/8f33/197F/2150/59e4ae0812c4">
<positions>
<Point x="9102" y="4789"/>
<Point x="9260" y="4789"/>
<Point x="9260" y="4180"/>
<Point x="9922" y="4180"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8f32/197F/2150/59e4ae0816a5" dstEquation="!ed/8f33/197F/2150/59e4ae0812c4">
<positions>
<Point x="8546" y="3942"/>
<Point x="9234" y="3942"/>
<Point x="9234" y="3942"/>
<Point x="9922" y="3942"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="1" srcEquation="!ed/8f33/197F/2150/59e4ae0812c4" dstEquation="!ed/8f34/197F/2150/59e4ae083f25">
<positions>
<Point x="10927" y="4075"/>
<Point x="12594" y="4075"/>
<Point x="12594" y="4075"/>
<Point x="14288" y="4075"/>
</positions>
</Edge>
<Edge leftVarIndex="1" rightExprIndex="3" srcEquation="!ed/8f2e/197F/2150/59e4ae083cf9" dstEquation="!ed/8f35/197F/2150/59e4ae084ff1">
<positions>
<Point x="3995" y="5556"/>
<Point x="7673" y="5556"/>
<Point x="7673" y="5556"/>
<Point x="11377" y="5556"/>
</positions>
</Edge>
</presentationElements>
</NetDiagram>
</diagrams>
</ed:Operator>
<kcg:Pragma>
doc &quot;OperatorKind_1&quot; {OperatorKind = &quot;Robustness&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Change_6&quot; {Change = &quot; CR scade#47 : shorten IO names to ease readability, updated logic to match description (lower than epsilon)&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Description_5&quot; {Description = &quot; Description: This robustness operator verifies if an input value is too close to zero. If input_1 is too close to zero (lower than epsilon), then output result is set to zero and flag_robustness_activ is set to true. . Result is set to input value otherwise and flag_robustness_activ is set to false.&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Date_3&quot; {Date = &quot;17/10/2016&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Title_1&quot; {Title = &quot; Title: diagram_verify_epsilon&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;Author_2&quot; {Author = &quot; Modified by: J. Kirsch&quot;}
</kcg:Pragma>
<kcg:Pragma>
doc &quot;CopyRight_4&quot; {CopyRight = &quot; (C) ZSSM. All rights reserved.&quot;}
</kcg:Pragma>
</pragmas>
</Operator>
Loading…
Cancel
Save