The MPAI-MMM Scripting Language – MMM-Script in the following – serves the double purpose of providing:
- A handy tool to describe the Actions performed by Processes in an M-Instance.
- A compact form that a Process can use to request another Process to perform Actions.
1 MMM-Script for Action Description |
2 Definition in Backus-Naur form |
1 MMM-Script for Action Description
The performance of any Action in an M-Instance is expressed as:
Process ActsOn Item | DataMdata | Media
| At | Service | User | MLoc | ULoc | Where Item ends up being located with SA |
| By | Service | Used to perform Action |
| From | Address | ULoc | Address, ULoc where the source is located |
| Into | Item | Action leads to |
| Of | User | Item refers to |
| To | Address | Device | Process | User | Item/Process where Items ends up being placed |
| With | DataMdata | Stream | Additional Item required to perform Action |
Note: SA is used as a compact form for Spatial Attitude.
Table 5 lists the possible combinations of Actions. Composite Actions are divided into elementary Actions.
Table 5 – Action-Item relationships
| ProcessA | General Actions | Item | Indirect object | ProcessB |
| human | Registers | Personal Data | By M-Instance | AccountID |
| User | Changes | Rights | Of User | RightsID |
| User | Hides | Item | RightsID | |
| User | Identifies | DataMdata | Into Item | ItemID |
| User | Modifies | Item | With DataMdata Into Item | ItemID |
| Process | Validates | RequestAction | By Service | |
| Process | MM-Sends | RequestAction | To Process | |
| Process | MM-Sends | ResponseAction | To Process | |
| Process | Executes | Contract | ||
| Call a Service | ||||
| User | Authenticates | AuthenticateIn | At User | AuthenticateOut |
| User | Authors | DataMdata | By Service At Service | ItemID |
| User | Discovers | DiscoverIn | By Service At User | DiscoverOut |
| User | Informs | InformIn | By Service At User | InformOut |
| User | Interprets | InterpretIn | By Service At User | InterpretOut |
| User | Posts | Item | At Service By Service | ItemID |
| User | Transacts | Item | To User To Service By Service | |
| User | Converts | Item | By Service Into Item At User | Item |
| Resolves (composite) | Item | By Service Into Item At User | ||
| Process | – MM-Sends | ReqAct | To Service | ResAct |
| Service | – MM-Sends | ReqAct | To Service | ResAct |
| Service | – MM-Sends | ReqAct | To Process | ResAct |
| Mng Entities (MM) | ||||
| User | MM-Adds | Entity | At M-Location,SA | |
| MM-Animates (composite) | ||||
| User | – Modify | Model | With Stream Into Item | ItemID |
| User | – MakeAnim | Item | With Stream | |
| User | MM-Disables | Entity | At M-Location | |
| MM-Embeds (composite) | ||||
| User | – MM-Adds | Entity | At M-Location,SA | |
| User | – MM-Enable | Entity | At M-Location | |
| User | MM-Enables | Entity | At M-Location | |
| Process | MM-Sends | Item, DataMdata | To Process | |
| Mng Entities (MU) | ||||
| Device | MU-Actuates | Entity | At U-Location,SA | |
| MU-Renders (composite) | ||||
| User | – MM-Sends | Entity | To Device | |
| Device | – MU-Actuates | Entity | At U-Location,SA | |
| Process | MU-Sends | Item | To Address | |
| Track (composite) | ||||
| User | – MM-Embeds | Model | At M-Location,SA | |
| User | – UM-Animates | Model | With Stream at M-Location | |
| User | – MU-Renders | Entity | At U-Location,SA | |
| Mng Entities (UM) | ||||
| UM-Animates (composite) | ||||
| Device | – UM-Captures | Stream | From U-Location | |
| Device | – UM-Sends | Stream | To User | |
| User | – Identifies | Stream | Into Item | |
| User | – MM-Animates | Model | With Stream At M-Location,SA | |
| Device | UM-Captures | Media | From U-Location To Device | |
| UM-Renders (composite) | ||||
| Device | – UM-Captures | Media | From U-Location | |
| Device | – UM-Sends | DataMdata | To User | |
| User | – Identifies | DataMdata | Into Item | |
| User | – MM-Embeds | Entity | At M-Location,SA | |
| Device | UM-Sends | DataMdata | From Address To Process |
1.2 Definition in 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 :=
|“Register”
| | “Change” |
| | “Hide” |
| | “Authenticate” |
| | “Identify” |
| | “Modify |
| | “Validate” |
| | “Execute” |
| | “Author” |
| | “Discover” |
| | “Inform” |
| | “Interpret” |
| | “Post” |
| | “Transact” |
| | “Convert” |
| | “Resolve” |
| | “MM-Add” |
| | “MM-Animate” |
| | “MM-Disable” |
| | “MM-Embed” |
| | “MM-Enable” |
| | “MM-Send” |
| | “MU-Actuate” |
| | “MU-Render” |
| | “MU-Send” |
| | “Track” |
| | “UM-Animate” |
| | “UM-Capture” |
| | “UM-Render” |
| | “UM-Send” |
modifiers :=
| /* empty */
| one_or_more_modifiers
one_or_more_modifiers :=
| modifier
| modifier one_or_more_modifiers
modifier :=
| modifier_keyword id
modifier_keyword :=
| “At”
| “By”
| “From”
| “Into”
| “Of”
| “To”
| “With”
id :=
| STRING
| STRING “@” TIME
| URL “@” TIME
| URL “:” STRING “@” TIME