Go to PGM-AUA V1.0 Data Types

Definition
Functional Requirements
Syntax
Semantics
Conformance Testing
Performance Assessment

Definition

AUC-AUF (PGM-UCF) is the Data Type that A‑User Control and A‑User Formation exchange. It has two modes: the Request (RQ), sent by A‑User Control to A‑User Formation, and the Response (RS), sent by A‑User Formation to A‑User Control. A‑User Formation receives the Final Response of Basic Knowledge, which holds all the outputs of Basic Knowledge. A Sub-AIM of A‑User Formation divides the Process Actions into those that concern the A‑User as an entity, from which it generates Motion Objects for the rendering of the Portable Avatar, and those that concern another Item or Process, which A‑User Formation passes to A‑User Control. A‑User Formation also forms the Portable Avatar and gives it to A‑User Control. The Request controls the formation and each motion; the Response reports the outcome of each step, how the Process Actions have been divided and the progress of the motions. Every Request is answered by a Response.

Functional Requirements

  1. 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.
  2. 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).
  3. Correlation: A Response shall carry the identifier (RequestID) of the Request that it answers.
  4. 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).
  5. 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.
  6. 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).
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Portable Avatar: A Response that reports a formed Portable Avatar shall carry its identifier (PortableAvatarID).
  12. 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.

Go to PGM-AUA V1.0 Data Types