Commit e1072fcd authored by julien.delange's avatar julien.delange

begin to include components library



git-svn-id: https://tecsw.estec.esa.int/svn/taste/trunk/ocarina@730 129961e7-ef38-4bb5-a8f7-c9a525a55882
parent 60f1b574
package ocarina_buses
public
bus generic_bus
end generic_bus;
bus ip
end ip;
bus implementation ip.pohic
end ip.pohic;
bus implementation ip.asn1
end ip.asn1;
bus implementation ip.pohiada
end ip.pohiada;
bus spacewire
end spacewire;
bus implementation spacewire.pohic
end spacewire.pohic;
----------------------
-- 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 ocarina_drivers_rasta_1553;
with ocarina_drivers_rasta_serial;
with ocarina_drivers_rasta_spacewire;
with ocarina_drivers_serial;
with ocarina_drivers_ip_asn1;
with ocarina_drivers_ip_pohic;
------------------
-- 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
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;
-----------------------
-- RASTA SPACEWIRE --
-----------------------
device rasta_spacewire
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;
-----------------------------
-- Generic serial driver --
-----------------------------
device generic_serial
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;
---------------------------------
-- Generic sockets/ip driver --
---------------------------------
device generic_sockets_ip
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.asn1
properties
Deployment::Driver_Name => "sockets_asn1";
Device_Driver => classifier (ocarina_drivers_ip_asn1::sockets_impl.asn1);
Initialize_Entrypoint => classifier (ocarina_drivers_ip_asn1::spg_sockets_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::asn1.i));
end generic_sockets_ip.asn1;
end ocarina_drivers;
package ocarina_drivers_rasta_1553
public
subprogram spg_1553_controller_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_controller";
end spg_1553_controller_rasta;
subprogram spg_1553_poller_rasta_terminal
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_terminal_poller";
end spg_1553_poller_rasta_terminal;
subprogram spg_1553_sender_rasta_controller
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_sender_controller";
end spg_1553_sender_rasta_controller;
subprogram spg_1553_sender_rasta_terminal
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_sender_terminal";
end spg_1553_sender_rasta_terminal;
subprogram spg_1553_init_rasta_controller
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_init_controller";
end spg_1553_init_rasta_controller;
subprogram spg_1553_init_rasta_terminal
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_1553_rasta_init_terminal";
end spg_1553_init_rasta_terminal;
thread if1553_poller
end if1553_poller;
thread implementation if1553_poller.rasta_terminal
calls
mycall : {
pspg : subprogram spg_1553_poller_rasta_terminal;
};
properties
Period => 2000ms;
Dispatch_Protocol => Periodic;
end if1553_poller.rasta_terminal;
thread if1553_controller
end if1553_controller;
thread implementation if1553_controller.rasta
calls
mycall : {
pspg : subprogram spg_1553_controller_rasta;
};
properties
Period => 4000ms;
Dispatch_Protocol => Periodic;
end if1553_controller.rasta;
abstract if1553_driver
end if1553_driver;
abstract implementation if1553_driver.rasta_terminal
subcomponents
receiver : thread if1553_poller.rasta_terminal;
sender : subprogram spg_1553_sender_rasta_terminal;
end if1553_driver.rasta_terminal;
abstract implementation if1553_driver.rasta_controller_sender_only
subcomponents
-- controller : thread if1553_controller.rasta;
-- This thread (controller) should be a poller thread that
-- gives orders to the terminal nodes to send/receive data.
-- It should also specify the communication policy (when a terminal
-- is authorized to send/receive data).
-- We don't specify poller and receiver since this controller
-- is just a node that sends data to a single other node.
sender : subprogram spg_1553_sender_rasta_controller;
end if1553_driver.rasta_controller_sender_only;
end ocarina_drivers_rasta_1553;
package ocarina_drivers_rasta_serial
public
with ocarina_buses;
subprogram spg_serial_poller_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_rasta_poller";
end spg_serial_poller_rasta;
subprogram spg_serial_sender_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_rasta_sender";
end spg_serial_sender_rasta;
subprogram spg_serial_init_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_rasta_init";
end spg_serial_init_rasta;
thread serial_poller
end serial_poller;
thread implementation serial_poller.rasta
calls
mycall : {
pspg : subprogram spg_serial_poller_rasta;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end serial_poller.rasta;
abstract serial_driver
end serial_driver;
abstract implementation serial_driver.rasta
subcomponents
receiver : thread serial_poller.rasta;
sender : subprogram spg_serial_sender_rasta;
end serial_driver.rasta;
end ocarina_drivers_rasta_serial;
package ocarina_drivers_rasta_spacewire
public
with ocarina_buses;
subprogram spg_spacewire_poller_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_spacewire_rasta_poller";
end spg_spacewire_poller_rasta;
subprogram spg_spacewire_sender_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_spacewire_rasta_sender";
end spg_spacewire_sender_rasta;
subprogram spg_spacewire_init_rasta
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_spacewire_rasta_init";
end spg_spacewire_init_rasta;
thread spacewire_poller
end spacewire_poller;
thread implementation spacewire_poller.rasta
calls
mycall : {
pspg : subprogram spg_spacewire_poller_rasta;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end spacewire_poller.rasta;
abstract spacewire_driver
end spacewire_driver;
abstract implementation spacewire_driver.rasta
subcomponents
receiver : thread spacewire_poller.rasta;
sender : subprogram spg_spacewire_sender_rasta;
end spacewire_driver.rasta;
end ocarina_drivers_rasta_spacewire;
package ocarina_drivers_serial
public
subprogram spg_serial_poller_linux
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_linux_poller";
end spg_serial_poller_linux;
subprogram spg_serial_sender_linux
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_linux_sender";
end spg_serial_sender_linux;
subprogram spg_serial_init_linux
properties
Source_Language => C;
Source_Name => "__po_hi_c_driver_serial_linux_init";
end spg_serial_init_linux;
thread serial_poller
end serial_poller;
thread implementation serial_poller.linux
calls
mycall : {
pspg : subprogram spg_serial_poller_linux;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end serial_poller.linux;
abstract serial_driver
end serial_driver;
abstract implementation serial_driver.linux
subcomponents
receiver : thread serial_poller.linux;
sender : subprogram spg_serial_sender_linux;
end serial_driver.linux;
end ocarina_drivers_serial;
package ocarina_drivers_ip_asn1
public
subprogram spg_sockets_init
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_init";
end spg_sockets_init;
thread eth_linux_poller
end eth_linux_poller;
thread implementation eth_linux_poller.asn1
calls
mycall : {
pspg : subprogram spg_eth_linux_poller_asn1;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end eth_linux_poller.asn1;
subprogram spg_eth_linux_poller_asn1
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_asn1_poller";
end spg_eth_linux_poller_asn1;
subprogram spg_eth_linux_sender_asn1
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_asn1_send";
end spg_eth_linux_sender_asn1;
abstract sockets_impl
end sockets_impl;
abstract implementation sockets_impl.asn1
subcomponents
-- receiver : thread eth_linux_poller.asn1;
sender : subprogram spg_eth_linux_sender_asn1;
end sockets_impl.asn1;
end ocarina_drivers_ip_asn1;
package ocarina_drivers_ip_pohic
public
subprogram spg_sockets_init
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_init";
end spg_sockets_init;
thread eth_linux_poller
end eth_linux_poller;
thread implementation eth_linux_poller.i
calls
mycall : {
pspg : subprogram spg_eth_linux_poller_i;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end eth_linux_poller.i;
subprogram spg_eth_linux_poller_i
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_poller";
end spg_eth_linux_poller_i;
subprogram spg_eth_linux_sender
properties
Source_Language => C;
Source_Name => "__po_hi_driver_sockets_send";
end spg_eth_linux_sender;
abstract sockets_impl
end sockets_impl;
abstract implementation sockets_impl.i
subcomponents
receiver : thread eth_linux_poller.i;
sender : subprogram spg_eth_linux_sender;
end sockets_impl.i;
end ocarina_drivers_ip_pohic;
......@@ -27,6 +27,16 @@ AADL_V2_PROPERTIES = $(srcdir)/AADLv2/aadl_project.aadl \
$(srcdir)/AADLv2/base_types.aadl \
$(srcdir)/AADLv2/transformations.aadl
AADL_V2_DRIVERS = $(srcdir)/AADLv2/drivers/devices.aadl \
$(srcdir)/AADLv2/drivers/serial-raw.aadl \
$(srcdir)/AADLv2/drivers/buses.aadl \
$(srcdir)/AADLv2/drivers/sockets-raw.aadl \
$(srcdir)/AADLv2/drivers/sockets-asn1.aadl \
$(srcdir)/AADLv2/drivers/rasta-serial.aadl \
$(srcdir)/AADLv2/drivers/rasta-spacewire.aadl \
$(srcdir)/AADLv2/drivers/rasta-1553.aadl
MODE_FILES = $(srcdir)/emacs/aadl-mode.el \
$(srcdir)/vim/indent/aadl.vim \
$(srcdir)/vim/syntax/aadl.vim
......@@ -47,6 +57,9 @@ install-data-local:
for file in $(AADL_V1_PROPERTIES); do \
$(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/ocarina/AADLv1 || exit 1; \
done
for file in $(AADL_V2_DRIVERS); do \
$(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/ocarina/AADLv2/driver-`basename $$file` || exit 1; \
done
for file in $(AADL_V2_PROPERTIES); do \
$(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/ocarina/AADLv2 || exit 1; \
done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment