task group(1) — Commands
Digital
NAME
TASK GROUP SPECIFICATION - specifies the interface to tasks
SYNOPSIS
TASK GROUP SPECIFICATION <task-group-name>
UUID <uuid-value> ;
[ VERSION <version-value> ; ]
{ [ COMPOSABLE ] TASK <task-name>
[ USING
{ <data-type-identifier>
[ PASSED AS { INPUT | OUTPUT | INOUT } ]
} [ ,... ]
]
} ; [ ... ]
END TASK GROUP SPECIFICATION ;
PARAMETERS
•task-group-name
An unqualified external identifier giving the name of the task group containing the interface for a CALL TASK or SUBMIT TASK. Characters beyond 17 are truncated. The total number of characters in the task group name, plus the number of digits in the major version, plus the number of digits in the minor version cannot exceed 19.
•uuid-value
A UUID-string literal that uniquely identifies each task group. The client TPsystem sends the UUID as part of the task call to the server TPsystem.
Generation of UUIDs is the responsibility of the user. Use the operating-system-neutral interface to the UUID generation utility to guarantee uniqueness. For the operating-system-neutral interface, see the DCE documentation of the uuidgen function.
•version-value
A decimal literal without the sign giving the value for a version number for a task group. The version number identifies the version of a task group specification when multiple versions of the task group specification exist.
Any numeric characters before the decimal point represent the major version number. Any numeric characters after the decimal point represent the minor version number. The major and minor version numbers each must have a value ranging from 0 through 65 535.
•task-name
A qualified external identifier giving the name of a task for which this task group specification specifies an interface. ACMSxp software does not allow duplicate task names within the same task group. You can have duplicate task names in multiple groups.
•data-type-identifier
An unqualified external identifier that gives the data type identifier used as an argument by a task. If the workspace is shared, the workspace name must be unique in the task group specification. List all workspaces passed as arguments to define the task interface. Separate each argument by commas.
DESCRIPTION
The task group specification consists of:
oName of the task group
oTask group attributes
The universal unique identifier (UUID) for the task group, and a version number for the task group.
oTask interface
The names of each task forming the interface, whether the task executes within the caller’s transaction, and the task interface arguments for each task.
UUID
The UUID makes the task group unique among all callable servers. The UUID is sent as part of the task call. The calling task or the client program receives a specification mismatch exception (ENV-INVOCATION-FAULT) if the UUID used for the called task by the caller is not the same as that used by the server for the task being called.
Version
The version number is used to identify the version of a task group, where multiple versions of the same task group exist (multiple task groups with the same name and UUID). The client sends the version number as part of the task call. The version is associated with the executable entities at compilation.
The version defaults are:
oIf you specify only a major version number, the default minor version number is zero.
oIf you specify only a minor version, the default major version is zero.
oIf you do not specify a version number, the default version number is 0.0.
When you change the version number:
oIncrease the minor version number whenever you make upwardly compatible changes to the task group specification. An upwardly compatible change consists of:
-Adding a task interface to the task group specification, if and only if the task interface is placed lexically after all existing task interfaces in the task group specification.
-Adding a data type definition, provided that the new data type definition is used only by task interfaces added at the same time, or later.
oIncrease the major version number whenever you make any other changes or set of changes to the task group specification.
oFor any change that requires an increase in the major version number, you can also make upwardly compatible changes without increasing the minor version number.
oNever decrease the major version number.
oDecrease the minor version number only when you simultaneously increase the major version number.
A caller receives a specification mismatch exception (ENV-INVOCATION-FAULT) if:
oMajor version number used by the caller is incompatible with the major version number used by the server task.
oMinor version number used by the caller is greater than the minor version used by the server task.
Task Interface
TASK specifies that the task’s work is done in the caller’s transaction (noncomposable). The noncomposable task identified by the task name must be called outside of the transaction of the caller. It starts a new transaction root.
COMPOSABLE TASK specifies that the task’s work is composed within the caller’s transaction. The task identified by the task name must be called within the transaction of the caller. The success of the caller’s transaction is dependent on the successful completion of this task. If the caller does not have any transaction context, it cannot call this task. See the call_task and task_definition man pages for more information about composable and noncomposable tasks.
Task Interface Arguments
The workspace names used as task arguments in the task definition must be listed as task interface arguments in the task group specification. Task interface arguments specify the passing characteristics of the workspaces used as arguments in the contained tasks. PASSED AS syntax works as follows:
oINPUT
The client program passes the argument to the called task.
oOUTPUT
The called task populates and passes the argument back to the client program.
oINOUT
The argument obeys the semantics of both INPUT and OUTPUT.
The default is no arguments. The default for passing an argument is PASSED AS INOUT.
Task interface arguments supply the client system with the information required to:
oFormat the argument data being sent to a called task
oInterpret the argument data being returned to a caller
The task interface arguments in the task group specification must match in number and order with the task arguments in the task definition. See the task_argument man page.
Transaction Model and the Task Group
A task group can support one of three transaction models. You determine the transaction model that the task group supports when you compile the task group specification.
RELATED INFORMATION
Syntax: task_argument(1), task_definition(1)