# Task Attributes

## name

It specifies the name of the task.
Several tasks may have the same name, in this case these tasks should have the same core attributes. Depending if they share the same context or not, the same parent task or not, they should also have the same context attributes.

## semantics

When a task is created, its “semantics” is automatically set to be the same as the name of the task.
The “semantics” is just a string of text which will be automatically parsed by the Language Generation Engine to represent the task.

## style

There are 3 types : Interactive, Automatic and Manual.

- Interactive task : task that requires interaction between the end-user and the system.
- Automatic task : task that is solely executed by the system.
- Manual task : task that happens with no interaction with the system.

## composite

- false for elementary task (which has no sub-tasks).
- true for composite task (which has sub-tasks).

## decomposition

If a task is composite, it has decomposition. Decomposition defines how a task should be performed : its sub-tasks and their relationships.

## comment

The user can enter any notes or comments about the task.

## dirty

- false if the task has not been processed by the Language Generation Engine
- true if the task has been processed by the Language Generation Engine

## mandatory

- false for Optional task.
- true for Mandatory task.

## minCard

minCard defines the minimum number of time the task can be executed.

## maxCard

maxCard defines the maximum number of time a task can be executed. By default a task can be performed infinitively, so maxCard has no value.

## precondition

Preconditions indicate requirements to be fulfilled to execute the task.

## feedback

Feedbacks may be provided by the system to inform the user the task has been performed. Feedbacks are generally not mandatory and may appear in different forms.

## terminal

It is a special indicator. It signifies the normal termination of the parent task.