DemoCV.aadl 6.11 KB
Newer Older
Jerome Legrand's avatar
Jerome Legrand committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
---------------------------------------------------
-- AADL2.1
-- TASTE type concurrencyview
-- (c)Ellidiss Technologies
-- generated code: do not edit
---------------------------------------------------

PROPERTY SET AI IS
  Root_System : AADLSTRING
    APPLIES TO(SYSTEM IMPLEMENTATION);
  Disabled_Processing_Tools : LIST OF AADLSTRING
    APPLIES TO(SYSTEM IMPLEMENTATION);
END AI;

PACKAGE concurrencyview::CV
PUBLIC
WITH AI;
WITH ocarina_processors_x86;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node1;
WITH deploymentview::DV::Node2;

SYSTEM deployment
END deployment;

SYSTEM IMPLEMENTATION deployment.final
SUBCOMPONENTS
  Node1_x86_linux : PROCESSOR ocarina_processors_x86::x86.linux;
  Node2_x86_linux : PROCESSOR ocarina_processors_x86::x86.linux;
  Node1_App1 : PROCESS Node1_App1.final;
  Node2_App2 : PROCESS Node2_App2.final;
PROPERTIES
  AI::Root_System => "generated";
  Actual_Processor_Binding => (REFERENCE(Node1_x86_linux)) APPLIES TO Node1_App1;
  Actual_Processor_Binding => (REFERENCE(Node2_x86_linux)) APPLIES TO Node2_App2;
  Scheduling_Protocol => (POSIX_1003_Highest_Priority_First_Protocol) APPLIES TO Node1_x86_linux;
  Scheduling_Protocol => (POSIX_1003_Highest_Priority_First_Protocol) APPLIES TO Node2_x86_linux;
END deployment.final;

PROCESS Node1_App1
EXTENDS deploymentview::DV::Node1::App1
END Node1_App1;

PROCESS IMPLEMENTATION Node1_App1.final
SUBCOMPONENTS
  Node1_IV_S1_PI_clock : THREAD Node1_IV_S1_PI_clock.final;
  Node1_IV_S2_PI_clock : THREAD Node1_IV_S2_PI_clock.final;
  Node1_IV_Preproc_PI_clock : THREAD Node1_IV_Preproc_PI_clock.final;
  Node1_IV_Preproc_PI_getVal : THREAD Node1_IV_Preproc_PI_getVal.final;
  Node1_IV_S1_PI_getVal1 : SUBPROGRAM Node1_IV_S1_PI_getVal1.final;
  Node1_IV_S2_PI_getVal2 : SUBPROGRAM Node1_IV_S2_PI_getVal2.final;
END Node1_App1.final;

PROCESS Node2_App2
EXTENDS deploymentview::DV::Node2::App2
END Node2_App2;

PROCESS IMPLEMENTATION Node2_App2.final
SUBCOMPONENTS
  Node2_IV_Postproc_PI_clock : THREAD Node2_IV_Postproc_PI_clock.final;
  Node2_IV_A1_PI_clock : THREAD Node2_IV_A1_PI_clock.final;
  Node2_IV_A2_PI_clock : THREAD Node2_IV_A2_PI_clock.final;
  Node2_IV_A1_PI_setVal1 : SUBPROGRAM Node2_IV_A1_PI_setVal1.final;
  Node2_IV_A2_PI_setVal2 : SUBPROGRAM Node2_IV_A2_PI_setVal2.final;
END Node2_App2.final;

THREAD Node1_IV_S1_PI_clock
END Node1_IV_S1_PI_clock;

THREAD IMPLEMENTATION Node1_IV_S1_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 10ms;
  Deadline => 10ms;
  Compute_Execution_Time => 2ms..2ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 1ms )
  };
**};

END Node1_IV_S1_PI_clock.final;

THREAD Node1_IV_S2_PI_clock
END Node1_IV_S2_PI_clock;

THREAD IMPLEMENTATION Node1_IV_S2_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 10ms;
  Deadline => 10ms;
  Compute_Execution_Time => 2ms..2ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 1ms )
  };
