Definition
Functional Requirements
Syntax
Semantics
Conformance Testing
Performance Assessment
Definition
Functional Requirements
- Header and Mode: The Data shall have Header “PGM-UCR-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 (AUCPRCID, AUCPRCTime).
- Correlation: A Response shall carry the identifier (RequestID) of the Request that it answers; a Request that continues an exchange shall carry, in Exchange, the identifier of the Response to which it follows.
- Instruction: A Request shall state the Instruction (PED, GLA, PKQ, GII, PRF, PCE, CME or AFR) under which A‑User Control issues it.
- Storage: A Request may state what Prompt Creation may write to and read from the Private Storage of the Module, under the rules set by A‑User Control; 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 Prompt Creation operates knowing the current state of the M‑Instance.
- Outcome and Reason: A Response shall state the goal as it was understood (GoalUnderstood, where the type has it) and the Outcome (achieved, achieved_differently or not_achieved); when the Outcome is not achieved, the Response shall carry a Reason.
- Control by element: A Request may control the construction of the PC Prompt element by element (Intent, Propositions, Goal, Personality and Actions), the use of the Interaction History and the framing; the Response reports the outcome of each element and whether the multi-turn session with Basic Knowledge is open.
- Actions: When the Actions element is required, the PC Prompt shall include the Action context that Basic Knowledge needs to propose Process Actions.
- Metadata: The Data shall include DataXMData and may include DescrMetadata.
Syntax
https://schemas.mpai.community/PGM1/V1.0/data/AUCPRC.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-PRC
| Label | Description |
| Header | Header of the Data Type, with the version. (required) |
| Mode | RQ for a Request (A-User Control to the AIM), RS for a Response (the AIM 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) |
| AUCPRCID | Identifier of this Request or Response. (required) |
| AUCPRCTime | 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 |
| Instruction | The Instruction under which AUC issues the Request. One of: PED, GLA, PKQ, GII, PRF, PCE, CME, AFR. (required) |
| Exchange | Exchange. (required) |
| – Phase | Whether the Request starts an exchange (new) or continues one (continuation). One of: new, continuation. (required) |
| – ResponseID | ID of the Response to which a continuation Request follows. |
| Storage | What the AIM may write to and read from the Private Storage of the Module, under the rules set by AUC. |
| – Write | Data that the AIM may write, with the rules that apply. |
| –– Category | Category of the data. (required) |
| –– Readers | AIMs that may read the datum. |
| –– Time | Longest time the datum is kept: module, session or persistent. One of: module, session, persistent. |
| – Read | Categories of data that may be read. |
| ProcessActionOutcome | Outcome of a Process Action performed by AUC in the M-Instance, conveyed so that the AIM operates knowing the current M-Instance state. |
| – PAStatus | PA Status of the Process Action: Ack or the reason of the refusal (Clash, FaultyReq, IncID, IncDQ, InsRights, InsValue, LocOOR, PostRef, QualNS). |
| – Complements | The Complements received with the Process Action Response. |
| – Constraint | Resulting constraint on the Goal. |
| Operation | Whether to generate or refine the PC Prompt. One of: generate, refine. (required) |
| Goal | Binding as to the objective and the constraints. (required) |
| – Objective | The objective to pursue. (required) |
| – Constraints | Constraints, as strings. |
| ContextDescriptorsID | Identifier of the Context Descriptors to use. |
| ModalityAnchors | Modality prioritisation, in decreasing order. Each one of: Text, Audio, Visual, Speech, User. |
| Intent | Control of the Intent: the referents of the User’s intentions in the Space. |
| – Requirement | Whether it is required, optional or not requested. One of: required, optional, not_requested. |
| – Properties | The properties to be produced, at property level. |
| –– ResolvedElements | Request: whether the production of the scene elements resolved as referents is required, optional or not_requested. Response: fulfilment of the production of the scene elements resolved as referents (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– IntentToElementMapping | Request: whether the production of the mapping of intents to scene elements is required, optional or not_requested. Response: fulfilment of the production of the mapping of intents to scene elements (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| Propositions | Control of the Propositions: the spatial and referential statements about the Space. |
| – Requirement | Whether it is required, optional or not requested. One of: required, optional, not_requested. |
| – Properties | The properties to be produced, at property level. |
| –– Referents | Request: whether the production of the referents is required, optional or not_requested. Response: fulfilment of the production of the referents (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– SpatialPrimitives | Request: whether the production of the spatial relations is required, optional or not_requested. Response: fulfilment of the production of the spatial relations (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– SceneContextTags | Request: whether the production of the scene context tags is required, optional or not_requested. Response: fulfilment of the production of the scene context tags (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| PromptGoal | Control of the Goal of the PC Prompt. |
| – Requirement | Whether it is required, optional or not requested. One of: required, optional, not_requested. |
| – Properties | The properties to be produced, at property level. |
| –– PromptGoal | Request: whether the production of the goal of the prompt is required, optional or not_requested. Response: fulfilment of the production of the goal of the prompt (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– GoalConstraints | Request: whether the production of the constraints on the goal is required, optional or not_requested. Response: fulfilment of the production of the constraints on the goal (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| – GoalType | Type of goal of the prompt: clarify, elaborate, contrast or summarize. One of: clarify, elaborate, contrast, summarize. |
| – TargetEntity | Entity the goal concerns. |
| – GoalConstraints | Request: whether the production of the constraints on the goal is required, optional or not_requested. Response: fulfilment of the production of the constraints on the goal (produced, partial, missing or not_requested). |
| –– ConstraintType | Type of the constraint. (required) |
| –– ConstraintValue | Value of the constraint. (required) |
| –– PriorityScore | Priority between 0 and 1. |
| Personality | Control of the inclusion of the Personality in the PC Prompt. |
| – Requirement | Whether it is required, optional or not requested. One of: required, optional, not_requested. |
| – Properties | The properties to be produced, at property level. |
| –– PersonalityFragments | Request: whether the production of the fragments of Personality is required, optional or not_requested. Response: fulfilment of the production of the fragments of Personality (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| Actions | Control of the Action context placed in the PC Prompt, so that Basic Knowledge can propose Process Actions. |
| – Requirement | Whether it is required, optional or not requested. One of: required, optional, not_requested. |
| – Properties | The properties to be produced, at property level. |
| –– Repertoire | Request: whether the production of the repertoire of Process Actions is required, optional or not_requested. Response: fulfilment of the production of the repertoire of Process Actions (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– Rights | Rights. One of: required, optional, not_requested. |
| –– Rules | Request: whether the production of the Rules of the M-Instance is required, optional or not_requested. Response: fulfilment of the production of the Rules of the M-Instance (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| –– Affordances | Request: whether the production of the affordances of the Space is required, optional or not_requested. Response: fulfilment of the production of the affordances of the Space (produced, partial, missing or not_requested). One of: required, optional, not_requested. |
| – Allowed | The Process Actions that may be proposed or used. Each one of: Authenticate, Author, Convert, Discover, Execute, Hide, Identify, Interpret, License, MM-Add, MM-Animate, MM-Capture, MM-Move, MM-Send, Modify, MU-Actuate, MU-Add, MU-Animate, MU-Move, MU-Send, Post, Property Change, Register, Resolve, Rights Change, Transact, UM-Actuate, UM-Capture, UM-Send, Validate. |
| History | How much of the Interaction History is used. |
| – Include | Whether the Interaction History is used. |
| – MaxTurns | Maximum number of turns of the Interaction History. |
| – TimeWindow | Time window of the Interaction History. |
| Framing | Framing strategy for the construction of the PC Prompt. |
| – Style | Style of delivery. |
| – Tone | Tone of delivery. |
| – Pacing | Pacing: slow, steady or fast. One of: slow, steady, fast. |
Table 3 – Properties of the Response (Mode RS)
| Label | Description |
| RequestID | ID of the Request this Response answers. (required) |
| Outcome | The outcome reached. One of: achieved, achieved_differently, not_achieved. (required) |
| Reason | Structured reason, required when Outcome is not ‘achieved’. |
| – Code | Code of the reason. One of: none, ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| – Description | Description of the reason. |
| StorageOutcome | Outcome of the writes instructed by the Request. |
| – Category | Category of the data. (required) |
| – Result | Result of the operation. One of: written, not_authorised, not_attempted. (required) |
| GoalUnderstood | The goal as the AIM understood it. (required) |
| – Objective | The objective to pursue. (required) |
| – Constraints | Constraints, as strings. |
| PromptState | Prompt State. One of: ready, partial, failed. (required) |
| PCPromptID | Identifier of the PC Prompt produced. |
| BKNSessionOpened | Whether the PC Prompt has been submitted to Basic Knowledge and the multi-turn session is open. |
| IntentOutcome | Outcome of the Intent. |
| – Outcome | Outcome reached. One of: produced, partial, failed, not_requested. (required) |
| – Reasons | Reasons why the goal was not fully achieved. |
| –– Reason | Reason (Response) or explanation (Correction). One of: ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| –– Description | Description of the reason. |
| – PropertyFulfilment | Fulfilment of the requested properties. |
| –– ResolvedElements | Request: whether the production of the scene elements resolved as referents is required, optional or not_requested. Response: fulfilment of the production of the scene elements resolved as referents (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– IntentToElementMapping | Request: whether the production of the mapping of intents to scene elements is required, optional or not_requested. Response: fulfilment of the production of the mapping of intents to scene elements (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| PropositionsOutcome | Outcome of the Propositions. |
| – Outcome | Outcome reached. One of: produced, partial, failed, not_requested. (required) |
| – Reasons | Reasons why the goal was not fully achieved. |
| –– Reason | Reason (Response) or explanation (Correction). One of: ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| –– Description | Description of the reason. |
| – PropertyFulfilment | Fulfilment of the requested properties. |
| –– Referents | Request: whether the production of the referents is required, optional or not_requested. Response: fulfilment of the production of the referents (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– SpatialPrimitives | Request: whether the production of the spatial relations is required, optional or not_requested. Response: fulfilment of the production of the spatial relations (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– SceneContextTags | Request: whether the production of the scene context tags is required, optional or not_requested. Response: fulfilment of the production of the scene context tags (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| PromptGoalOutcome | Outcome of the Goal of the PC Prompt. |
| – Outcome | Outcome reached. One of: produced, partial, failed, not_requested. (required) |
| – Reasons | Reasons why the goal was not fully achieved. |
| –– Reason | Reason (Response) or explanation (Correction). One of: ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| –– Description | Description of the reason. |
| – PropertyFulfilment | Fulfilment of the requested properties. |
| –– PromptGoal | Request: whether the production of the goal of the prompt is required, optional or not_requested. Response: fulfilment of the production of the goal of the prompt (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– GoalConstraints | Request: whether the production of the constraints on the goal is required, optional or not_requested. Response: fulfilment of the production of the constraints on the goal (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| – GoalType | Type of goal of the prompt: clarify, elaborate, contrast or summarize. One of: clarify, elaborate, contrast, summarize. |
| PersonalityOutcome | Outcome of the inclusion of the Personality. |
| – Outcome | Outcome reached. One of: produced, partial, failed, not_requested. (required) |
| – Reasons | Reasons why the goal was not fully achieved. |
| –– Reason | Reason (Response) or explanation (Correction). One of: ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| –– Description | Description of the reason. |
| – PropertyFulfilment | Fulfilment of the requested properties. |
| –– PersonalityFragments | Request: whether the production of the fragments of Personality is required, optional or not_requested. Response: fulfilment of the production of the fragments of Personality (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| ActionsOutcome | Outcome of the inclusion of the Action context. |
| – Outcome | Outcome reached. One of: produced, partial, failed, not_requested. (required) |
| – Reasons | Reasons why the goal was not fully achieved. |
| –– Reason | Reason (Response) or explanation (Correction). One of: ambiguity_unresolved, partner_unavailable, constraint_conflict, insufficient_context, deadline_exceeded, not_permitted. (required) |
| –– Description | Description of the reason. |
| – PropertyFulfilment | Fulfilment of the requested properties. |
| –– Repertoire | Request: whether the production of the repertoire of Process Actions is required, optional or not_requested. Response: fulfilment of the production of the repertoire of Process Actions (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– Rights | Rights. One of: produced, partial, missing, not_requested. |
| –– Rules | Request: whether the production of the Rules of the M-Instance is required, optional or not_requested. Response: fulfilment of the production of the Rules of the M-Instance (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| –– Affordances | Request: whether the production of the affordances of the Space is required, optional or not_requested. Response: fulfilment of the production of the affordances of the Space (produced, partial, missing or not_requested). One of: produced, partial, missing, not_requested. |
| FramingOutcome | Framing of the PC Prompt as delivered. |
| – Style | Style of delivery. |
| – Tone | Tone of delivery. |
| – Pacing | Pacing: slow, steady or fast. One of: slow, steady, fast. |
Conformance Testing
Data conforms with AUC-PRC 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.