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:
- 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.
- User “MM-Adds Persona At M-Location” means that a named User places a named Persona at a named M-Location.
- 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:
- 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.
- 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
- Includes either
- The request of Process1 to Process2
- The response of Process2 to the request of Process1.
- Uses Complement, that may be a direct object – Item or Process – preceded by
- Nil or
- 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 “”:
|
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:
- Items, e.g., Rights, Transactions, etc. may be transmitted as IDs or as actual Items.
- A Process Action Request (PA Request) may include:
- Model Rights to request that a Rights Service produce actual Rights based on Model Rights for a non-errored PA Status.
- Model Transaction to request that the Transaction service produce an actual Transaction based on Model Transaction for a non-errored PA Status.
- The JSON Schemas of the Process Actions specify which component of an RQ-Complement and a RS-Complement are required.
- 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:
- The same Device is used to UM-Capture and MU-Actuate.
- 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