<task designator>
──┬─<task identifier>────────────────────────────────┬─────────────────► │ ┌◄───── , ────┐ │ ├─<task array identifier>── [ ─┴─<subscript>─┴─ ] ─┤ ├─ MYSELF ─────────────────────────────────────────┤ └─ MYJOB ──────────────────────────────────────────┘ ►─┬────────────────────────────────────────────┬───────────────────────┤ │ ┌◄───────────────────────────────────────┐ │ └─┴─ . ──<task-valued task attribute name>─┴─┘
<task-valued task attribute name>
──┬─ EXCEPTIONTASK ─┬──────────────────────────────────────────────────┤ └─ PARTNER ───────┘
<task array designator>
──<task array identifier>─┬─────────────────────┬──────────────────────┤
└─<subarray selector>─┘A task designator represents a single task. A task array designator represents an array of tasks. MYSELF is the task designator for the currently running program. MYJOB is the task designator for the currently running job.
When a process or coroutine is invoked, a task can be associated with it. For example, a task designator can appear in a CALL statement, PROCESS statement, or RUN statement. Task attributes can be assigned values by the program to control the process or coroutine, and the program can interrogate the values of task attributes as the process or coroutine executes.
The EXCEPTIONEVENT attribute of the EXCEPTIONTASK of a program is caused whenever the status of that program changes (for example, if the program is suspended or terminated).
Attributes associated with a task designator can be assigned values or interrogated in a program by specifying the task designator and the appropriate task attribute names in assignment statements.
For information on processes and coroutines, see CALL Statement, PROCESS Statement, and RUN Statement. For more information on assigning and interrogating task attributes, see the <arithmetic task attribute> construct under Arithmetic Assignment and the <Boolean task attribute> construct under Boolean Assignment and Task Assignment.

