| 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 a payload used by Process Action Request or Process Action Response. Both include:
- 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 “”:
|
Process Actions are grouped according to the function they performed, e.g., Communicate, Economy, etc. Table 2 provides links to the web-based specifications and JSON Schemas of 28 Process Action. These provide Definition, Functional Requirements, Syntax and Semantics of each Process Action.
Table 2 – List of Process Actions with links to specifications
| Communicate | MMM-2SP | MM-Send | X | Import | MMM-1CP | UM-Capture | X |
| MMM-RVP | Resolve | X | MMM-1SP | UM-Send | X | ||
| Economy | MMM-PTP | Post | X | Information | MMM-AUP | Authenticate | X |
| MMM-TRP | Transact | X | MMM-DVP | Discover | X | ||
| Execute | MMM-EXP | Execute | X | MMM-ITP | Interpret | X | |
| Export | MMM-3CP | MU-Actuate | X | Item Manage | MMM-ATP | Author | X |
| MMM-3DP | MU-Add | X | MMM-CVP | Convert | X | ||
| MMM-3AP | MU-Animate | X | MMM-PCP | Property Change | X | ||
| MMM-3MP | MU-Move | X | Locate | MMM-2DP | MM-Add | X | |
| MMM-3SP | MU-Send | X | MMM-2AP | MM-Animate | X | ||
| Identity Manage | MMM-HDP | Hide | X | MMM-2CP | MM-Capture | X | |
| MMM-IDP | Identify | X | MMM-2MP | MM-Move | X | ||
| MMM-MDP | Modify | X | Rights Manage | MMM-RCP | Rights Change | X | |
| MMM-RGP | Register | 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, and vice-versa.
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:
– Export-Import Service to MM-Capture Data and Qualifier at a U-Location.
– Locate Service to MM-Add a Persona at an M-Location with a Spatial Attitude.
– 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