Application
To create an application for DSX-VM we need to:
- write the code of different task and describe the task in a python file
- describe the TCG (task and communication graph) of the application
Task writing
To define a task you need to write down a least two files:
- a *.c file containing the code of the task : the task is writed using the SRL API
- example :
/* those two first header must be declared */ #include <srl.h> // same for all task and contain the definition of the SRL API functions #include "hello_proto.h" // containing specific definition for the task FUNC(hello_func) { while(1) { srl_log_printf(NONE, "Hello world\n"); } }
- example :
- a *.tsk file containing a python description (metadata) of the the task. The task is described by using TaskModel? python class:
TaskModel( name, ports, impls, uses)
- name : a string, describing the name of the application
- ports : a dictionary, describing the ports of communication and their names. Different port exist:
- MwmrInput : a mwmr input port
- MwmrOutput : a mwmr output port
- BarrierPort : a barrier port
- LockPort : a lock port
- MemspacePort : a memspace port
- impls : a list, describing the available implementations supported by the task
- swtask
- uses : a list of string, describing the used resources by the task (example: 'tty')
TCG
The application is described by a TCG (task an communication graph). The TCG describe the flow of the application. It describe
- the interconnection
- the mean of communication (generally mwmr channel)
beetween task.
Example : This is a TCG of an application, with three task communicating through mwmrs channels.
Last modified 12 years ago
Last modified on Oct 22, 2012, 11:19:41 AM