<-Items Go to ToC Protocols->

1. Introduction 2. Process Actions 3. Sequences 4. Backus Naur Form

1. Introduction

A Process can act on Items with the help of Items and/or Processes. It can also act on another Process. For instance:

  1. Device “UM-Captures scene At U-Location” means that a named Device captures the scene at a named U-Location and represents it as Data.
  2. User “MM-Adds Persona At M-Location” means that a named User places a named Persona at a named M-Location.
  3. User “MM-Animates Persona With Stream” means that a named User animates a Persona MM-Added at a named M-Location with a named Stream or Command Item.

If a Process does not have the necessary P-Capabilities and/or Rights to perform such Actions as UM-Capture, MM-Add, and MM-Animate, the Process (now called Process1) can request Process2, that has the necessary P-Capabilities and Rights. to perform the Action. For instance:

  1. Device “Identifies Data With Qualifier With Model Rights” means that a named Device requests an Identify Service to provide an Identifier to the Item that includes Data, its Qualifier, and Model Rights (requested Rights) to the Item.
  2. User1 “MM-Sends Message With Model Rights” to User2 means that a named User1 requests a Communicate Service to make available a Message to a named User2, with a request to grant it Rights represented by Model Rights.

2. Process Actions

Process Action is a Data Type that

  1. Includes either
    1. The request of Process1 to Process2
    2. The response of Process2 to the request of Process1.
  2. Uses Complement, that may be a direct object – Item or Process – preceded by
    1. Nil or
    2. A prepositional phrase providing additional information, such as the instrument of an Item or a Process, conveyed with the preposition With.

RQ stands for Request and RS for Response.

Table 1 – Component of a Process Action

PA Element Description
Time Time of PA request emission and Time of PA request execution.
RQ-Complements One or more Items or Processes participating in the execution of the requested (RQ) Process Action. Each Item/Process is preceded by at least one of the following prepositions: Nil, At, From, To, or With.
RS-Complements One or more Items or a Process resulting from the execution of the Action communicated in the response (RS). Each Item/Process is preceded by at least one of the following prepositions: Nil, At, From, To, or With.
PA Status If the Process Action was successfully performed, the characters “Ack”.
If the Process Action was not performed, one of the characters enclosed in “”:

  1. “Clash”, the PA Request causes a clash with an existing object.
  2. “FaultyReq”, the PA Request is not syntactically correct.
  3. “IncID”, no Item or Process with such an ID.
  4. “IncDQ”, the Data and/or its Qualifier are/is incorrect
  5. “InsRights”, the requesting Process may not obtain the requested Rights.
  6. “InsValue”, a Wallet referenced in the Transaction has insufficient funds.
  7. “LocOOR”, no such Location exists.
  8. “PostRef”, Post refused by Service.
  9. “QualNS”: Qualifier not supported.

Each linked Action in Table 2 provides Definition, Functional Requirements, Syntax and Semantics of the corresponding Process Actions.

Table 2 – List of Actions linked to Process Action specifications

MMM-AUP Authenticate X MMM-ATP Author X MMM-CVP Convert X
MMM-DVP Discover X MMM-EXP Execute X MMM-HDP Hide X
MMM-IDP Identify X MMM-IFP Inform X MMM-ITP Interpret X
MMM-2AP MM-Animate X MMM-2DP MM-Add X MMM-2MP MM-Move X
MMM-2SP MM-Send X MMM-MDP Modify X MMM-3CP MU-Actuate X
MMM-3AP MU-Animate X MMM-3DP MU-Add X MMM-3MP MU-Move X
MMM-3SP MU-Send X MMM-PTP Post X MMM-PCP Property Change X
MMM-RGP Register X MMM-RVP Resolve X MMM-RCP Rights Change X
MMM-TRP Transact X MMM-1CP UM-Capture X MMM-1SP UM-Send X
MMM-VLP Validate X

General notes:

  1. Items, e.g., Rights, Transactions, etc. may be transmitted as IDs or as actual Items.
  2. A Process Action Request (PA Request) may include:
    1. Model Rights to request that a Rights Service produce actual Rights based on Model Rights for a non-errored PA Status.
    2. Model Transaction to request that the Transaction service produce an actual Transaction based on Model Transaction for a non-errored PA Status.
  3. The JSON Schemas of the Process Actions specify which component of an RQ-Complement and a RS-Complement are required.
  4. The Process Action specification may make distinctions between Process types to facilitate understanding of the role typically played by a Process. However, any other type of Process may also be used instead of, e.g., User.

3. Sequences of Process Actions

It is useful to specify standards sequences of IPP messages that are widely used, such as Track that includes the following workflow where a User requests:

– Locate Service to MM-Add a Persona at an M-Location with a Spatial Attitude.
Export-Import Service to MM-Capture Data and Qualifier at a U-Location.
Identify Service to Identify Data and Qualifier as Stream.
Locate Service to MM-Anim the MM-Added Persona.
Export-Import Service to MU-Actuate the MM-Animated Persona at a U-Location.

This is the sequence of Messages:

Action RQ-Complements RS-Complements
MM-Add Nil Persona At MLoc With SA With Model Rights With Rights
UM-Capture Nil Data With Qualifier At ULoc Nil Data With Qualifier With SA
Identify Nil Data With Qualifier Nil ItemID
MM-Anim Nil Persona With Stream With Model Rights With Rights
UM-Actuate Nil MLoc At ULoc With SA With Model Rights With Rights

The Process Actions in Track assume that:

  1. The same Device is used to UM-Capture and MU-Actuate.
  2. The same Location Service is used to MM-Add and MM-Animate.

4. Backus Naur Form

program :=

| /* empty */

| one_or_more_statements

one_or_more_statements :=

| statement

| statement one_or_more_statements

statement :=

| id action_keyword id modifiers

action_keyword :=

|”Authenticate”

|”Author”

|”Convert”

|”Discover”

|”Execute”

|”Hide”

|”Identify”

|”Inform”

|”Interpret”

|”MM-Animate”

|”MM-Add”

|”MM-Move”

|”MM-Send”

|”Modify”

|”MU-Actuate”

|”MU-Animate”

|”MU-Add”

|”MU-Move”

|”MU-Send”

|”Post”

|”Property Change”

|”Register”

|”Resolve”

|”Rights Change”

|”Transact”

|”UM-Capture”

|”UM-Send”

|”Validate”

modifiers :=

| /* empty */

| one_or_more_modifiers

one_or_more_modifiers :=

| modifier

| modifier one_or_more_modifiers

modifier :=
| modifier_keyword id
| “At” “(” modifier_subkeyword_At “,” id “)”
| “With” “(” modifier_subkeyword_With “,” id “)”

modifier_keyword :=

| “At”

| “From”

| “Nil”

| “Of”

| “To”

| “With”

modifier_subkeyword_At :=
| “M-Location”
| “Item”

modifier_subkeyword_With :=
| “Rights”
| “Transaction”
| “Item”

id :=

| STRING

| STRING “@” TIME “,” TIME

<-Items Go to ToC Protocols->