InterfaceView.aadl 13.1 KB
Newer Older
Maxime Perrotin's avatar
Maxime Perrotin committed
1 2 3 4 5 6 7 8
---------------------------------------------------
-- AADL2.0
-- TASTE
-- 
-- 
---------------------------------------------------

PACKAGE interfaceview::FV::Controller
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
9
PUBLIC
Maxime Perrotin's avatar
Maxime Perrotin committed
10

Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
11
WITH Taste;
Maxime Perrotin's avatar
Maxime Perrotin committed
12 13 14 15 16 17
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_Pulse
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_Pulse;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
18

Maxime Perrotin's avatar
Maxime Perrotin committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32
SUBPROGRAM IMPLEMENTATION PI_Pulse.others
END PI_Pulse.others;

SUBPROGRAM PI_Floor_Command
FEATURES
  button : IN PARAMETER DataView::Floor_button {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_Floor_Command;

SUBPROGRAM IMPLEMENTATION PI_Floor_Command.others
END PI_Floor_Command.others;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
33

Maxime Perrotin's avatar
Maxime Perrotin committed
34 35 36 37 38 39 40 41 42 43 44
SUBPROGRAM PI_Cabin_Command
FEATURES
  button : IN PARAMETER DataView::Cabin_button {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_Cabin_Command;

SUBPROGRAM IMPLEMENTATION PI_Cabin_Command.others
END PI_Cabin_Command.others;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
45

Maxime Perrotin's avatar
Maxime Perrotin committed
46 47 48 49 50 51 52 53
SUBPROGRAM PI_Manual_Control
FEATURES
  cmd : IN PARAMETER DataView::Lift_control {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_Manual_Control;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
54

Maxime Perrotin's avatar
Maxime Perrotin committed
55 56
SUBPROGRAM IMPLEMENTATION PI_Manual_Control.others
END PI_Manual_Control.others;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
57

Maxime Perrotin's avatar
Maxime Perrotin committed
58 59 60 61 62
SUBPROGRAM PI_Start
FEATURES
  start_param : IN PARAMETER DataView::Start_condition {
    Taste::encoding => NATIVE;
  };
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
63
PROPERTIES
Maxime Perrotin's avatar
Maxime Perrotin committed
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
  Taste::Associated_Queue_Size => 1;
END PI_Start;

SUBPROGRAM IMPLEMENTATION PI_Start.others
END PI_Start.others;

SUBPROGRAM RI_Operate_lift
FEATURES
  lift_command : IN PARAMETER DataView::Lift_control {
    Taste::encoding => NATIVE;
  };
  lift_sensors : OUT PARAMETER DataView::Lift_sensor {
    Taste::encoding => NATIVE;
  };
END RI_Operate_lift;

SUBPROGRAM IMPLEMENTATION RI_Operate_lift.others
END RI_Operate_lift.others;

SUBPROGRAM RI_door_status
FEATURES
  status : IN PARAMETER DataView::OpenClose {
    Taste::encoding => NATIVE;
  };
END RI_door_status;

SUBPROGRAM IMPLEMENTATION RI_door_status.others
END RI_door_status.others;

SUBPROGRAM RI_floor_detected
FEATURES
  floor : IN PARAMETER DataView::Floors {
    Taste::encoding => NATIVE;
  };
END RI_floor_detected;

SUBPROGRAM IMPLEMENTATION RI_floor_detected.others
END RI_floor_detected.others;

SUBPROGRAM RI_position
FEATURES
  pos : IN PARAMETER DataView::Position {
    Taste::encoding => NATIVE;
  };
END RI_position;

SUBPROGRAM IMPLEMENTATION RI_position.others
END RI_position.others;

END interfaceview::FV::Controller;

PACKAGE interfaceview::FV::Lift_Model
PUBLIC
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
117

Maxime Perrotin's avatar
Maxime Perrotin committed
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_Operate_lift
FEATURES
  lift_command : IN PARAMETER DataView::Lift_control {
    Taste::encoding => NATIVE;
  };
  lift_sensors : OUT PARAMETER DataView::Lift_sensor {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_Operate_lift;

SUBPROGRAM IMPLEMENTATION PI_Operate_lift.others
END PI_Operate_lift.others;

END interfaceview::FV::Lift_Model;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
137 138 139 140

PACKAGE interfaceview::IV::Lift
PUBLIC

Maxime Perrotin's avatar
Maxime Perrotin committed
141 142 143
WITH interfaceview::FV::Controller;
WITH interfaceview::FV::Lift_Model;
WITH interfaceview::FV::User;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
144 145
WITH interfaceview::FV;
WITH Taste;
Maxime Perrotin's avatar
Maxime Perrotin committed
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
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM Controller
FEATURES
  PI_Pulse : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Pulse.others {
    Taste::coordinates => "1783 671";
    Taste::RCMoperationKind => cyclic;
    Taste::RCMperiod => 50 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Pulse";
  };
  PI_Floor_Command : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Floor_Command.others {
    Taste::coordinates => "1519 816";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Floor_Command";
  };
  PI_Cabin_Command : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Cabin_Command.others {
    Taste::coordinates => "1519 917";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Cabin_Command";
  };
  PI_Manual_Control : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Manual_Control.others {
    Taste::coordinates => "1519 1017";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Manual_Control";
  };
  PI_Start : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Start.others {
    Taste::coordinates => "1519 1467";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Start";
  };
  RI_Operate_lift : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::Lift_Model::PI_Operate_lift.others {
    Taste::coordinates => "2027 859";
    Taste::RCMoperationKind => unprotected;
    Taste::InterfaceName => "Operate_lift";
    Taste::labelInheritance => "true";
  };
  RI_door_status : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::User::PI_door_status.others {
    Taste::coordinates => "1519 1128";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "door_status";
    Taste::labelInheritance => "true";
  };
  RI_floor_detected : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::User::PI_floor_detected.others {
    Taste::coordinates => "1519 1237";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "floor_detected";
    Taste::labelInheritance => "true";
  };
  RI_position : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::User::PI_position.others {
    Taste::coordinates => "1519 1338";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "position";
    Taste::labelInheritance => "true";
  };
PROPERTIES
  Source_Language => (RTDS);
END Controller;

SYSTEM IMPLEMENTATION Controller.others
SUBCOMPONENTS
  starting_floor : DATA DataView::Floors {
    Taste::FS_Default_Value => "floor_0";
  };
END Controller.others;

SYSTEM Lift_Model
FEATURES
  PI_Operate_lift : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Lift_Model::PI_Operate_lift.others {
    Taste::coordinates => "2306 859";
    Taste::RCMoperationKind => unprotected;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "Operate_lift";
  };
PROPERTIES
  Source_Language => (Simulink);
END Lift_Model;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
232

Maxime Perrotin's avatar
Maxime Perrotin committed
233 234
SYSTEM IMPLEMENTATION Lift_Model.others
END Lift_Model.others;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
235 236

PROPERTIES
Maxime Perrotin's avatar
Maxime Perrotin committed
237
  Taste::coordinates => "1331 348 2897 1788";
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
238 239
END interfaceview::IV::Lift;

Maxime Perrotin's avatar
Maxime Perrotin committed
240
PACKAGE interfaceview::FV::User
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
241 242
PUBLIC

Maxime Perrotin's avatar
Maxime Perrotin committed
243
WITH Taste;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
244
WITH DataView;
Maxime Perrotin's avatar
Maxime Perrotin committed
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
WITH TASTE_IV_Properties;
SUBPROGRAM PI_door_status
FEATURES
  status : IN PARAMETER DataView::OpenClose {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_door_status;

SUBPROGRAM IMPLEMENTATION PI_door_status.others
END PI_door_status.others;

SUBPROGRAM PI_floor_detected
FEATURES
  floor : IN PARAMETER DataView::Floors {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_floor_detected;

SUBPROGRAM IMPLEMENTATION PI_floor_detected.others
END PI_floor_detected.others;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
269

Maxime Perrotin's avatar
Maxime Perrotin committed
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
SUBPROGRAM PI_position
FEATURES
  pos : IN PARAMETER DataView::Position {
    Taste::encoding => NATIVE;
  };
PROPERTIES
  Taste::Associated_Queue_Size => 1;
END PI_position;

SUBPROGRAM IMPLEMENTATION PI_position.others
END PI_position.others;

SUBPROGRAM RI_Floor_Command
FEATURES
  button : IN PARAMETER DataView::Floor_button {
    Taste::encoding => NATIVE;
  };
END RI_Floor_Command;

SUBPROGRAM IMPLEMENTATION RI_Floor_Command.others
END RI_Floor_Command.others;

SUBPROGRAM RI_Cabin_Command
FEATURES
  button : IN PARAMETER DataView::Cabin_button {
    Taste::encoding => NATIVE;
  };
END RI_Cabin_Command;

SUBPROGRAM IMPLEMENTATION RI_Cabin_Command.others
END RI_Cabin_Command.others;

SUBPROGRAM RI_Manual_Control
FEATURES
  cmd : IN PARAMETER DataView::Lift_control {
    Taste::encoding => NATIVE;
  };
END RI_Manual_Control;

SUBPROGRAM IMPLEMENTATION RI_Manual_Control.others
END RI_Manual_Control.others;

SUBPROGRAM RI_Start
FEATURES
  start_param : IN PARAMETER DataView::Start_condition {
    Taste::encoding => NATIVE;
  };
END RI_Start;

SUBPROGRAM IMPLEMENTATION RI_Start.others
END RI_Start.others;

END interfaceview::FV::User;

PACKAGE interfaceview::IV
PUBLIC

WITH interfaceview::IV::Lift;
WITH interfaceview::FV::User;
WITH interfaceview::FV::Controller;
WITH interfaceview::FV;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM User
FEATURES
  PI_door_status : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::User::PI_door_status.others {
    Taste::coordinates => "896 1128";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "door_status";
  };
  PI_floor_detected : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::User::PI_floor_detected.others {
    Taste::coordinates => "896 1237";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "floor_detected";
  };
  PI_position : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::User::PI_position.others {
    Taste::coordinates => "896 1338";
    Taste::RCMoperationKind => sporadic;
    Taste::RCMperiod => 0 ms;
    Taste::Deadline => 0 ms;
    Taste::InterfaceName => "position";
  };
  RI_Floor_Command : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Floor_Command.others {
    Taste::coordinates => "896 816";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "Floor_Command";
    Taste::labelInheritance => "true";
  };
  RI_Cabin_Command : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Cabin_Command.others {
    Taste::coordinates => "896 917";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "Cabin_Command";
    Taste::labelInheritance => "true";
  };
  RI_Manual_Control : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Manual_Control.others {
    Taste::coordinates => "896 1017";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "Manual_Control";
    Taste::labelInheritance => "true";
  };
  RI_Start : REQUIRES SUBPROGRAM ACCESS interfaceview::FV::Controller::PI_Start.others {
    Taste::coordinates => "896 1467";
    Taste::RCMoperationKind => sporadic;
    Taste::InterfaceName => "Start";
    Taste::labelInheritance => "true";
  };
PROPERTIES
  Source_Language => (GUI);
END User;

SYSTEM IMPLEMENTATION User.others
SUBCOMPONENTS
  door_status_impl : SUBPROGRAM interfaceview::FV::User::PI_door_status.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
  floor_detected_impl : SUBPROGRAM interfaceview::FV::User::PI_floor_detected.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
  position_impl : SUBPROGRAM interfaceview::FV::User::PI_position.others {
    Compute_Execution_Time => 0 ms .. 0 ms;
  };
CONNECTIONS
  OpToPICnx_door_status_impl : SUBPROGRAM ACCESS door_status_impl -> PI_door_status;
  OpToPICnx_floor_detected_impl : SUBPROGRAM ACCESS floor_detected_impl -> PI_floor_detected;
  OpToPICnx_position_impl : SUBPROGRAM ACCESS position_impl -> PI_position;
END User.others;

SYSTEM interfaceview
END interfaceview;

SYSTEM IMPLEMENTATION interfaceview.others
SUBCOMPONENTS
  Controller : SYSTEM interfaceview::IV::Lift::Controller.others {
    Taste::coordinates => "1519 671 2027 1599";
  };
  Lift_Model : SYSTEM interfaceview::IV::Lift::Lift_Model.others {
    Taste::coordinates => "2306 631 2835 1403";
  };
  User : SYSTEM interfaceview::IV::User.others {
    Taste::coordinates => "250 606 896 1587";
  };
CONNECTIONS
  Controller_Floor_Command_User_Floor_Command : SUBPROGRAM ACCESS Controller.PI_Floor_Command -> User.RI_Floor_Command {
    Taste::coordinates => "896 816 1207 816 1207 816 1519 816";
  };
  Controller_Cabin_Command_User_Cabin_Command : SUBPROGRAM ACCESS Controller.PI_Cabin_Command -> User.RI_Cabin_Command {
    Taste::coordinates => "896 917 1207 917 1207 917 1519 917";
  };
  Controller_Manual_Control_User_Manual_Control : SUBPROGRAM ACCESS Controller.PI_Manual_Control -> User.RI_Manual_Control {
    Taste::coordinates => "896 1017 1207 1017 1207 1017 1519 1017";
  };
  Controller_Start_User_Start : SUBPROGRAM ACCESS Controller.PI_Start -> User.RI_Start {
    Taste::coordinates => "896 1467 1207 1467 1207 1467 1519 1467";
  };
  Lift_Model_Operate_lift_Controller_Operate_lift : SUBPROGRAM ACCESS Lift_Model.PI_Operate_lift -> Controller.RI_Operate_lift {
    Taste::coordinates => "2027 859 2166 859 2166 859 2306 859";
  };
  User_door_status_Controller_door_status : SUBPROGRAM ACCESS User.PI_door_status -> Controller.RI_door_status {
    Taste::coordinates => "1519 1128 1207 1128 1207 1128 896 1128";
  };
  User_floor_detected_Controller_floor_detected : SUBPROGRAM ACCESS User.PI_floor_detected -> Controller.RI_floor_detected {
    Taste::coordinates => "1519 1237 1207 1237 1207 1237 896 1237";
  };
  User_position_Controller_position : SUBPROGRAM ACCESS User.PI_position -> Controller.RI_position {
    Taste::coordinates => "1519 1338 1207 1338 1207 1338 896 1338";
  };
END interfaceview.others;

PROPERTIES
  Taste::dataView => ("DataView");
  Taste::dataViewPath => ("DataView.aadl");
  Taste::coordinates => "0 0 2970 2100";
  Taste::version => "1.3.19";
END interfaceview::IV;

PACKAGE interfaceview::FV
PUBLIC

WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
Thanassis Tsiodras's avatar
Thanassis Tsiodras committed
456 457
END interfaceview::FV;