1. Introduction | 2. Process Actions | 3. Sequences | 4. Backus Naur Form |
1. Introduction
If a Process does not have the necessary Capabilities and/or Rights to perform an Action, the Process (now called Process1) can request Process2, that has the necessary 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 the payload used as Process Action Request or Process Action Response that includes:
- The Request of Process1 to Process2 or the Response of Process2 to the request of Process1.
- A series of Complements Nil, At, From, To, or With each followed by an Item or a Process.
- Condition expressed by If Event, if the Process Action is a Request.
- Process Action (PA) Status if the Process Action if a Response.
Table 1 – Component of a Request/Response Process Action
Process Action Request
PA Element | Description |
Time | Time of PA request emission and Time of PA request execution. |
RQ-Complements | The characters of one or more prepositions: Nil, At, From, To, or With each followed by Item (ID or the Item) or ProcessID. |
Condition | The characters If followed by Event. |
Process Action Response
PA Element | Description |
Time | Time of PA request emission and Time of PA request execution. |
RS-Complements | The characters of one or more prepositions: Nil, At, From, To, or With each followed by Item (ID or the Item) or ProcessID. |
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-Animate 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-Animate | Nil Persona With Stream With Model Rights | With Rights |
UM-Actuate | Nil MLoc At ULoc With SA With Model Rights | With Rights With R-Item Type. |
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