Taste2SMP.aadl 5.87 KB
Newer Older
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 247 248 249
---------------------------------------------------
-- AADL2.0
-- TASTE
-- (c)Ellidiss Technologies
-- 
---------------------------------------------------

PACKAGE test::FV::mySimulink
PUBLIC

WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM add_value
FEATURES
  inp : IN PARAMETER DataView::MyReal {
    Taste::encoding => NATIVE;
  };
  outp : OUT PARAMETER DataView::MyReal {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END add_value;

SUBPROGRAM IMPLEMENTATION add_value.others
END add_value.others;

END test::FV::mySimulink;

PACKAGE test::FV::myFunction
PUBLIC

WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM run
FEATURES
  initial_value : IN PARAMETER MyReal {
    Taste::encoding => UPER;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END run;

SUBPROGRAM IMPLEMENTATION run.others
END run.others;

SUBPROGRAM cyclic_activation
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END cyclic_activation;

SUBPROGRAM IMPLEMENTATION cyclic_activation.others
END cyclic_activation.others;

SUBPROGRAM obj644
FEATURES
  inp : IN PARAMETER DataView::MyReal {
    Taste::encoding => NATIVE;
  };
  outp : OUT PARAMETER DataView::MyReal {
    Taste::encoding => NATIVE;
  };
END obj644;

SUBPROGRAM IMPLEMENTATION obj644.others
END obj644.others;

SUBPROGRAM obj1273
FEATURES
  result_value : IN PARAMETER DataView::MyReal {
    Taste::encoding => UPER;
  };
END obj1273;

SUBPROGRAM IMPLEMENTATION obj1273.others
END obj1273.others;

END test::FV::myFunction;

PACKAGE test::FV::onLinux
PUBLIC

WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM result
FEATURES
  result_value : IN PARAMETER DataView::MyReal {
    Taste::encoding => UPER;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END result;

SUBPROGRAM IMPLEMENTATION result.others
END result.others;

SUBPROGRAM obj1023
FEATURES
  initial_value : IN PARAMETER MyReal {
    Taste::encoding => UPER;
  };
END obj1023;

SUBPROGRAM IMPLEMENTATION obj1023.others
END obj1023.others;

END test::FV::onLinux;

PACKAGE test::IV
PUBLIC

WITH test::FV::mySimulink;
WITH test::FV::myFunction;
WITH test::FV::onLinux;
WITH test::FV;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM mySimulink
FEATURES
  add_value : PROVIDES SUBPROGRAM ACCESS test::FV::mySimulink::add_value.others {
    Taste::coordinates => "1797 267";
    Taste::RCMoperationKind => unprotected;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
  };
PROPERTIES
  Source_Language => (C);
END mySimulink;

SYSTEM IMPLEMENTATION mySimulink.others
SUBCOMPONENTS
  tunable : DATA DataView::MyInteger {
    Taste::FS_Default_Value => 42;
  };
  add_value_impl : SUBPROGRAM test::FV::mySimulink::add_value.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
CONNECTIONS
  OpToPICnx_add_value_impl : SUBPROGRAM ACCESS add_value_impl -> add_value;
END mySimulink.others;

SYSTEM myFunction
FEATURES
  run : PROVIDES SUBPROGRAM ACCESS test::FV::myFunction::run.others {
    Taste::coordinates => "1170 637";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
  };
  cyclic_activation : PROVIDES SUBPROGRAM ACCESS test::FV::myFunction::cyclic_activation.others {
    Taste::coordinates => "1106 194";
    Taste::RCMoperationKind => cyclic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
  };
  obj644 : REQUIRES SUBPROGRAM ACCESS test::FV::mySimulink::add_value.others {
    Taste::coordinates => "1376 267";
    Taste::RCMoperationKind => any;
  };
  obj1273 : REQUIRES SUBPROGRAM ACCESS test::FV::onLinux::result.others {
    Taste::coordinates => "1001 637";
    Taste::RCMoperationKind => any;
  };
PROPERTIES
  Source_Language => (C);
END myFunction;

SYSTEM IMPLEMENTATION myFunction.others
SUBCOMPONENTS
  run_impl : SUBPROGRAM test::FV::myFunction::run.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
  cyclic_activation_impl : SUBPROGRAM test::FV::myFunction::cyclic_activation.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
CONNECTIONS
  OpToPICnx_run_impl : SUBPROGRAM ACCESS run_impl -> run;
  OpToPICnx_cyclic_activation_impl : SUBPROGRAM ACCESS cyclic_activation_impl -> cyclic_activation;
END myFunction.others;

SYSTEM onLinux
FEATURES
  result : PROVIDES SUBPROGRAM ACCESS test::FV::onLinux::result.others {
    Taste::coordinates => "1001 923";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
  };
  obj1023 : REQUIRES SUBPROGRAM ACCESS test::FV::myFunction::run.others {
    Taste::coordinates => "1170 923";
    Taste::RCMoperationKind => any;
  };
PROPERTIES
  Source_Language => (C);
END onLinux;

SYSTEM IMPLEMENTATION onLinux.others
SUBCOMPONENTS
  result_impl : SUBPROGRAM test::FV::onLinux::result.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
CONNECTIONS
  OpToPICnx_result_impl : SUBPROGRAM ACCESS result_impl -> result;
END onLinux.others;

SYSTEM test
END test;

SYSTEM IMPLEMENTATION test.others
SUBCOMPONENTS
  mySimulink : SYSTEM test::IV::mySimulink.others {
    Taste::coordinates => "1797 193 2408 690";
  };
  myFunction : SYSTEM test::IV::myFunction.others {
    Taste::coordinates => "859 194 1376 637";
  };
  onLinux : SYSTEM test::IV::onLinux.others {
    Taste::coordinates => "854 923 1365 1381";
  };
CONNECTIONS
  obj744 : SUBPROGRAM ACCESS mySimulink.add_value -> myFunction.obj644 {
    Taste::coordinates => "1376 267 1586 267 1586 267 1797 267";
  };
  obj1135 : SUBPROGRAM ACCESS myFunction.run -> onLinux.obj1023 {
    Taste::coordinates => "1170 923 1170 780 1170 780 1170 637";
  };
  obj1374 : SUBPROGRAM ACCESS onLinux.result -> myFunction.obj1273 {
    Taste::coordinates => "1001 637 1001 780 1001 780 1001 923";
  };
END test.others;

PROPERTIES
  Taste::dataView => ("DataView");
  Taste::dataViewPath => ("TASTE-Dataview.aadl");
  Taste::coordinates => "0 0 2970 2100";
END test::IV;

PACKAGE test::FV
PUBLIC

WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
END test::FV;