The MPAI-MMM Scripting Language – MMM-Script in the following – serves the double purpose of providing:

  1. A handy tool to describe the Actions performed by Processes in an M-Instance.
  2. 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