# Diane+ Formalisms

(This page needs to be viewed by Internet Explorer or Netscape until the current problem of local browser is fixed.)

Diane+ formalism is created by Jean-Claude Tarby and Marie-France Barthet. Within Tamot, we use Diane+H, which is a subset of Diane+. Diane+ employs a graphical notation to represent task decomposition as well as temporal and logical relationships amongst the tasks. In a Diane+ diagram, tasks are represented by boxes which contain the name of the task, and when appropriate, the constraints on the number of times the task can be executed. The shape of the box represents the actor of the task, i.e., whether it is the end user, the system, or a combination of both.

1. Diane+H Formalisms
2. Examples
3. Contact Details
4. Internet Reference

## Diane+H Formalisms

The following table lists and explains the task attributes provided by Diane+H that we use in our work :

Task Attribute | Graphical Representation | Explanation
Interactive |

- Task in which user interacts with system

- An interactive task is represented by a rounded rectangle.

- e.g. Enter a login, Choose an item in a list

Manual

- Task performed solely by user

- A manual task is a task that does not require the use of a computerised system.

- e.g. Sign a bill, Read a book

Automatic

- Automatic task is performed solely by system, without any interacting with the user.

- An automatic task is represented by a rectangle.

- e.g. print a file; display data on screen

Elementary

- Task without a decomposition (no shading)

- Elementary task means a task that does not have sub-tasks.

Composite

- Task with a decomposition (shaded box). The decomposition is expanded in a individual window.

- Composite task means a task that has sub-tasks.

- e.g. Open a file is decomposed into: click on menu File/Open…, select the folder, enter a name, click on open. So, at a high level, Open a file is a composite task.

Feedback

- It is the feedback provided to the user by the application.

- To help the designer of the user interface, we can add feedbacks in the task model.

- Feedbacks may be just a recommendation or may be a real feedback.

- (1) describes the function of the task to which the feedback is attached

- (2) describes the feedback provided by the application after executing the task

- e.g. message printed

- e.g. Enter a password may have "all characters are displayed as *" as feedback.

- e.g. Open a file may have "the parameters requested to open a file are displayed" as feedback.

Mandatory

- A mandatory task is a task that must be processed.

- In Diane+H, this is extended to tasks which are constrained by a boolean connector.

- A mandatory task has a bold border (box in solid lines).

- e.g. When a user connects to a computer, he must give his login and password. Enter login and Enter password are two mandatory tasks.

Optional

- An optional task is a task that the user may trigger, but that is not required to complete the compounded task.

- A optional task has a dashed border (box in dotted lines).

- Note: in Diane+H, an optional automatic task has no sense (an automatic task is always mandatory in Diane+H).

- e.g. To fill a form (on the web for instance), the user must (mandatory tasks) enter his name and email, but he can also (optional tasks) give some other information (phone number, …).

Parallelism

- Tasks can be performed in parallel.

Task Sequence

- It shows the order of tasks to be performed.

Sequence Precondition

- It shows the condition under which the link is to be followed.

Iteration Constraints

- A task has a number of iterations that is given by two numbers min and max. These numbers correspond to the minimum and maximum executions for the task in the compound task. Because usually min is implicit for tasks, we use only max.

- mandatory task č min = 1

- optional task č min = 0

- In the diagram, it shows the constraint on the number of times that a task can be executed : a minimum of i and a maximum of j times

- e.g. Enter a password is mandatory and limited to three attempts, so min=1 (implicit) and max=3.

- e.g in some educational software, help is provided but limited to X access. So, the help is optional and max=X.

Name

- Task name

Comment

- Task comment

Task Precondition

- It shows the condition that must be true for the task to be applicable.

- A precondition explains what is the condition to enable the execution of the task. It can be about state of other tasks, on data, or from everywhere else.

- Usually the preconditions are close to the task (they have no sense without the task) but they can be used to give constraints on sequences or anything else.

- e.g. something is copied is a precondition for paste.

- e.g. the login has been entered may be a precondition for enter the password, but in this case a link is better.

Terminal Node

- It indicates the normal end of the task.

- When the completion of a task means that the compound task is ended, we add a terminal event to the task.

- The decomposition of a task may contain several terminal events.

- e.g. "quit Tamot" is a task with a terminal event

A (composite and elementary) task is either automatic, interactive or manual.
A composite automatic task contains only automatic (composite and elementary) tasks.
A composite manual task contains only manual (composite and elementary) tasks.
A composite interactive task contains interactive (composite and elementary) tasks, and may contain automatic (composite and elementary) tasks.

Boolean Connector Attribute | Graphical Representation | Explanation
Name Type |  | When tasks must be synchronised or when the user must choice between different tasks, we use booelan connectors. Three connectors exist: and, or, xor. They are used in the same way as in the boolean logics (and=all the tasks must be done, or=at least one task must be done, xor=one and only one task must be done). Important: Because XOR is system-oriented and not very different from "OR" for designers, we suggest to use only AND and OR. AND keeps its meaning, and OR means only one task. Each boolean connector may have an unlimited number of arows. e.g. to request to open a file, the user must choose between File/Open…, Open button, CTRL+O shortcut. So, we use a OR (=XOR) boolean connector.

Link Attribute | Graphical Representation | Explanation
Name Condition |  | Links are represented by an arrow. A sequence between tasks is represented by links. A ŕ B means : after A, the user can (or must) do B. Another interpretation may be : to do B, the user must (can) do A. The meaning depends on the type of A and B. A link may have conditions.

## Examples

The figures below show some combinations of the different elements of Diane+H.

## Explanation :

- The user must do A. A is enabled if the condition "a" is true.

- When A is finished, B and C are enabled. C is triggeted by the system, and B by the user.

- C has a feedback which is specified there. When C is completed, F is enabled. F is a terminal event as G. That means that the goal is reached when F is finished OR when G is finished.

- B is followed by a AND. So, both D and E must be completed. {A,B,C} has a equivalent behaviour to {B, AND, D, E}.

- Both D and E must be completed before G becomes enabled.

Compared to the previous figure,

- The user must do A without precondition on A.

- When A is finished, we follow the link(s) which are true. So, in this case, either B or C may by reached.

- B is followed by a OR. So, either D or E must be completed. {A,B,C} has a equivalent behaviour to {B, OR, D, E}.

- The user must choose between A and B. If he chooses A, he can execute C afterwards if he wants, but it is not required to complete the compound task.

- The user must do A and B.

- The system executes automatically G and C. After C, the user will be able to do F.

- After B, the user must do D or the system must do E (we assume that conditions on links or preconditions will be used later to specify clearly the behaviour).

## Contact Details

> For further information about the Diane+ formalism, the authors may be contacted :

1. Jean-Claude Tarby

Address | TRIGONE Laboratory - CUEEP Institute University Lille 1 59655 Villeneuve d'Ascq Cedex - FRANCE
Email | Jean-Claude.Tarby@univ-lille1.fr
Phone | +33 (0)3.20.43.32.62
Fax | +33 (0)3.20.43.32.79

2. Marie-France Barthet

Email | barthet@univ-tlse1.fr
Phone | +33.5.61.63.35.62
Fax | +33.5.61.63.37.98

## Internet Reference

Publications of Jean-Claude Tarby | http://www-trigone.univ-lille1.fr/jean_claude/publis.htm
Merge Tasks and Objects: Dream or Reality ? | http://www.cutsys.com/CHI97/Tarby.html
OVID to AUIML - User-Oriented Interface Modelling | http://math.uma.pt/tupis00/submissions/azevedoroberts/azevedoroberts.html

Back to Contents