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
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 :
-
The Primitive button is activated, it is a primitive task.
-
Name : Task name, Execution Site : Task execution site.
-
Input Params, Input Output Params and Output Params : After
clicking on one of this buttons, the dialog-box permiting parameters input
appears. For more informations, see the Parameters
input section.
-
Function : Task executed function.
A
composite task
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 :
-
The Composite button is activated, it is a composite task.
-
The Task without delay option is inactive : no delay apply at this
task.
-
Name : Task name, Execution Site : Task execution task
-
Input Params, Input Output Params and Output Params : After
clicking on one of these buttons, the dialog-box permiting parameters input
appears. For more informations, see the Parameters
input section.
-
Function is inactive : A composite task doesn't execute any function.
It is define by a tasks aggregate. This is the reason why these fields
appears greyed out.
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.
An
end task
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.
An
inactive task
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.
|
Creating
an input or input output 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.
|
Creating
an output parameter
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 :
-
Start to create 2 primitives or composites tasks.
-
Then, select in the panel the sequence operator.
-
Click with the left button on the first task (in our example Task_1).
-
Maintain the button pressed and move the mouse untill the second task (
in our example Task_2 ).
-
Release the button, the sequence has been created.
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 :
-
Select the sum operator.
-
Click in the working zone.
-
The choice has been created.
-
2 tasks are automatically created.They are located one below the other.
-
These tasks must be used as normal tasks (double click with the middle
or left button to access subtasks or properties ).
-
Input the sum type, determinist or indeterminist.
-
for a determinist one , input the executed task and the condition if that
condition is checked. The condition is composed of the testing parameter
name, of the comparaison operator and of the testing value.
-
Press the Apply button.
-
The sum has been created.
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 :
-
Start to create 3 tasks, primitive or composite,
-
Then, specify a sequence between the first and the second task,
-
and another one between the the first and the third task.
-
Properties window appears :
-
Input the choice type, determinist or indeterminist.
-
for a determinist one, input the executed task and the condition if that
condition is checked. The condition is composed of the testing parameter
name, of the comparaison operator and of the testing value.
-
Press the Apply button.
-
The choice has been created.
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 :
-
Select the product operator.
-
Click in the working area.
-
The product has been created.
-
2 tasks are automatically created. They are located one below the other.
-
These tasks must be used as normal tasks (double click with the middle
or left button to access subtasks or properties ).
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