**};

END Node1_IV_S2_PI_clock.final;

THREAD Node1_IV_Preproc_PI_clock
END Node1_IV_Preproc_PI_clock;

THREAD IMPLEMENTATION Node1_IV_Preproc_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 10ms;
  Deadline => 10ms;
  Compute_Execution_Time => 2ms..2ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 2ms );
    Node1_IV_S1_PI_getVal1 !;
    Node1_IV_S2_PI_getVal2 !
  };
**};

END Node1_IV_Preproc_PI_clock.final;

THREAD Node1_IV_Preproc_PI_getVal
END Node1_IV_Preproc_PI_getVal;

THREAD IMPLEMENTATION Node1_IV_Preproc_PI_getVal.final
PROPERTIES
  Dispatch_Protocol => Sporadic;
  Period => 10ms;
  Deadline => 0ms;
  Compute_Execution_Time => 1ms..1ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 2ms );
    Node1_IV_S1_PI_getVal1 !;
    Node1_IV_S2_PI_getVal2 !
  };
**};

END Node1_IV_Preproc_PI_getVal.final;

THREAD Node2_IV_Postproc_PI_clock
END Node2_IV_Postproc_PI_clock;

THREAD IMPLEMENTATION Node2_IV_Postproc_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 20ms;
  Deadline => 20ms;
  Compute_Execution_Time => 5ms..5ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 5ms );
    Node2_IV_A1_PI_setVal1 !;
    Node2_IV_A2_PI_setVal2 !
  };
**};

END Node2_IV_Postproc_PI_clock.final;

THREAD Node2_IV_A1_PI_clock
END Node2_IV_A1_PI_clock;

THREAD IMPLEMENTATION Node2_IV_A1_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 15ms;
  Deadline => 15ms;
  Compute_Execution_Time => 2ms..2ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 1ms )
  };
**};

END Node2_IV_A1_PI_clock.final;

THREAD Node2_IV_A2_PI_clock
END Node2_IV_A2_PI_clock;

THREAD IMPLEMENTATION Node2_IV_A2_PI_clock.final
PROPERTIES
  Dispatch_Protocol => Periodic;
  Period => 25ms;
  Deadline => 25ms;
  Compute_Execution_Time => 10ms..10ms;
ANNEX behavior_specification {**
  STATES
    s : INITIAL COMPLETE FINAL STATE;
  TRANSITIONS
    t : s -[  ]-> s {
    COMPUTATION ( 1ms )
  };
**};

END Node2_IV_A2_PI_clock.final;

SUBPROGRAM Node1_IV_S1_PI_getVal1
PROPERTIES
  Compute_Execution_Time => 1ms..1ms;
END Node1_IV_S1_PI_getVal1;

SUBPROGRAM IMPLEMENTATION Node1_IV_S1_PI_getVal1.final
END Node1_IV_S1_PI_getVal1.final;

SUBPROGRAM Node1_IV_S2_PI_getVal2
PROPERTIES
  Compute_Execution_Time => 1ms..1ms;
END Node1_IV_S2_PI_getVal2;

SUBPROGRAM IMPLEMENTATION Node1_IV_S2_PI_getVal2.final
END Node1_IV_S2_PI_getVal2.final;

SUBPROGRAM Node2_IV_A1_PI_setVal1
PROPERTIES
  Compute_Execution_Time => 1ms..1ms;
END Node2_IV_A1_PI_setVal1;

SUBPROGRAM IMPLEMENTATION Node2_IV_A1_PI_setVal1.final
END Node2_IV_A1_PI_setVal1.final;

SUBPROGRAM Node2_IV_A2_PI_setVal2
PROPERTIES
  Compute_Execution_Time => 1ms..1ms;
END Node2_IV_A2_PI_setVal2;

SUBPROGRAM IMPLEMENTATION Node2_IV_A2_PI_setVal2.final
END Node2_IV_A2_PI_setVal2.final;

END concurrencyview::CV;