USER'S MANUAL
CAST v1.11
Collaborative Applications Specification Tool

HOW SPECIFYING

Return to the summary.


Specifying a task

Definition : A task is a formal or abstract definition of a process

A primitive task is a task having no subtasks.It is a process directly executable.

To create a task in the working zone, click in the tool bar on  And then click in the working zone where you want to create the task.

In the working zone, the task is shown as 

To update its properties to light : double-clic on the task with the left button or choose Properties in the Right Button menu. The following dialog box appears :

A composite task contains subtasks, it specify an abstaction level in the specification.

The creation method is the same as previously.

A s\Conposite task is represented in the working zone by trhis symbol : 

To update its properties : double-clic on the task with the left button or choose Properties in the Right Button menu. The following dialog box appears :

To access the component subtasks, double-clic the task with the middle button or select the Specify right button menu , a new working zone just as a panel appears. Its use is the same that the main window one. This task express the end of a tasks continuation. It's put in sequence with the last task of the specification.

Click on  and in the working zone appear : 
This task has no properties.
 

This task express inaction. Any treatment is associates to this task.

Click on  and in the working zone appear : 

This task has no properties.
 


Declaring parameters

After clicking on the "Input Params", "Input Output Params" or "Output Params" button in the task properties window, the following window appears :
 
The "New" button permits to create a new parameter. 
The "Alter" button permits to modify a parameter. 
The "Remove" button permits to remove a parameter. 
 
 
 

If, in the properties window, you have pressed the "Input Params" or "Output Params" button, just by clicking on the "New" or "Alter" button the following window will appears :
 
  • "Type" permits to choose the parameter type. Available types are :
      • integer
      • double
      • float
      • int vector
      • double vector
      • float vector
      • int matrix
      • double matrix
      • float matrix
      • user type
  • "Name" is the parameter name, it must be single in the task parameters list. 
  • "Task" is the task name from where the parameter comes 
  • "Source" permits to define the parameter origin : 
      • User : it's the user who give a value to the parameter by pressing the "init"button.
      • Task : is the task from which the parameter come
      • Standard Input : the parameter is initialised by an unknown task.
     
 
 
  If, in the properties window, you have pressed the "Output Parameters" button, just by clicking on the "New" or "Alter" button the following window will appears :
 
 
  • "Type" permits to choose the parameter type.
  • "Name" is the parameter name, he must be single in the task parameters list.
  • "Destination" permits to define the parameter destination :
      • File : the parameter value is stocked in a file which name and site must be respectively entered in File and Site fields.
      • TaskOutput : the value is kept in memory during the CAST whole execution. 
  • "Width" is a vector dimension or a matrix number of columns. 
  • "Height" is the matrix number of raws if the parameter is a matrix.A dimension can be define numericly or with a task parameter.
 


Declaring a module

After clicking on the "Module Definition" button in the task properties window, the following window appears :
 
 
  • "Executable name" is the name of the executable.
  • "Executable path" is the full path to access the above given executable.
  • "Input Files", "Input Output Files" and "Output Files" are parameters files descriptions respectively input and output. Such files creation is describe below.
After clicking on "Input Files", "Input Output Files" or "Output Files", the following window appears :
 
 
  • "New" permits to create a new parameters file description
  • "Alter" permits to modify it.
  • "Remove" permits to erase a parameters files description.
 

After clicking on the "New" or "Alter" button, the following window appears :
 
 
  • "File Name" is the parameters file name, it must be single for each task.
  • On the left, there is the parameters list, "Parameters", still available , and on the right the file composition , "Parameter File".
  • The "Add" button permits to add a parameter to the file, you just have to select it in the left list and click on the "Add" button.
  • The "Remove" button permits to erase the selected parameter of the file. This one will be available again.
  • The "Replace" button permits to replace the selected parameter in the file by the one selected in the parameters list.
  • The "Clean" button permits to clear out the parameters file., its action is like "Remove", except it acts on the whole list.
 


Specifying a sequence

The sequence is an operator, its semantic is the following :

Let t1and t2 be 2 tasks, t1 sequence t2 means that the t2 task begins when t1 ends.

In the tool bar : 

In the working area : (Task_1 sequence Task_2 sequence 1

Sequence creation protocol :


Specifying a sum

The sum is an operator, its semantic is the following :

Let t1and t2 be 2 tasks, t1 sum t2 means that t1 or t2 task is executing.

In the tool bar by clicking on :  we have in the working zone : : (Task_2 sum Task_3) 

Sum creation protocol :


 
Specifying a choice

The choice is an operator, it is identical with the sum but its representation change, its semantic is the following :

Let t1, t2 and t3 be 3 tasks, t2 choice t3 means that the t2 or t3 task is executed after the t1 task.

In the working area : (Task_2 choice Task_3)

Choice creation protocol :


Specifying a product

The product is an operator, its semantic is the following :

Let t1 and t2 be 2 tasks, t1 product t2 means that t1 and t2 tasks are executed in parallel.

In the tool bar, click on :  and we have in the working zone (Task_1 product Task_2 ) : 

Product creation protocol :

Example of a sequence spécification between a task and a product :
Ou 


Some specification exemples

Here are the examples :


Generating the data flow graph

In the "Tools " menu, select the option "Generate Data Flow". A file chooser will ask you the file where you want to generate the data flow of the selected graph.
The data flow is saved in an Ascii file with the following format (blank and carriage return are the item separators) :
Task1
Task2
.......
Taskn
TypeParam1 Task1 Param1 Task2 Param11
TypeParam2 Task1 Param2 Task2 Param22
..............
TypeParamn Task1 Paramn Task2 Paramnn
..............
TypeParamm Taskn Paramm Taskp Paramqq
 

Where Task1, Task2 and Taskn are task's names from or to which parameters Param1, Param2, Paramn and Paramm of  type TypeParam1, TypeParam2, TypeParamn and TypeParamm  respectivly are output, and Param11, Param22, Paramnn and Paramqq of  type TypeParam1, TypeParam2, TypeParamn and TypeParamm  respectivly are input.
Therefore Param1 of type TypeParam1 is output from Task1 and input as Param11 to Task2, with the same data type.
 

Example

Here is an example of a sequence of two tasks and a sum : 

For Task1, these parameters were defined :

:  and 

In Task2, these parameters were defined :

and 

So we have :
 
    From Task1 to Task2 : Task1Param1 and Task1Param2
    From Task2 to Task1 : Task2Param3

The generated Data flow Ascii file is :

Task1
Task2
Integer Task1 Task1Param1 Task2 Task2Param1
Integer Task1 Task1Param2 Task2 Task2Param2
Integer Task2 Task2Param3 Task1 Task1Param3
 
 

Return at the begining.
Return to the summary.

Last update by Jérôme BLACHON, January 1999.

© 1997-1999 INRIA Rhône-Alpes