Changes between Initial Version and Version 1 of DsxvmApplication


Ignore:
Timestamp:
Oct 22, 2012, 11:19:41 AM (12 years ago)
Author:
karaoui
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DsxvmApplication

    v1 v1  
     1= Application =
     2
     3To create an application for DSX-VM we need to:
     4* write the code of different task and describe the task in a python file
     5* describe the TCG (task and communication graph) of the application
     6
     7
     8== Task writing ==
     9
     10To define a task you need to write down a least two files:
     11 - a *.c file containing the code of the task : the task is writed using the [https://www-asim.lip6.fr/trac/dsx/wiki/DsxvmSRL_API "SRL API"]
     12   - example :
     13{{{
     14/* those two first header must be declared */
     15#include <srl.h> // same for all task and contain the definition of the SRL API functions
     16#include "hello_proto.h" // containing specific definition for the task
     17
     18FUNC(hello_func)
     19{
     20    while(1)
     21    {
     22        srl_log_printf(NONE, "Hello world\n");
     23    }
     24}
     25
     26}}}
     27
     28 - a *.tsk file containing a python description (metadata) of the the task. The task is described by using TaskModel python class:
     29{{{
     30TaskModel( name, ports, impls, uses)
     31}}}
     32       - name : a string, describing the name of the application
     33       - ports : a dictionary, describing the ports of communication and their names. Different port exist:
     34         - !MwmrInput : a mwmr input port
     35         - !MwmrOutput : a mwmr output port
     36         - !BarrierPort : a barrier port
     37         - !LockPort : a lock port
     38         - !MemspacePort : a memspace port
     39       - impls : a list, describing the available implementations supported by the task
     40         - swtask
     41       - uses : a list of string, describing the used resources by the task (example: 'tty')
     42
     43
     44== TCG ==
     45
     46The application is described by a TCG (task an communication graph).
     47The TCG describe the flow of the application. It describe
     48* the interconnection
     49* the mean of communication (generally mwmr channel)
     50beetween task.
     51
     52Example : This is a TCG of an application, with three task communicating through mwmrs channels.
     53[[Image()]]