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 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