Definition
Functional Requirements
Syntax
Semantics
Conformance Testing
Performance Assessment
Definition
Functional Requirements
- Header and Mode: The Data shall have Header “PGM-UCF-V1.0” and Mode equal to RQ for a Request and to RS for a Response; the properties that belong to the other mode shall not be present.
- Identification: The Data shall carry the identifiers of the M‑Instance, of the U‑Environment and of the session, and a unique identifier and a time (AUCAUFID, AUCAUFTime).
- Correlation: A Response shall carry the identifier (RequestID) of the Request that it answers.
- Formation control: A Request may state, for Speech, Face, Body and Avatar, whether the element is required, optional or not requested, whether the Personal Status modulates the delivery and the spatial output of the Portable Avatar (FormationControl).
- Division of the Process Actions: A‑User Formation shall examine each Process Action of the Final Response. If the subject of the Process Action is the Persona of the A‑User, that is, its avatar (its position, its movement, its gestures), A‑User Formation shall generate Motion Objects from the Process Action and feed them to the rendering of the Portable Avatar; if the subject is another Item or Process, it shall pass the Process Action to A‑User Control unchanged. Each Process Action shall be in exactly one of the two groups. The Response shall state the two groups in Separation.
- Control of the motions: A Request may tell A‑User Formation, for each Process Action turned into Motion Objects, to proceed or to stop (ProcessActionControl); the Response reports the progress of each motion with the PA Status (ProcessActionStatus).
- No effect outside the A‑User: A‑User Formation shall not send a Process Action to the M‑Instance. The Portable Avatar and the Process Actions of the second group are given to A‑User Control, which authorises or stops them.
- Storage: A Request may state what A‑User Formation may read from and write to the Private Storage of the Module, under the rules set by A‑User Control; the Avatar Model and the Speech Model are read from there. The Response reports the outcome of the writes in StorageOutcome.
- Process Action outcome: A Request may convey the outcome of a Process Action performed by A‑User Control, so that A‑User Formation operates knowing the current state of the M‑Instance.
- Outcome and Reason: A Response shall state the Outcome (achieved, achieved_differently or not_achieved); when the Outcome is not achieved, the Response shall carry a Reason. It shall state the RenderState and, for each step (speech synthesis, face description, body description, avatar synthesis), the outcome and, in case of failure, the reason.
- Portable Avatar: A Response that reports a formed Portable Avatar shall carry its identifier (PortableAvatarID).
- Metadata: The Data shall include DataXMData and may include DescrMetadata.
Syntax
https://schemas.mpai.community/PGM1/V1.0/data/AUCAUF.json
Semantics
Table 1 gives the properties common to the two modes, Table 2 those of the Request and Table 3 those of the Response.
Table 1 – Properties common to the Request and the Response of AUC-AUF
| Label | Description |
| Header | Header of the Data Type, with the version. (required) |
| Mode | RQ for a Request (A-User Control to A-User Formation), RS for a Response (A-User Formation to A-User Control). One of: RQ, RS. (required) |
| MInstance | Identifier of the M-Instance. (required) |
| UEnvironment | Identifier of the U-Environment. (required) |
| SessionID | Identifier of the A-User session. (required) |
| AUCAUFID | Identifier of this Request or Response. (required) |
| AUCAUFTime | Time at which the Request or the Response was produced. (required) |
| DataXMData | Data Exchange Metadata of MPAI-PTF: provenance, authorisation, security and confidence of the Data. |
| DescrMetadata | Descriptive metadata (plain text, at most 2048 characters). |
Table 2 – Properties of the Request (Mode RQ)
| Label | Description |
| Exchange | Phase (new or continuation) and, for a continuation, the identifier of the Response to which the Request follows (ResponseID). |
| FormationControl | What A-User Formation forms and how. |
| – Speech, Face, Body, Avatar | For each element: required, optional or not_requested. |
| – ExpressiveDelivery | enabled or disabled: whether the Personal Status modulates the delivery. |
| – SpatialOutput | Spatial placement and orientation of the Portable Avatar (Spatial Attitude, OSD). |
| ProcessActionControl | For each Process Action turned into Motion Objects, its ProcessActionID and Control (proceed or stop). |
| Storage | What A-User Formation may read from and write to the Private Storage of the Module: Write (Category, Readers, Time) and Read (references, typically the Avatar Model and the Speech Model). |
| ProcessActionOutcome | Outcome of a Process Action performed by A-User Control in the M-Instance: PAStatus, Complements, Constraint. |
Table 3 – Properties of the Response (Mode RS)
| Label | Description |
| RequestID | Identifier of the Request this Response answers. |
| Outcome | achieved, achieved_differently or not_achieved. |
| Reason | Code (none, ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted) and Description. Required when the Outcome is not achieved. |
| RenderState | pending, rendering, rendered or not_rendered. |
| ElementOutcomes | Outcome of each formation step. |
| – SpeechSynthesis, FaceDescription, BodyDescription, AvatarSynthesis | For each step: Outcome (success, failure or not_requested) and, in case of failure, Reason (none, model_unavailable, asset_missing, synthesis_error, unsupported_qualifier or input_invalid). |
| Separation | How the Process Actions of the Final Response have been divided. |
| – MotionProcessActions | Identifiers of the Process Actions whose subject is the Persona of the A-User, turned into Motion Objects. |
| – ReturnedProcessActions | Identifiers of the Process Actions whose subject is another Item or Process, passed to A-User Control unchanged. |
| ProcessActionStatus | For each Process Action turned into Motion Objects, its ProcessActionID and its PAStatus. |
| PortableAvatarID | Identifier of the Portable Avatar given to A-User Control. |
| StorageOutcome | Outcome of the writes instructed by the Request: Category and Result (written, not_authorised or not_attempted). |
Conformance Testing
Data conforms with AUC-AUF if it validates against the schema of Section 3 and, if the Mode is RQ, contains the properties required for a Request and none of those of a Response, and vice versa. If a schema contains references to other schemas, conformance of data for the primary schema implies that any data referencing a secondary schema shall also validate against the relevant schema.
Performance Assessment
Not part of this specification.