Commit 965c93d9 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

Update to TASTEv2 AADL format.

parent 6f560cd8
PACKAGE deploymentview::DV
PUBLIC
WITH Deployment;
WITH Taste;
WITH interfaceview::IV;
WITH ocarina_processors_leon;
---------------------------------------------------
-- TASTE Deployement View
---------------------------------------------------
----------------------
-- ProcessorBoards --
----------------------
SYSTEM obj95_obj80
END obj95_obj80;
PROCESS demo_obj102
END demo_obj102;
PROCESS IMPLEMENTATION demo_obj102.others
END demo_obj102.others;
MEMORY obj125_obj113
END obj125_obj113;
MEMORY IMPLEMENTATION obj125_obj113.others
END obj125_obj113.others;
SYSTEM IMPLEMENTATION obj95_obj80.others
SUBCOMPONENTS
demo_obj102 : PROCESS demo_obj102.others
{ Taste::Coordinates => "909 427 1689 874";
Deployment::Port_Number => 0;};
F1_obj124 : SYSTEM interfaceview::IV::F1
{ Taste::Coordinates => "1023 527 1172 818" ;};
F2_obj135 : SYSTEM interfaceview::IV::F2
{ Taste::Coordinates => "1324 563 1582 846" ;};
obj105_obj91 : PROCESSOR ocarina_processors_leon::leon.rtems_posix
{ Taste::Coordinates => "816 372 1744 924"; };
obj125_obj113 : MEMORY obj125_obj113.others
{ Taste::Coordinates => "1450 1113 2396 1310"; };
PROPERTIES
-- Connexion des CPUs aux process/drivers
Actual_Processor_Binding => (reference (obj105_obj91)) applies to demo_obj102;
Taste::APLC_Binding => (reference(demo_obj102)) APPLIES TO F1_obj124;
Taste::APLC_Binding => (reference(demo_obj102)) APPLIES TO F2_obj135;
Actual_Memory_Binding => (reference (obj125_obj113)) applies to demo_obj102;
END obj95_obj80.others;
--------------
-- Devices--
--------------
-----------
-- Buses --
-----------
-----------------
-- Root System --
-----------------
SYSTEM deploymentview
END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
-- The processor boards
obj95_obj80 : SYSTEM obj95_obj80.others
{ Taste::Coordinates => "630 262 2485 1366"; };
-- The devices
-- The buses
-- The IV systems
interfaceview_obj200 : SYSTEM interfaceview::IV::interfaceview.others;
END deploymentview.others;
PROPERTIES
Taste::Coordinates => "0 0 2970 2100";
Taste::interfaceView => "InterfaceView.aadl";
END deploymentview::DV;
---------------------------------------
-- copied aadl libraries
-- TASTE requirement
-- Do not edit below this line
---------------------------------------
package ocarina_buses
public
bus generic_bus
end generic_bus;
bus implementation generic_bus.i
end generic_bus.i;
bus dummy_bus
end dummy_bus;
bus implementation dummy_bus.i
end dummy_bus.i;
bus ip
end ip;
bus implementation ip.pohic
end ip.pohic;
bus implementation ip.i
subcomponents
asn : virtual bus asn1.i;
pohic : virtual bus pohi.c;
pohiada : virtual bus pohi.ada;
end ip.i;
bus implementation ip.pohiada
end ip.pohiada;
bus spacewire
end spacewire;
bus implementation spacewire.generic
end spacewire.generic;
bus serial
end serial;
bus implementation serial.generic
end serial.generic;
----------------------
-- Virtual buses --
----------------------
virtual bus raw
end raw;
virtual bus implementation raw.i
end raw.i;
virtual bus asn1
end asn1;
virtual bus implementation asn1.i
end asn1.i;
virtual bus pohi
end pohi;
virtual bus implementation pohi.c
end pohi.c;
virtual bus implementation pohi.ada
end pohi.ada;
end ocarina_buses;
package ocarina_drivers
public
with deployment;
with ocarina_buses;
with Data_Model;
with Base_Types;
with ocarina_drivers_leon_serial;
with ocarina_drivers_rasta_1553;
with ocarina_drivers_rasta_serial;
with ocarina_drivers_rasta_spacewire;
with ocarina_drivers_rtems_ne2000;
with ocarina_drivers_udp_exarm;
with ocarina_drivers_serial;
with ocarina_drivers_ip_pohic;
with ocarina_drivers_exarm_ni_6071e_analog;
with ocarina_drivers_exarm_ni_6071e_digital;
with ocarina_drivers_generic_keyboard;
with GRUART;
with GRSPW;
with Native_UART;
with TCP_IP_Protocol;
------------------------
-- Configuration Type --
------------------------
data configuration_type_ip
properties
Type_Source_Name => "IP-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-IP";
Source_Language => ASN1;
Source_Text => ("~/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/ip.asn" , "drivers/configuration/ip.h");
end configuration_type_ip;
data configuration_type_serial
properties
Type_Source_Name => "Serial-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-UART";
Source_Language => ASN1;
Source_Text => ("~/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn", "drivers/configuration/serial.h");
end configuration_type_serial;
data configuration_type_spacewire
properties
Type_Source_Name => "Spacewire-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-SPACEWIRE";
Source_Language => ASN1;
Source_Text => ("~/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/spacewire.asn", "drivers/configuration/spacewire.h");
end configuration_type_spacewire;
--------------
-- Keyboard --
--------------
device generic_keyboard
features
key_pressed : out data port Base_Types::Character;
properties
Deployment::Driver_Name => "generic_keyboard";
Device_Driver => classifier (ocarina_drivers_generic_keyboard::generic_keyboard_driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_generic_keyboard::spg_generic_keyboard_init);
end generic_keyboard;
device implementation generic_keyboard.linux
end generic_keyboard.linux;
------------------
-- RASTA SERIAL --
------------------
device leon_serial
features
serialaccess : requires bus access ocarina_buses::serial.generic;
end leon_serial;
device implementation leon_serial.raw
properties
Deployment::Driver_Name => "serial_leon";
Device_Driver => classifier (ocarina_drivers_leon_serial::serial_driver.leon);
Initialize_Entrypoint => classifier (ocarina_drivers_leon_serial::spg_serial_init_leon);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end leon_serial.raw;
device implementation leon_serial.raw_sender
properties
Deployment::Driver_Name => "serial_leon_sender";
Device_Driver => classifier (ocarina_drivers_leon_serial::serial_driver.leon_sender);
Initialize_Entrypoint => classifier (ocarina_drivers_leon_serial::spg_serial_init_leon_sender);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end leon_serial.raw_sender;
----------------
-- RASTA 1553 --
----------------
device rasta_1553
end rasta_1553;
device implementation rasta_1553.terminal
properties
Deployment::Driver_Name => "1553_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_terminal);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_terminal);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.terminal;
device implementation rasta_1553.controller_sender_only
properties
Deployment::Driver_Name => "1553_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_controller_sender_only);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_controller);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.controller_sender_only;
------------------
-- RASTA SERIAL --
------------------
device rasta_serial
features
serialaccess : requires bus access ocarina_buses::serial.generic;
end rasta_serial;
device implementation rasta_serial.raw
properties
Deployment::Driver_Name => "serial_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_serial::serial_driver.rasta);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_serial::spg_serial_init_rasta);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.raw;
device implementation rasta_serial.pohiada
properties
Deployment::Driver_Name => "serial_rasta";
Implemented_As => classifier (GRUART::Driver_GRUART_Protocol.impl);
Initialize_Entrypoint => classifier (GRUART::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.pohiada;
---------------------
-- RASTA SPACEWIRE --
---------------------
device rasta_spacewire
features
spwaccess : requires bus access ocarina_buses::spacewire.generic;
end rasta_spacewire;
device implementation rasta_spacewire.pohic
properties
Deployment::Driver_Name => "spacewire_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_spacewire::spacewire_driver.rasta);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_spacewire::spg_spacewire_init_rasta);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohic;
device implementation rasta_spacewire.pohiada
properties
Deployment::Driver_Name => "spacewire_rasta";
Implemented_As => classifier (GRSPW::Driver_GRSPW_Protocol.impl);
Initialize_Entrypoint => classifier (GRSPW::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohiada;
---------------------------
-- Generic serial driver --
---------------------------
device generic_serial
features
serialaccess : requires bus access ocarina_buses::serial.generic;
end generic_serial;
device implementation generic_serial.raw
properties
Deployment::Driver_Name => "serial_linux";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw;
device implementation generic_serial.pohiada
properties
Deployment::Driver_Name => "serial_linux";
Implemented_As =>
classifier (Native_UART::Driver_Native_UART_Protocol.impl);
Initialize_Entrypoint => classifier (Native_UART::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.pohiada;
device implementation generic_serial.raw_sender
properties
Deployment::Driver_Name => "serial_linux_sender";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux_sender);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux_sender);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_sender;
device implementation generic_serial.raw_receiver
properties
Deployment::Driver_Name => "serial_linux_receiver";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux_receiver);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux_receiver);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_receiver;
-------------------------------
-- Generic sockets/ip driver --
-------------------------------
device generic_sockets_ip
features
thebus : requires bus access ocarina_buses::ip.i;
end generic_sockets_ip;
device implementation generic_sockets_ip.pohic
properties
Deployment::Driver_Name => "sockets";
Device_Driver => classifier (ocarina_drivers_ip_pohic::sockets_impl.i);
Initialize_Entrypoint => classifier (ocarina_drivers_ip_pohic::spg_sockets_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end generic_sockets_ip.pohic;
device implementation generic_sockets_ip.pohiada
properties
Deployment::Driver_Name => "socketsnew";
Implemented_As => classifier (TCP_IP_Protocol::Driver_TCP_IP_Protocol.impl);
Initialize_Entrypoint => classifier (TCP_IP_Protocol::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end generic_sockets_ip.pohiada;
------------------
-- RTEMS NE2000 --
------------------
device rtems_ne2000
features
thebus : requires bus access ocarina_buses::ip.i;
end rtems_ne2000;
device implementation rtems_ne2000.ip_pohic
properties
Deployment::Driver_Name => "rtems_ne2000_sockets";
Device_Driver => classifier (ocarina_drivers_rtems_ne2000::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_rtems_ne2000::init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rtems_ne2000.ip_pohic;
------------------------------------------
-- Exarm UDP driver --
------------------------------------------
-- This driver is used to communicate --
-- with the exarm robot and also --
-- the Matlab simulator. --
------------------------------------------
device exarm_ip
features
thebus : requires bus access ocarina_buses::ip.i;
end exarm_ip;
device implementation exarm_ip.vr_udp
properties
Deployment::Driver_Name => "exarm";
Device_Driver => classifier (ocarina_drivers_udp_exarm::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_udp_exarm::init);
end exarm_ip.vr_udp;
data exarm_protocol_data
end exarm_protocol_data;
data implementation exarm_protocol_data.vr extends ocarina_drivers_udp_exarm::protocol.vr
properties
Data_Model::Data_Representation => Struct;
end exarm_protocol_data.vr;
data implementation exarm_protocol_data.robot extends ocarina_drivers_udp_exarm::protocol.robot
properties
Data_Model::Data_Representation => Struct;
end exarm_protocol_data.robot;
---------------------------------------
-- Devices for the Exo skeleton --
-- National Instruments PCI-6071E --
---------------------------------------
-- This device is used to make data --
-- acquisition of the EXARM robot. --
---------------------------------------
device exarm_ni_6071e_analog
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end exarm_ni_6071e_analog;
device implementation exarm_ni_6071e_analog.i
properties
Deployment::Driver_Name => "exarm_ni_6071e_analog";
Device_Driver => classifier (ocarina_drivers_exarm_ni_6071e_analog::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_exarm_ni_6071e_analog::spg_init);
end exarm_ni_6071e_analog.i;
device exarm_ni_6071e_digital
features
data1 : out data port Base_Types::Unsigned_8;
data2 : out data port Base_Types::Unsigned_8;
end exarm_ni_6071e_digital;
device implementation exarm_ni_6071e_digital.i
properties
Deployment::Driver_Name => "exarm_ni_6071e_digital";
Device_Driver => classifier (ocarina_drivers_exarm_ni_6071e_digital::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_exarm_ni_6071e_digital::spg_init);
end exarm_ni_6071e_digital.i;
end ocarina_drivers;
package ocarina_types
public
with Data_Model;
data integer
end integer;
data implementation integer.i
properties
Data_Model::Data_Representation => integer;
end integer.i;
data float
end float;
data implementation float.i
properties
Data_Model::Data_Representation => float;
end float.i;
data boolean
end boolean;
data implementation boolean.i
properties
Data_Model::Data_Representation => boolean;
end boolean.i;
end ocarina_types;
package ocarina_drivers_exarm_ni_6071e_analog
public
with Base_Types;
with Deployment;
subprogram spg_init
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_analog_init";
end spg_init;
subprogram spg_poller
features
data1 : out parameter Base_Types::Float_64;
data2 : out parameter Base_Types::Float_64;
data3 : out parameter Base_Types::Float_64;
data4 : out parameter Base_Types::Float_64;
data5 : out parameter Base_Types::Float_64;
data6 : out parameter Base_Types::Float_64;
data7 : out parameter Base_Types::Float_64;
data8 : out parameter Base_Types::Float_64;
data9 : out parameter Base_Types::Float_64;
data10 : out parameter Base_Types::Float_64;
data11 : out parameter Base_Types::Float_64;
data12 : out parameter Base_Types::Float_64;
data13 : out parameter Base_Types::Float_64;
data14 : out parameter Base_Types::Float_64;
data15 : out parameter Base_Types::Float_64;
data16 : out parameter Base_Types::Float_64;
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_analog_poller";
end spg_poller;
thread thr_poller
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_poller;
};
connections
parameter pspg.data1 -> data1;
parameter pspg.data2 -> data2;
parameter pspg.data3 -> data3;
parameter pspg.data4 -> data4;
parameter pspg.data5 -> data5;
parameter pspg.data6 -> data6;
parameter pspg.data7 -> data7;
parameter pspg.data8 -> data8;
parameter pspg.data9 -> data9;
parameter pspg.data10 -> data10;
parameter pspg.data11 -> data11;
parameter pspg.data12 -> data12;
parameter pspg.data13 -> data13;
parameter pspg.data14 -> data14;
parameter pspg.data15 -> data15;
parameter pspg.data16 -> data16;
properties
Period => 100 ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract driver
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end driver;
abstract implementation driver.i
subcomponents
ni6071e_analog_poller : thread thr_poller.i;
connections
port ni6071e_analog_poller.data1 -> data1;
port ni6071e_analog_poller.data2 -> data2;
port ni6071e_analog_poller.data3 -> data3;
port ni6071e_analog_poller.data4 -> data4;
port ni6071e_analog_poller.data5 -> data5;
port ni6071e_analog_poller.data6 -> data6;
port ni6071e_analog_poller.data7 -> data7;
port ni6071e_analog_poller.data8 -> data8;
port ni6071e_analog_poller.data9 -> data9;
port ni6071e_analog_poller.data10 -> data10;
port ni6071e_analog_poller.data11 -> data11;
port ni6071e_analog_poller.data12 -> data12;
port ni6071e_analog_poller.data13 -> data13;
port ni6071e_analog_poller.data14 -> data14;
port ni6071e_analog_poller.data15 -> data15;
port ni6071e_analog_poller.data16 -> data16;
end driver.i;
end ocarina_drivers_exarm_ni_6071e_analog;
package ocarina_drivers_exarm_ni_6071e_digital
public
with Base_Types;
with Deployment;
subprogram spg_init
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_digital_init";
end spg_init;
subprogram spg_poller
features
data1 : out parameter Base_Types::Unsigned_32;
data2 : out parameter Base_Types::Unsigned_32;
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_digital_poller";
end spg_poller;
thread thr_poller
features
data1 : out data port Base_Types::Unsigned_32;
data2 : out data port Base_Types::Unsigned_32;
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_poller;
};
connections
parameter pspg.data1 -> data1;
parameter pspg.data2 -> data2;
properties
Period => 100 ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract driver
features
data1 : out data port Base_Types::Unsigned_32;
data2 : out data port Base_Types::Unsigned_32;
properties
Deployment::Version => "0.1beta";