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 | Account |
User | Changes | Rights | Of User | Rights |
User | Hides | Item | Rights | |
User | Identifies | DataMdata | Into Item | Item |
User | Modifies | Item | With DataMdata Into Item | Item |
Process | Validates | RequestAction | By Service | |
Process | MM-Sends | RequestAction | To Process | |
Process | MM-Sends | ResponseAction | To Process | |
Process | Executes | Contract | ||
ProcessA | Call a Service | ProcessB | ||
User | Authenticates | Authentication | At User | Authentication |
User | Authors | DataMdata | By Service At Service | Item |
User | Discovers | DiscoverIn | By Service At User | Discovery |
User | Informs | InformIn | By Service At User | Information |
User | Interprets | InterpretIn | By Service At User | Interpretation |
User | Posts | Item | At Service By Service | Item |
User | Transacts | Item | To User To Service By Service | |
User | Converts | Item | By Service Into Item At User | Item |
Resolves (compos.) | 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 |
ProcessA | Manage Entities (MM) | ProcessB | ||
User | MM-Adds | Item | At M-Location With SpAtt | |
User | MM-Animates | Model | At M-Location With Stream With SpAtt | |
User | MM-Disables | Item | At M-Location | |
MM-Embeds (compos.) | ||||
User | – MM-Adds | Item | At M-Location With SpAtt | |
User | – MM-Enable | Item | At M-Location | |
User | MM-Enables | Item | At M-Location | |
Process | MM-Sends | Item, DataMdata | To Process | |
ProcessA | Manage Entities (MU) | |||
Device | MU-Actuates | Item | At U-Location With SpAtt | |
MU-Renders (compos.) | ||||
User | – MM-Sends | Item | To Device | |
Device | – MU-Actuates | Item | At U-Location With SpAtt | |
Process | MU-Sends | Item | To Address | |
Track (compos.) | ||||
User | – MM-Embeds | Model | At U-Location, With SpAtt | |
User | – UM-Animates | Model | With Stream At M-Location | |
User | – MU-Renders | Item | At U-Location, With SpAtt | |
ProcessA | Manage Entities (UM) | |||
UM-Animates (compos.) | ||||
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 At U-Location, With SpAtt | |
Device | UM-Captures | Media | From U-Location To Device | |
UM-Renders (compos.) | ||||
Device | – UM-Captures | Media | From U-Location | |
Device | – UM-Sends | DataMdata | To User | |
User | – Identifies | DataMdata | Into Item | |
User | – MM-Embeds | Item | At M-Location With SpAtt | |
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