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