<-Profiles         Go to ToC        MPAI-MMM API->

(Informative)

1 Introduction

This Informative Chapter verifies that MMM-TEC supports a variety of M-Instance Use Cases. Each Use Case is expressed exclusively by means of the 30 Process Actions specified in the Process Actions chapter; collectively, the Use Cases exercise all of them.

The following conventions are used throughout:

Notation Meaning Notation Meaning
MLoc M-Location ULoc U-Location
SA Spatial Attitude SPM Service Pricing Model
(M) Status=Model: proposed, not yet in effect (F) Status=Final: in effect

A Rights or Transaction Item keeps one name across its life and changes only its status: a Process Action Request carries X(M) and the Response returns X(F). Rights are requested only where the Process Action creates an entitlement that did not exist before.

The following Service abbreviations are used to increase the readability of the tables describing Use  Case workflows. Services are grouped as in Table 2 of the Process Actions chapter.

Service Name Acronym Service Name Acronym Service Name Acronym
Authenticate AUSrvc Execute EXSrvc Post POSrvc
Author ATSrvc Export-Import EISrvc Presence PRSrvc
Communicate COSrvc Identify IDSrvc Register RGSrvc
Convert CVSrvc Interpret ITSrvc Resolve RESrvc
Discover DSSrvc Licence LISrvc Rights RTSrvc
Emergency EMSrvc Locate LCSrvc Transact TRSrvc
Validate VLSrvc

All Use Cases include the following:

  1. Description – summary description of the Use Case.
  2. Variables – the Processes and Items referenced by the Process Actions.
  3. Workflow – expressed by the main elements of Process Actions.

MMM-TEC is based on the notions of:

  1. human – operating in the Universe.
  2. User – representing a human operating in an M-Instance as a replica of the human or as an autonomous agent.
  3. Persona – an avatar animated by a User.

To make Use Case descriptions less congested, the same name may be used to indicate a human, a User, or a Persona. The context clearly identifies which of the three entities the name refers to. In particular, the Process performing Register is the human; thereafter the same name denotes the User.

A Use Case verifies technologies it is the first to require. Capabilities already verified by an earlier Use Case are assumed rather than repeated: a participant who is described as being already active in the M-Instance is not made to MM-Add a Persona again.

2 Friends meet in the metaverse

2.1 Description

Human1 registers with an M-Instance. Friend1 (User of Human1) acquires a land parcel and a room, tracks its Persona at a reference location (MVS), moves to the parcel, places the room, makes it perceptible, and enters it. The room is rendered at Friend1’s U-Location so that Human1 perceives it. Friend1 invites Friend2. Friend2 accepts the invitation, receives access rights, and moves to the room. After some time, Friend2 leaves and Friend1 revokes the granted rights.

2.2 Variables

Processes

  • human1 – the human in the Universe whose User is Friend1
  • Friend1 – User of human1
  • Friend2 – User already operating in the M-Instance, invited by Friend1
  • RGSrvc – opens the Account for human1
  • TRSrvc – settles the Land and Room Transactions and transfers the corresponding Rights
  • LCSrvc – MM-Adds, MM-Moves, MM-Animates and Property Changes Items
  • COSrvc – conveys Messages between Processes
  • RTSrvc – grants and withdraws Friend2’s access to the Room
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures Data at ULocFriend1 and MU-Actuates the Room there
  • PRSrvc – recipient of Friend1’s presence Message

Items

Registration

  • PersonalProfile – Personal Profile supplied by human1 at Registration
  • AccountID – Account opened for human1 by RGSrvc

Personae and Assets

  • Persona1ID, Persona2ID – Personae of Friend1 and Friend2
  • ParcelID – land Parcel, carried as AssetID of Land_Transaction
  • RoomID – Room, carried as AssetID of Room_Transaction

Locations and Spatial Attitude

  • MVS – Metaverse Square, the reference M-Location at which Personae are MM-Added
  • MLocFriend2 – M-Location of Friend2’s Persona before and after the visit
  • ULocFriend1 – U-Location at which human1’s Data is UM-Captured and the Room is MU-Actuated
  • SA – Spatial Attitude given to an Item when MM-Added, MM-Moved or MU-Actuated

Animation

  • DataID – Data UM-Captured at ULocFriend1
  • Qualifier – Qualifier of the UM-Captured Data
  • StreamID – Animation Stream Identified from DataID

Actuation in the Universe

  • RItemType – Type of R-Item used to MU-Actuate the Room
  • RItemID – R-Item rendering the Room at ULocFriend1, perceived by human1

Messages

  • MessagePRID – Message signalling Friend1’s presence to PRSrvc
  • Message12ID – Friend1’s invitation to Friend2
  • Message21ID – Friend2’s acceptance

Transactions

  • Land_Transaction(M)/(F) – Transaction acquiring the Parcel
  • Room_Transaction(M)/(F) – Transaction acquiring the Room

Rights

  • Land_Rights(M)/(F) – Rights to the Parcel
  • Room_Rights(M)/(F) – Rights to the Room
  • Persona1_Rights(M)/(F) – Rights to MM-Add and hold Persona1ID at MVS
  • Animate_Rights(M)/(F) – Rights to MM-Animate Persona1ID
  • AddRoom_Rights(M)/(F) – Rights to MM-Add the Room at the Parcel
  • Property_Rights(M)/(F) – Rights to change the Room’s perceptibility
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the Room at ULocFriend1
  • MessagePR_Rights(M)/(F) – Rights of PRSrvc to Use MessagePRID
  • Message12_Rights(M)/(F) – Rights of Friend2 to Use Message12ID
  • Message21_Rights(M)/(F) – Rights of Friend1 to Use Message21ID
  • RoomAccess_Rights(M)/(F) – Rights of Friend2 to enter the Room
  • Move_Rights(M)/(F) – Rights exercised by Friend2 to MM-Move into the Room
  • Revoke_Rights(M)/(F) – Rights withdrawing Friend2’s Room access

2.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
human1 Register With PersonalProfile RGSrvc With AccountID, Ack Human registers
Friend1 Transact With Land_Transaction(M), With Land_Rights(M) TRSrvc With Land_Transaction(F), With Land_Rights(F), Ack Buy land
Friend1 Transact With Room_Transaction(M), With Room_Rights(M) TRSrvc With Room_Transaction(F), With Room_Rights(F), Ack Buy room
Friend1 MM-Add Nil Persona1ID, At MVS, With SA, With Persona1_Rights(M) LCSrvc With Persona1_Rights(F), Ack Add persona
Friend1 UM-Capture Nil DataID, At ULocFriend1, With Qualifier EISrvc Nil DataID, With Qualifier, With SA, Ack Capture data
Friend1 Identify Nil DataID, With Qualifier IDSrvc Nil StreamID, With Ack Identify stream
Friend1 MM-Animate Nil Persona1ID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate persona
Friend1 MM-Send Nil MessagePRID, To PRSrvc, With MessagePR_Rights(M) COSrvc With MessagePR_Rights(F), Ack Signal presence
Friend1 MM-Move Nil Persona1ID, From MVS, To ParcelID, With SA LCSrvc With Ack Move to parcel
Friend1 MM-Add Nil RoomID, At ParcelID, With SA, With AddRoom_Rights(M) LCSrvc With AddRoom_Rights(F), Ack Place room
Friend1 Property Change Nil RoomID, With Property_Rights(M) LCSrvc With Property_Rights(F), Ack Make room perceptible
Friend1 MM-Move Nil Persona1ID, From ParcelID, To RoomID, With SA LCSrvc With Ack Enter room
Friend1 MU-Actuate Nil RoomID, At ULocFriend1, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render room to human1
Friend1 MM-Send Nil Message12ID, To Friend2, With Message12_Rights(M) COSrvc With Message12_Rights(F), Ack Send invitation
Friend2 MM-Send Nil Message21ID, To Friend1, With Message21_Rights(M) COSrvc With Message21_Rights(F), Ack Accept invitation
Friend1 Rights Change Nil Friend2, With RoomAccess_Rights(M) RTSrvc With RoomAccess_Rights(F), Ack Grant access
Friend2 MM-Move Nil Persona2ID, From MLocFriend2, To RoomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Enter room
Friend2 MM-Move Nil Persona2ID, From RoomID, To MLocFriend2, With SA LCSrvc With Ack Leave room
Friend1 Rights Change Nil Friend2, With Revoke_Rights(M) RTSrvc With Revoke_Rights(F), Ack Revoke access

3 Virtual lecture

3.1 Description

A Lecturer registers with an M-Instance and acquires a lecture room. The Lecturer tracks a Persona in the room and animates it with data captured in the Universe. A Student registers, tracks a Persona, is granted access, and moves into the room. The lecture room is rendered at the Student’s U-Location so that the Student perceives the lecture. The Student asks a question. After the lecture the Student leaves.

3.2 Variables

Processes

  • Lecturer – the human who Registers, and the User delivering the lecture
  • Student1 – the human who Registers, and the User attending
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Lecture Room Transaction
  • LCSrvc – MM-Adds, MM-Moves and MM-Animates Items
  • COSrvc – conveys the Student’s question
  • RTSrvc – grants the Student access to the Lecture Room
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures the Lecturer’s Data and MU-Actuates the Lecture Room

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • PersonaLecturerID, PersonaStudentID – Personae of the Lecturer and Student1
  • LectureRoomID – Lecture Room, carried as AssetID of LectureRoom_Transaction

Locations and Spatial Attitude

  • ULocLecturer – U-Location at which the Lecturer’s Data is UM-Captured
  • MLocStudent – M-Location of Student1’s Persona before and after the lecture
  • ULocStudent – U-Location at which the Lecture Room is MU-Actuated
  • SA – Spatial Attitude

Animation

  • DataID, Qualifier, StreamID – captured Data, its Qualifier, and the Animation Stream

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the Lecture Room

Messages

  • MessageQ1ID – Student1’s question to the Lecturer

Transactions

  • LectureRoom_Transaction(M)/(F) – Transaction acquiring the Lecture Room

Rights

  • LectureRoom_Rights(M)/(F) – Rights to the Lecture Room
  • LecturerPersona_Rights(M)/(F) – Rights to MM-Add and hold PersonaLecturerID
  • StudentPersona_Rights(M)/(F) – Rights to MM-Add and hold PersonaStudentID
  • Animate_Rights(M)/(F) – Rights to MM-Animate PersonaLecturerID
  • LectureAccess_Rights(M)/(F) – Rights of Student1 to enter the Lecture Room
  • Move_Rights(M)/(F) – Rights exercised by Student1 to MM-Move into the Room
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the Lecture Room
  • MessageQ1_Rights(M)/(F) – Rights of the Lecturer to Use MessageQ1ID

3.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Lecturer Register With PersonalProfile RGSrvc With AccountID, Ack Lecturer registers
Lecturer Transact With LectureRoom_Transaction(M), With LectureRoom_Rights(M) TRSrvc With LectureRoom_Transaction(F), With LectureRoom_Rights(F), Ack Acquire lecture room
Lecturer MM-Add Nil PersonaLecturerID, At LectureRoomID, With SA, With LecturerPersona_Rights(M) LCSrvc With LecturerPersona_Rights(F), Ack Add lecturer persona
Lecturer UM-Capture Nil DataID, At ULocLecturer, With Qualifier EISrvc Nil DataID, With Qualifier, With SA, Ack Capture lecture data
Lecturer Identify Nil DataID, With Qualifier IDSrvc Nil StreamID, With Ack Create lecture stream
Lecturer MM-Animate Nil PersonaLecturerID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate lecturer
Student1 Register With PersonalProfile RGSrvc With AccountID, Ack Student registers
Student1 MM-Add Nil PersonaStudentID, At MLocStudent, With SA, With StudentPersona_Rights(M) LCSrvc With StudentPersona_Rights(F), Ack Add student persona
Lecturer Rights Change Nil Student1, With LectureAccess_Rights(M) RTSrvc With LectureAccess_Rights(F), Ack Grant access to student
Student1 MM-Move Nil PersonaStudentID, From MLocStudent, To LectureRoomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Join lecture
Student1 MU-Actuate Nil LectureRoomID, At ULocStudent, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render lecture to student
Student1 MM-Send Nil MessageQ1ID, To Lecturer, With MessageQ1_Rights(M) COSrvc With MessageQ1_Rights(F), Ack Ask question
Student1 MM-Move Nil PersonaStudentID, From LectureRoomID, To MLocStudent, With SA LCSrvc With Ack Leave lecture

4 Hybrid working

4.1 Description

Employee1 works remotely and Employee2 is physically present in the office. Employee1 registers, acquires a meeting room, tracks a Persona animated by data captured at home, and enters the room. Employee2 registers, is granted access, and joins. Employee2 brings the physical office into the meeting room; Employee1 has the meeting room rendered at home. The two exchange messages. Employee2 then leaves and access is withdrawn.

This is the only Use Case in which both directions across the Universe/M-Instance boundary occur in the same session.

4.2 Variables

Processes

  • Employee1 – the human who Registers, and the User working remotely
  • Employee2 – the human who Registers, and the User physically in the office
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Meeting Room Transaction
  • LCSrvc – MM-Adds, MM-Moves and MM-Animates Items
  • COSrvc – conveys Messages between the Employees
  • RTSrvc – grants and withdraws Employee2’s access
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures, UM-Actuates the office scene, and MU-Actuates the Meeting Room

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • Persona1ID, Persona2ID – Personae of the two Employees
  • MeetingRoomID – Meeting Room, carried as AssetID of MeetingRoom_Transaction
  • OfficeSceneID – Item produced by UM-Actuate, representing the physical office in the Meeting Room

Locations and Spatial Attitude

  • MLocEmp1, MLocEmp2 – M-Locations of the two Personae before and after the meeting
  • ULocEmp1 – U-Location at which Employee1’s Data is UM-Captured and the Meeting Room MU-Actuated
  • ULocOffice – U-Location of the physical office, UM-Actuated into the Meeting Room
  • SA – Spatial Attitude

Animation

  • DataID, Qualifier, StreamID – captured Data, its Qualifier, and the Animation Stream

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the Meeting Room

Messages

  • Message12ID, Message21ID – message and reply

Transactions

  • MeetingRoom_Transaction(M)/(F) – Transaction acquiring the Meeting Room

Rights

  • MeetingRoom_Rights(M)/(F) – Employee1’s Rights to the Meeting Room as an Asset
  • Persona1_Rights(M)/(F), Persona2_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • Animate_Rights(M)/(F) – Rights to MM-Animate Persona1ID
  • MeetingAccess_Rights(M)/(F) – Rights of Employee2 to enter the Meeting Room
  • Move_Rights(M)/(F) – Rights exercised by Employee2 to MM-Move into the Room
  • Import_Rights(M)/(F) – Rights to UM-Actuate the office scene into the Meeting Room
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the Meeting Room at ULocEmp1
  • Message12_Rights(M)/(F), Message21_Rights(M)/(F) – Rights to Use each Message
  • Revoke_Rights(M)/(F) – Rights withdrawing Employee2’s access

4.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Employee1 Register With PersonalProfile RGSrvc With AccountID, Ack Employee1 registers
Employee1 Transact With MeetingRoom_Transaction(M), With MeetingRoom_Rights(M) TRSrvc With MeetingRoom_Transaction(F), With MeetingRoom_Rights(F), Ack Acquire meeting room
Employee1 MM-Add Nil Persona1ID, At MLocEmp1, With SA, With Persona1_Rights(M) LCSrvc With Persona1_Rights(F), Ack Add remote persona
Employee1 UM-Capture Nil DataID, At ULocEmp1, With Qualifier EISrvc Nil DataID, With Qualifier, With SA, Ack Capture remote worker data
Employee1 Identify Nil DataID, With Qualifier IDSrvc Nil StreamID, With Ack Identify stream
Employee1 MM-Animate Nil Persona1ID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate remote persona
Employee1 MM-Move Nil Persona1ID, From MLocEmp1, To MeetingRoomID, With SA LCSrvc With Ack Enter own meeting room
Employee2 Register With PersonalProfile RGSrvc With AccountID, Ack Employee2 registers
Employee1 Rights Change Nil Employee2, With MeetingAccess_Rights(M) RTSrvc With MeetingAccess_Rights(F), Ack Grant meeting access
Employee2 MM-Add Nil Persona2ID, At MLocEmp2, With SA, With Persona2_Rights(M) LCSrvc With Persona2_Rights(F), Ack Add office persona
Employee2 MM-Move Nil Persona2ID, From MLocEmp2, To MeetingRoomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Join meeting
Employee2 UM-Actuate Nil ULocOffice, At MeetingRoomID, With Qualifier, With SA, With Import_Rights(M) EISrvc Nil OfficeSceneID, With SA, With Import_Rights(F), Ack Bring the office into the meeting room
Employee1 MU-Actuate Nil MeetingRoomID, At ULocEmp1, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render the meeting into the remote home
Employee1 MM-Send Nil Message12ID, To Employee2, With Message12_Rights(M) COSrvc With Message12_Rights(F), Ack Send message
Employee2 MM-Send Nil Message21ID, To Employee1, With Message21_Rights(M) COSrvc With Message21_Rights(F), Ack Reply message
Employee2 MM-Move Nil Persona2ID, From MeetingRoomID, To MLocEmp2, With SA LCSrvc With Ack Leave meeting
Employee1 Rights Change Nil Employee2, With Revoke_Rights(M) RTSrvc With Revoke_Rights(F), Ack Withdraw meeting access

5 eSports Tournament

5.1 Description

An Organiser registers with an M-Instance and acquires a virtual arena. Two Players register and track their Personae. The Organiser grants participation rights and validates that each Player holds them before the match. The Players enter the arena, one animates a Persona from captured input, and a game Program is executed. The Organiser captures the match from a point of view. The Players exchange messages, leave the arena, and participation rights are withdrawn.

5.2 Variables

Processes

  • Organiser – the human who Registers, and the User running the tournament
  • Player1, Player2 – the humans who Register, and the Users competing
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Arena Transaction
  • LCSrvc – MM-Adds, MM-Moves, MM-Animates and MM-Captures Items
  • COSrvc – conveys Messages between Players
  • RTSrvc – grants and withdraws participation Rights
  • VLSrvc – Validates that a Player holds the Rights it claims
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures Player1’s gameplay input
  • EXSrvc – Executes the game Program

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • Persona1ID, Persona2ID – Personae of the two Players
  • ArenaID – Arena, carried as AssetID of Arena_Transaction
  • GameProgramID – Program Object executed by EXSrvc
  • GameResultID – Item produced by the execution
  • MatchClipID – Item produced by MM-Capturing the Arena

Locations, Point of View and Spatial Attitude

  • MLocPlayer1, MLocPlayer2 – M-Locations of the Personae before and after the match
  • ULocPlayer1 – U-Location at which Player1’s input is UM-Captured
  • PoVOrganiser – Point of View from which the Organiser MM-Captures the Arena
  • SA – Spatial Attitude

Animation

  • GameDataID, Qualifier, StreamID – captured input, its Qualifier, and the Animation Stream

Service Access

  • ValidationID – Validation Response Item returned by VLSrvc

Messages

  • Message12ID, Message21ID – message and reply between Players

Transactions

  • Arena_Transaction(M)/(F) – Transaction acquiring the Arena

Rights

  • Arena_Rights(M)/(F) – Organiser’s Rights to the Arena as an Asset
  • Persona1_Rights(M)/(F), Persona2_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • Participation_Rights(M)/(F) – Rights of a Player to take part in the tournament
  • Move_Rights(M)/(F) – Rights exercised by a Player to MM-Move into the Arena
  • Animate_Rights(M)/(F) – Rights to MM-Animate Persona1ID
  • Validate_Rights(M)/(F) – Rights to request Validation of a Player
  • Execute_Rights(M)/(F) – Rights to Execute GameProgramID
  • Capture_Rights(M)/(F) – Rights to MM-Capture the Arena
  • Message12_Rights(M)/(F), Message21_Rights(M)/(F) – Rights to Use each Message
  • Revoke_Rights(M)/(F) – Rights withdrawing participation

5.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Organiser Register With PersonalProfile RGSrvc With AccountID, Ack Organiser registers
Organiser Transact With Arena_Transaction(M), With Arena_Rights(M) TRSrvc With Arena_Transaction(F), With Arena_Rights(F), Ack Acquire arena
Player1 Register With PersonalProfile RGSrvc With AccountID, Ack Player1 registers
Player2 Register With PersonalProfile RGSrvc With AccountID, Ack Player2 registers
Organiser Rights Change Nil Player1, With Participation_Rights(M) RTSrvc With Participation_Rights(F), Ack Enrol Player1
Organiser Rights Change Nil Player2, With Participation_Rights(M) RTSrvc With Participation_Rights(F), Ack Enrol Player2
Player1 MM-Add Nil Persona1ID, At MLocPlayer1, With SA, With Persona1_Rights(M) LCSrvc With Persona1_Rights(F), Ack Add Player1 persona
Player2 MM-Add Nil Persona2ID, At MLocPlayer2, With SA, With Persona2_Rights(M) LCSrvc With Persona2_Rights(F), Ack Add Player2 persona
Organiser Validate Nil Player1, With Validate_Rights(M) VLSrvc Nil ValidationID, With Validate_Rights(F), Ack Check Player1 is entitled to compete
Player1 MM-Move Nil Persona1ID, From MLocPlayer1, To ArenaID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Enter arena
Player2 MM-Move Nil Persona2ID, From MLocPlayer2, To ArenaID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Enter arena
Player1 UM-Capture Nil GameDataID, At ULocPlayer1, With Qualifier EISrvc Nil GameDataID, With Qualifier, With SA, Ack Capture gameplay input
Player1 Identify Nil GameDataID, With Qualifier IDSrvc Nil StreamID, With Ack Identify game stream
Player1 MM-Animate Nil Persona1ID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate Player1 persona
Player1 Execute Nil GameProgramID, With Execute_Rights(M) EXSrvc Nil GameResultID, With Execute_Rights(F), Ack Perform game action
Organiser MM-Capture Nil ArenaID, At PoVOrganiser, With Qualifier, With Capture_Rights(M) LCSrvc Nil MatchClipID, With Capture_Rights(F), Ack Capture the match
Player1 MM-Send Nil Message12ID, To Player2, With Message12_Rights(M) COSrvc With Message12_Rights(F), Ack Send message
Player2 MM-Send Nil Message21ID, To Player1, With Message21_Rights(M) COSrvc With Message21_Rights(F), Ack Reply message
Player1 MM-Move Nil Persona1ID, From ArenaID, To MLocPlayer1, With SA LCSrvc With Ack Leave arena
Player2 MM-Move Nil Persona2ID, From ArenaID, To MLocPlayer2, With SA LCSrvc With Ack Leave arena
Organiser Rights Change Nil Player1, With Revoke_Rights(M) RTSrvc With Revoke_Rights(F), Ack Withdraw participation

6 Virtual Performance

6.1 Description

A Performer registers with an M-Instance and acquires a virtual stage. The Performer tracks a Persona on the stage, animates it with audio-visual data captured in the Universe, and adjusts the stage lighting. An Audience member registers, is granted access, and moves to the stage. The stage is rendered at the Audience member’s U-Location. Feedback is sent to the Performer. After the performance the Audience member leaves and access is withdrawn.

6.2 Variables

Processes

  • Performer – the human who Registers, and the User performing
  • Audience1 – the human who Registers, and the User attending
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Stage Transaction
  • LCSrvc – MM-Adds, MM-Moves, MM-Animates and Property Changes Items
  • COSrvc – conveys the Audience member’s feedback
  • RTSrvc – grants and withdraws access to the performance
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures the Performer’s Data and MU-Actuates the Stage

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • PersonaPerformerID, PersonaAudienceID – Personae of Performer and Audience1
  • StageID – Stage, carried as AssetID of Stage_Transaction
  • LightSourceID – Light Source on the Stage whose attributes are Property Changed

Locations and Spatial Attitude

  • ULocPerformer – U-Location at which the Performer’s Data is UM-Captured
  • MLocAudience – M-Location of Audience1’s Persona before and after the performance
  • ULocAudience – U-Location at which the Stage is MU-Actuated
  • SA – Spatial Attitude

Animation

  • DataID, Qualifier, StreamID – captured Data, its Qualifier, and the Animation Stream

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the Stage

Messages

  • MessageF1ID – Audience1’s feedback to the Performer

Transactions

  • Stage_Transaction(M)/(F) – Transaction acquiring the Stage

Rights

  • Stage_Rights(M)/(F) – Performer’s Rights to the Stage as an Asset
  • PerformerPersona_Rights(M)/(F), AudiencePersona_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • Animate_Rights(M)/(F) – Rights to MM-Animate PersonaPerformerID
  • Property_Rights(M)/(F) – Rights to change the Light Source attributes
  • PerformanceAccess_Rights(M)/(F) – Rights of Audience1 to attend
  • Move_Rights(M)/(F) – Rights exercised by Audience1 to MM-Move to the Stage
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the Stage at ULocAudience
  • MessageF1_Rights(M)/(F) – Rights of the Performer to Use MessageF1ID
  • Revoke_Rights(M)/(F) – Rights withdrawing Audience1’s access

6.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Performer Register With PersonalProfile RGSrvc With AccountID, Ack Performer registers
Performer Transact With Stage_Transaction(M), With Stage_Rights(M) TRSrvc With Stage_Transaction(F), With Stage_Rights(F), Ack Acquire stage
Performer MM-Add Nil PersonaPerformerID, At StageID, With SA, With PerformerPersona_Rights(M) LCSrvc With PerformerPersona_Rights(F), Ack Add performer persona
Performer UM-Capture Nil DataID, At ULocPerformer, With Qualifier EISrvc Nil DataID, With Qualifier, With SA, Ack Capture performance data
Performer Identify Nil DataID, With Qualifier IDSrvc Nil StreamID, With Ack Create performance stream
Performer MM-Animate Nil PersonaPerformerID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate performer
Performer Property Change Nil LightSourceID, With Property_Rights(M) LCSrvc With Property_Rights(F), Ack Set stage lighting
Audience1 Register With PersonalProfile RGSrvc With AccountID, Ack Audience member registers
Performer Rights Change Nil Audience1, With PerformanceAccess_Rights(M) RTSrvc With PerformanceAccess_Rights(F), Ack Grant access
Audience1 MM-Add Nil PersonaAudienceID, At MLocAudience, With SA, With AudiencePersona_Rights(M) LCSrvc With AudiencePersona_Rights(F), Ack Add audience persona
Audience1 MM-Move Nil PersonaAudienceID, From MLocAudience, To StageID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Join performance
Audience1 MU-Actuate Nil StageID, At ULocAudience, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render performance to the audience
Audience1 MM-Send Nil MessageF1ID, To Performer, With MessageF1_Rights(M) COSrvc With MessageF1_Rights(F), Ack Send feedback
Audience1 MM-Move Nil PersonaAudienceID, From StageID, To MLocAudience, With SA LCSrvc With Ack Leave performance
Performer Rights Change Nil Audience1, With Revoke_Rights(M) RTSrvc With Revoke_Rights(F), Ack Withdraw access

7 AI Tourist Guide

7.1 Description

A Tourist registers with an M-Instance and visits a site in the Universe. The Tourist captures the site, has the captured Data Identified, and asks an Interpret Service for commentary. The Tourist also Discovers what else is present at the corresponding M-Location. An AI Guide sends the information and answers a follow-up question. The commentary is rendered at the site itself so that the Tourist perceives it in place. The Tourist then moves on to the next location.

7.2 Variables

Processes

  • Tourist – the human who Registers, and the User visiting the site
  • Guide – autonomous User providing commentary
  • RGSrvc – opens the Account
  • LCSrvc – MM-Adds and MM-Moves the Tourist Persona
  • COSrvc – conveys Messages between Tourist and Guide
  • IDSrvc – Identifies the captured Data as a Scene
  • ITSrvc – Interprets the Scene and returns commentary
  • DSSrvc – Discovers Items at the M-Location
  • EISrvc – UM-Captures the site and MU-Actuates the commentary there

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae

  • PersonaTouristID – Persona of the Tourist

Locations and Spatial Attitude

  • ULocSite – U-Location of the site being visited and at which commentary is MU-Actuated
  • MLocSite – M-Location corresponding to the site
  • MLocNext – M-Location to which the Tourist moves next
  • SA – Spatial Attitude

Captured and derived Items

  • DataID, Qualifier – Data UM-Captured at ULocSite and its Qualifier
  • SceneID – Item Identified from DataID
  • InformationID – Interpretation Response Item returned by ITSrvc
  • DiscoveryID – Discovery Response Item returned by DSSrvc

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the commentary at the site

Messages

  • MessageG1ID – Guide’s first message to the Tourist
  • MessageT1ID – Tourist’s request for more detail
  • MessageG2ID – Guide’s follow-up message

Rights

  • TouristPersona_Rights(M)/(F) – Rights to MM-Add and hold PersonaTouristID
  • Interpret_Rights(M)/(F) – Rights to request Interpretation of SceneID
  • Discover_Rights(M)/(F) – Rights to request Discovery at MLocSite
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the commentary at ULocSite
  • MessageG1_Rights(M)/(F), MessageT1_Rights(M)/(F), MessageG2_Rights(M)/(F) – Rights to Use each Message

7.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Tourist Register With PersonalProfile RGSrvc With AccountID, Ack Tourist registers
Tourist MM-Add Nil PersonaTouristID, At MLocSite, With SA, With TouristPersona_Rights(M) LCSrvc With TouristPersona_Rights(F), Ack Add tourist persona
Tourist UM-Capture Nil DataID, At ULocSite, With Qualifier EISrvc Nil DataID, With Qualifier, With SA, Ack Capture the site
Tourist Identify Nil DataID, With Qualifier IDSrvc Nil SceneID, With Ack Identify captured scene
Tourist Interpret Nil SceneID, With Interpret_Rights(M) ITSrvc Nil InformationID, With Interpret_Rights(F), Ack Request interpretation
Tourist Discover Nil MLocSite, With Discover_Rights(M) DSSrvc Nil DiscoveryID, With Discover_Rights(F), Ack Discover what else is here
Guide MM-Send Nil MessageG1ID, To Tourist, With MessageG1_Rights(M) COSrvc With MessageG1_Rights(F), Ack Provide information
Tourist MM-Send Nil MessageT1ID, To Guide, With MessageT1_Rights(M) COSrvc With MessageT1_Rights(F), Ack Request more detail
Guide MM-Send Nil MessageG2ID, To Tourist, With MessageG2_Rights(M) COSrvc With MessageG2_Rights(F), Ack Provide additional information
Tourist MU-Actuate Nil InformationID, At ULocSite, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render commentary at the site
Tourist MM-Move Nil PersonaTouristID, From MLocSite, To MLocNext, With SA LCSrvc With Ack Move to another location

8 Virtual Dance School

8.1 Description

An Instructor registers with an M-Instance and acquires a dance room. The Instructor tracks a Persona in the room and animates it with movements captured in the Universe. A Student registers, is granted access, tracks a Persona, and joins the class. The dance room is rendered at the Student’s U-Location. The Student’s own movements are captured, animate the Student Persona, and are Interpreted so that they can be compared with the Instructor’s. Feedback and a question are exchanged, and the Student leaves.

8.2 Variables

Processes

  • Instructor – the human who Registers, and the User teaching
  • Student1 – the human who Registers, and the User attending
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Dance Room Transaction
  • LCSrvc – MM-Adds, MM-Moves and MM-Animates Items
  • COSrvc – conveys feedback and question
  • RTSrvc – grants access to the class
  • IDSrvc – Identifies captured Data as Animation Streams
  • ITSrvc – Interprets the Student’s movement Stream
  • EISrvc – UM-Captures both parties’ movements and MU-Actuates the Dance Room

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • PersonaInstructorID, PersonaStudentID – Personae of Instructor and Student1
  • DanceRoomID – Dance Room, carried as AssetID of DanceRoom_Transaction

Locations and Spatial Attitude

  • ULocInstructor – U-Location at which the Instructor’s movements are UM-Captured
  • MLocStudent – M-Location of the Student Persona before and after the class
  • ULocStudent – U-Location at which the Student’s movements are UM-Captured and the Dance Room MU-Actuated
  • SA – Spatial Attitude

Animation and Analysis

  • InstructorDataID, StudentDataID – Data UM-Captured from each party
  • Qualifier – Qualifier of the UM-Captured Data
  • InstructorStreamID, StudentStreamID – Animation Streams Identified from the Data
  • AnalysisID – Interpretation Response Item comparing the two movements

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the Dance Room

Messages

  • MessageFbID – Instructor’s feedback to Student1
  • MessageQ1ID – Student1’s question to the Instructor

Transactions

  • DanceRoom_Transaction(M)/(F) – Transaction acquiring the Dance Room

Rights

  • DanceRoom_Rights(M)/(F) – Instructor’s Rights to the Dance Room as an Asset
  • InstructorPersona_Rights(M)/(F), StudentPersona_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • AnimateI_Rights(M)/(F), AnimateS_Rights(M)/(F) – Rights to MM-Animate each Persona
  • ClassAccess_Rights(M)/(F) – Rights of Student1 to attend the class
  • Move_Rights(M)/(F) – Rights exercised by Student1 to MM-Move into the Dance Room
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the Dance Room at ULocStudent
  • Interpret_Rights(M)/(F) – Rights to request analysis of StudentStreamID
  • MessageFb_Rights(M)/(F), MessageQ1_Rights(M)/(F) – Rights to Use each Message

8.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Instructor Register With PersonalProfile RGSrvc With AccountID, Ack Instructor registers
Instructor Transact With DanceRoom_Transaction(M), With DanceRoom_Rights(M) TRSrvc With DanceRoom_Transaction(F), With DanceRoom_Rights(F), Ack Acquire dance room
Instructor MM-Add Nil PersonaInstructorID, At DanceRoomID, With SA, With InstructorPersona_Rights(M) LCSrvc With InstructorPersona_Rights(F), Ack Add instructor persona
Instructor UM-Capture Nil InstructorDataID, At ULocInstructor, With Qualifier EISrvc Nil InstructorDataID, With Qualifier, With SA, Ack Capture instructor movements
Instructor Identify Nil InstructorDataID, With Qualifier IDSrvc Nil InstructorStreamID, With Ack Create instructor stream
Instructor MM-Animate Nil PersonaInstructorID, With InstructorStreamID, With AnimateI_Rights(M) LCSrvc With AnimateI_Rights(F), Ack Animate instructor
Student1 Register With PersonalProfile RGSrvc With AccountID, Ack Student registers
Instructor Rights Change Nil Student1, With ClassAccess_Rights(M) RTSrvc With ClassAccess_Rights(F), Ack Grant access to student
Student1 MM-Add Nil PersonaStudentID, At MLocStudent, With SA, With StudentPersona_Rights(M) LCSrvc With StudentPersona_Rights(F), Ack Add student persona
Student1 MM-Move Nil PersonaStudentID, From MLocStudent, To DanceRoomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Join class
Student1 MU-Actuate Nil DanceRoomID, At ULocStudent, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Render class to the student
Student1 UM-Capture Nil StudentDataID, At ULocStudent, With Qualifier EISrvc Nil StudentDataID, With Qualifier, With SA, Ack Capture student movements
Student1 Identify Nil StudentDataID, With Qualifier IDSrvc Nil StudentStreamID, With Ack Create student stream
Student1 MM-Animate Nil PersonaStudentID, With StudentStreamID, With AnimateS_Rights(M) LCSrvc With AnimateS_Rights(F), Ack Animate student
Student1 Interpret Nil StudentStreamID, With Interpret_Rights(M) ITSrvc Nil AnalysisID, With Interpret_Rights(F), Ack Analyse movements
Instructor MM-Send Nil MessageFbID, To Student1, With MessageFb_Rights(M) COSrvc With MessageFb_Rights(F), Ack Provide feedback
Student1 MM-Send Nil MessageQ1ID, To Instructor, With MessageQ1_Rights(M) COSrvc With MessageQ1_Rights(F), Ack Ask question
Student1 MM-Move Nil PersonaStudentID, From DanceRoomID, To MLocStudent, With SA LCSrvc With Ack Leave class

9 Virtual Car Showroom

9.1 Description

A Dealer registers with an M-Instance, acquires a showroom, and places a car in it. A Customer registers, is granted access, and enters the showroom. After exchanging messages with the Dealer, the Customer changes the car’s finish, then produces a configured variant of the car. The configured car is rendered at the Customer’s U-Location for inspection. The Customer purchases it and leaves the showroom.

9.2 Variables

Processes

  • Dealer – the human who Registers, and the User running the showroom
  • Customer – the human who Registers, and the User visiting
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Showroom and Car Transactions
  • LCSrvc – MM-Adds, MM-Moves and Property Changes Items
  • COSrvc – conveys Messages between Customer and Dealer
  • RTSrvc – grants the Customer access to the showroom
  • ATSrvc – Modifies the car into a configured variant
  • EISrvc – MU-Actuates the configured car at the Customer’s U-Location

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • PersonaCustomerID – Persona of the Customer
  • ShowroomID – Showroom, carried as AssetID of Showroom_Transaction
  • CarID – Car displayed in the showroom
  • ConfiguredCarID – Item produced by Modifying CarID
  • ConfigData – Data supplied to the Modify Process Action

Locations and Spatial Attitude

  • MLocCustomer – M-Location of the Customer Persona before and after the visit
  • ULocCustomer – U-Location at which the configured car is MU-Actuated
  • SA – Spatial Attitude

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the configured car

Messages

  • MessageC1ID – Customer’s request for information
  • MessageD1ID – Dealer’s reply carrying the car details

Transactions

  • Showroom_Transaction(M)/(F) – Transaction acquiring the Showroom
  • Car_Transaction(M)/(F) – Transaction purchasing the configured car

Rights

  • Showroom_Rights(M)/(F) – Dealer’s Rights to the Showroom as an Asset
  • AddCar_Rights(M)/(F) – Rights to MM-Add the car in the showroom
  • CustomerPersona_Rights(M)/(F) – Rights to MM-Add and hold PersonaCustomerID
  • ShowroomAccess_Rights(M)/(F) – Rights of the Customer to enter the showroom
  • Move_Rights(M)/(F) – Rights exercised by the Customer to MM-Move into the showroom
  • Property_Rights(M)/(F) – Rights to change the car’s texture
  • Modify_Rights(M)/(F) – Rights to produce a configured variant of the car
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the configured car
  • Car_Rights(M)/(F) – Customer’s Rights to the purchased car
  • MessageC1_Rights(M)/(F), MessageD1_Rights(M)/(F) – Rights to Use each Message

9.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Dealer Register With PersonalProfile RGSrvc With AccountID, Ack Dealer registers
Dealer Transact With Showroom_Transaction(M), With Showroom_Rights(M) TRSrvc With Showroom_Transaction(F), With Showroom_Rights(F), Ack Acquire showroom
Dealer MM-Add Nil CarID, At ShowroomID, With SA, With AddCar_Rights(M) LCSrvc With AddCar_Rights(F), Ack Display the car
Customer Register With PersonalProfile RGSrvc With AccountID, Ack Customer registers
Dealer Rights Change Nil Customer, With ShowroomAccess_Rights(M) RTSrvc With ShowroomAccess_Rights(F), Ack Grant customer access
Customer MM-Add Nil PersonaCustomerID, At MLocCustomer, With SA, With CustomerPersona_Rights(M) LCSrvc With CustomerPersona_Rights(F), Ack Add customer persona
Customer MM-Move Nil PersonaCustomerID, From MLocCustomer, To ShowroomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Enter showroom
Customer MM-Send Nil MessageC1ID, To Dealer, With MessageC1_Rights(M) COSrvc With MessageC1_Rights(F), Ack Request information
Dealer MM-Send Nil MessageD1ID, To Customer, With MessageD1_Rights(M) COSrvc With MessageD1_Rights(F), Ack Provide car information
Customer Property Change Nil CarID, With Property_Rights(M) LCSrvc With Property_Rights(F), Ack Change the car’s finish
Customer Modify Nil CarID, With ConfigData, With Modify_Rights(M) ATSrvc Nil ConfiguredCarID, With Modify_Rights(F), Ack Produce configured variant
Customer MU-Actuate Nil ConfiguredCarID, At ULocCustomer, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Inspect the car in the Universe
Customer Transact With Car_Transaction(M), With Car_Rights(M) TRSrvc With Car_Transaction(F), With Car_Rights(F), Ack Purchase car
Customer MM-Move Nil PersonaCustomerID, From ShowroomID, To MLocCustomer, With SA LCSrvc With Ack Leave showroom

10 Meeting while driving

10.1 Description

A Driver takes part in a virtual meeting while operating a vehicle in the Universe. The Driver registers, acquires a meeting room, and tracks a Persona there. A Participant registers, is granted access, and joins. Data captured in the vehicle animates the Driver’s Persona. The meeting room is MM-Captured from a point of view to produce meeting media, which is then rendered inside the vehicle. A message is also sent to the vehicle’s on-board Process in the Universe. After the meeting the Driver leaves.

10.2 Variables

Processes

  • Driver – the human who Registers, and the User attending while driving
  • Participant – the human who Registers, and the other User attending
  • VehicleHMI – Process in the Universe rendering information inside the vehicle
  • RGSrvc – opens the Accounts
  • TRSrvc – settles the Meeting Room Transaction
  • LCSrvc – MM-Adds, MM-Moves, MM-Animates and MM-Captures Items
  • COSrvc – conveys Messages, including to the Universe
  • RTSrvc – grants the Participant access
  • IDSrvc – Identifies the captured Data as the Animation Stream
  • EISrvc – UM-Captures driving data and MU-Actuates the meeting media

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Assets

  • PersonaDriverID, PersonaParticipantID – Personae of the two attendees
  • MeetingRoomID – Meeting Room, carried as AssetID of MeetingRoom_Transaction
  • MeetingMediaID – Item produced by MM-Capturing the Meeting Room
  • AlertID – Message sent to the vehicle in the Universe

Locations, Point of View and Spatial Attitude

  • ULocVehicle – U-Location of the vehicle, where driving data is UM-Captured and media MU-Actuated
  • MLocParticipant – M-Location of the Participant Persona before and after the meeting
  • MLocDriver – M-Location of the Driver Persona before and after the meeting
  • PoVDriver – Point of View from which the Meeting Room is MM-Captured
  • SA – Spatial Attitude

Animation

  • DrivingDataID, Qualifier, StreamID – captured Data, its Qualifier, and the Animation Stream

Actuation in the Universe

  • RItemType, RItemID – Type and Identifier of the R-Item rendering the meeting media

Messages

  • MessageP1ID – Participant’s message to the Driver

Transactions

  • MeetingRoom_Transaction(M)/(F) – Transaction acquiring the Meeting Room

Rights

  • MeetingRoom_Rights(M)/(F) – Driver’s Rights to the Meeting Room as an Asset
  • DriverPersona_Rights(M)/(F), ParticipantPersona_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • MeetingAccess_Rights(M)/(F) – Rights of the Participant to attend
  • Move_Rights(M)/(F) – Rights exercised by the Participant to MM-Move into the Room
  • Animate_Rights(M)/(F) – Rights to MM-Animate PersonaDriverID
  • Capture_Rights(M)/(F) – Rights to MM-Capture the Meeting Room
  • Actuate_Rights(M)/(F) – Rights to MU-Actuate the meeting media in the vehicle
  • MessageP1_Rights(M)/(F) – Rights of the Driver to Use MessageP1ID
  • Alert_Rights(M)/(F) – Rights of VehicleHMI to Use AlertID

10.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Driver Register With PersonalProfile RGSrvc With AccountID, Ack Driver registers
Driver Transact With MeetingRoom_Transaction(M), With MeetingRoom_Rights(M) TRSrvc With MeetingRoom_Transaction(F), With MeetingRoom_Rights(F), Ack Acquire meeting room
Driver MM-Add Nil PersonaDriverID, At MeetingRoomID, With SA, With DriverPersona_Rights(M) LCSrvc With DriverPersona_Rights(F), Ack Add driver persona
Participant Register With PersonalProfile RGSrvc With AccountID, Ack Participant registers
Driver Rights Change Nil Participant, With MeetingAccess_Rights(M) RTSrvc With MeetingAccess_Rights(F), Ack Grant meeting access
Participant MM-Add Nil PersonaParticipantID, At MLocParticipant, With SA, With ParticipantPersona_Rights(M) LCSrvc With ParticipantPersona_Rights(F), Ack Add participant persona
Participant MM-Move Nil PersonaParticipantID, From MLocParticipant, To MeetingRoomID, With SA, With Move_Rights(M) LCSrvc With Move_Rights(F), Ack Join meeting
Driver UM-Capture Nil DrivingDataID, At ULocVehicle, With Qualifier EISrvc Nil DrivingDataID, With Qualifier, With SA, Ack Capture driving data
Driver Identify Nil DrivingDataID, With Qualifier IDSrvc Nil StreamID, With Ack Create driving stream
Driver MM-Animate Nil PersonaDriverID, With StreamID, With Animate_Rights(M) LCSrvc With Animate_Rights(F), Ack Animate driver persona
Participant MM-Send Nil MessageP1ID, To Driver, With MessageP1_Rights(M) COSrvc With MessageP1_Rights(F), Ack Send message to driver
Driver MM-Capture Nil MeetingRoomID, At PoVDriver, With Qualifier, With Capture_Rights(M) LCSrvc Nil MeetingMediaID, With Capture_Rights(F), Ack Produce meeting media
Driver MU-Actuate Nil MeetingMediaID, At ULocVehicle, With RItemType, With SA, With Actuate_Rights(M) EISrvc Nil RItemID, With Actuate_Rights(F), Ack Deliver meeting media to the vehicle
Driver MU-Send Nil AlertID, To VehicleHMI, With Alert_Rights(M) COSrvc With Alert_Rights(F), Ack Notify the vehicle in the Universe
Driver MM-Move Nil PersonaDriverID, From MeetingRoomID, To MLocDriver, With SA LCSrvc With Ack Leave meeting

11 Co-design across metaverses

11.1 Description

Two Designers operate in different M-Instances. Each registers with their own M-Instance. DesignerA authors a design object. DesignerB opens a multi-M-Instance session by Resolve, Authenticates the remote object and Validates that DesignerA holds the Rights it claims, then Converts the object into the local format and Modifies it. The update is sent back, converted into DesignerA’s format, and shared Rights are updated.

11.2 Variables

Processes

  • DesignerA, DesignerB – the humans who Register, and the Users collaborating, each in their own M-Instance
  • RGSrvc_A, RGSrvc_B – Register Services of the two M-Instances
  • ATSrvc_A, ATSrvc_B – Author Services of the two M-Instances
  • COSrvc_A, COSrvc_B – Communicate Services of the two M-Instances
  • RTSrvc_A – Rights Service of M-Instance A
  • RESrvc – Resolve Service setting up the multi-M-Instance Session
  • AUSrvc – Authenticates the remote design object
  • VLSrvc – Validates DesignerA’s Rights
  • CVSrvc – Converts Data between the two M-Instances’ Qualifiers

Items

Registration

  • PersonalProfile – Personal Profile supplied at Registration
  • AccountID_A, AccountID_B – Accounts opened in each M-Instance

Design Items

  • DesignData, UpdateData – Data supplied to Author and Modify
  • QualifierA, QualifierB – Qualifiers of the two M-Instances
  • DesignObjectID_A – design object authored in M-Instance A
  • DesignObjectID_B – the same object Converted into M-Instance B’s format
  • UpdatedDesignID_B – object Modified by DesignerB
  • UpdatedDesignID_A – the update Converted back into M-Instance A’s format

Service Access

  • ResolutionID – Resolution Item identifying the multi-M-Instance Session
  • AuthenticationID – Authentication Response Item for DesignObjectID_A
  • ValidationID – Validation Response Item for DesignerA

Messages

  • MessageBAID – DesignerB’s update notice to DesignerA

Rights

  • DesignObject_Rights(M)/(F) – DesignerA’s Rights to the authored object
  • Resolve_Rights(M)/(F) – Rights to open the multi-M-Instance Session
  • Authenticate_Rights(M)/(F) – Rights to request Authentication of the remote object
  • Validate_Rights(M)/(F) – Rights to request Validation of DesignerA
  • Convert_Rights(M)/(F) – Rights to Convert the object between Qualifiers
  • Modify_Rights(M)/(F) – Rights to Modify the object
  • CoDesign_Rights(M)/(F) – shared Rights granted by DesignerA to DesignerB
  • MessageBA_Rights(M)/(F) – Rights of DesignerA to Use MessageBAID

11.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
DesignerA Register With PersonalProfile RGSrvc_A With AccountID_A, Ack DesignerA registers
DesignerB Register With PersonalProfile RGSrvc_B With AccountID_B, Ack DesignerB registers
DesignerA Author With DesignData, With QualifierA, With DesignObject_Rights(M) ATSrvc_A Nil DesignObjectID_A, With DesignObject_Rights(F), Ack Create design object
DesignerB Resolve Nil DesignerA, With Resolve_Rights(M) RESrvc Nil ResolutionID, With Resolve_Rights(F), Ack Open multi-M-Instance session
DesignerB Authenticate Nil DesignObjectID_A, With Authenticate_Rights(M) AUSrvc Nil AuthenticationID, With Authenticate_Rights(F), Ack Confirm the object is what it claims
DesignerB Validate Nil DesignerA, With Validate_Rights(M) VLSrvc Nil ValidationID, With Validate_Rights(F), Ack Confirm DesignerA holds the Rights claimed
DesignerB Convert Nil DesignObjectID_A, With QualifierB, With Convert_Rights(M) CVSrvc Nil DesignObjectID_B, With Convert_Rights(F), Ack Convert to local format
DesignerB Modify Nil DesignObjectID_B, With UpdateData, With Modify_Rights(M) ATSrvc_B Nil UpdatedDesignID_B, With Modify_Rights(F), Ack Modify design
DesignerB MM-Send Nil MessageBAID, To DesignerA, With MessageBA_Rights(M) COSrvc_B With MessageBA_Rights(F), Ack Send update to A
DesignerA Convert Nil UpdatedDesignID_B, With QualifierA, With Convert_Rights(M) CVSrvc Nil UpdatedDesignID_A, With Convert_Rights(F), Ack Convert back to local format
DesignerA Rights Change Nil DesignerB, With CoDesign_Rights(M) RTSrvc_A With CoDesign_Rights(F), Ack Update shared rights

12 Selling assets on a Marketplace

12.1 Description

A Seller registers with an M-Instance and owns a digital Asset. The Seller asks a Marketplace Service to Post the Asset. Posting is a pay service, so the Marketplace returns a Service Pricing Model with a Transaction at Status=Model; the Seller settles it and repeats the request with the Transaction at Status=Final, whereupon the Asset is listed. A Buyer registers, Discovers the listing, and pays for the Asset. The Seller grants a Licence carrying the Buyer’s usage Rights. The Marketplace confirms the sale and, when the posting period expires, Hides the Asset so that it is no longer listed.

12.2 Variables

Processes

  • Seller – the human who Registers, and the User owning the Asset
  • Buyer – the human who Registers, and the User acquiring usage Rights
  • RGSrvc – opens the Accounts
  • POSrvc – Marketplace Service that Posts and Hides the Asset
  • TRSrvc – settles the posting fee and the purchase
  • DSSrvc – lets the Buyer Discover listed Assets
  • LISrvc – issues the Licence to the Buyer
  • IDSrvc – Hides the Asset at the end of the posting period
  • COSrvc – conveys the sale confirmation

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Assets and Marketplace Items

  • AssetID – the digital Asset owned by the Seller
  • MarketplaceID – the Marketplace at which Discovery is requested
  • SPM(M)/(F) – Service Pricing Model of the Post Service, proposed and settled
  • DiscoveryID – Discovery Response Item returned by DSSrvc
  • LicenceID – Licence issued to the Buyer

Messages

  • MessageS1ID – sale confirmation sent to the Buyer

Transactions

  • PostingFee_Transaction(M)/(F) – Transaction paying the Marketplace for listing
  • Purchase_Transaction(M)/(F) – Transaction paying the Seller, with the Marketplace as Service Provider

Rights

  • Post_Rights(M)/(F) – Rights of POSrvc to list the Asset
  • Discover_Rights(M)/(F) – Rights of the Buyer to Discover listed Assets
  • Asset_Rights(M)/(F) – Rights transferred to the Buyer by the purchase
  • Licence_Rights(M)/(F) – Rights conveyed by the Licence
  • Hide_Rights(M)/(F) – Rights to Hide the Asset at the end of the posting period
  • MessageS1_Rights(M)/(F) – Rights of the Buyer to Use MessageS1ID

12.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Seller Register With PersonalProfile RGSrvc With AccountID, Ack Seller registers
Seller Post Nil AssetID, To POSrvc, With Post_Rights(M), With SPM(M) POSrvc With SPM(M), With PostingFee_Transaction(M), Ack Posting is a pay service: price quoted
Seller Transact With PostingFee_Transaction(M) TRSrvc With PostingFee_Transaction(F), Ack Pay posting fee
Seller Post Nil AssetID, To POSrvc, With Post_Rights(M), With PostingFee_Transaction(F) POSrvc With SPM(F), With Post_Rights(F), Ack Asset listed
Buyer Register With PersonalProfile RGSrvc With AccountID, Ack Buyer registers
Buyer Discover Nil MarketplaceID, With Discover_Rights(M) DSSrvc Nil DiscoveryID, With Discover_Rights(F), Ack Find the listed Asset
Buyer Transact With Purchase_Transaction(M), With Asset_Rights(M) TRSrvc With Purchase_Transaction(F), With Asset_Rights(F), Ack Pay seller and marketplace fee
Seller License Nil AssetID, To Buyer, With Licence_Rights(M) LISrvc Nil LicenceID, With Licence_Rights(F), Ack Grant buyer usage rights
POSrvc MM-Send Nil MessageS1ID, To Buyer, With MessageS1_Rights(M) COSrvc With MessageS1_Rights(F), Ack Confirm sale
POSrvc Hide Nil AssetID, With Hide_Rights(M) IDSrvc With Hide_Rights(F), Ack Delist at expiry of posting period

13 Emergency in Industrial Metaverse

13.1 Description

A Worker operates in an industrial plant connected to an M-Instance and brings the plant into the M-Instance. A machine controller in the Universe sends an alert into the M-Instance. Sensor data is captured, Identified, and Interpreted by an Emergency Service, which raises an alert to a Supervisor. The Supervisor’s identity is Authenticated before a control command is accepted. A control Program is Executed, and a robot is placed, moved, and driven in the plant as an R-Item. The resolution is confirmed and the Supervisor leaves.

13.2 Variables

Processes

  • Worker – the human who Registers, and the User on the plant floor
  • Supervisor – the human who Registers, and the User taking corrective action
  • MachineCtrl – Process in the Universe controlling the machine
  • EMSrvc – Emergency Service detecting and handling the fault
  • RGSrvc – opens the Accounts
  • LCSrvc – MM-Adds and MM-Moves Personae
  • COSrvc – conveys Messages, including from the Universe
  • IDSrvc – Identifies the sensor Data as a Stream
  • ITSrvc – Interprets the Stream as a fault assessment
  • AUSrvc – Authenticates the Supervisor
  • EXSrvc – Executes the control Program
  • EISrvc – UM-Actuates the plant scene and MU-Adds, MU-Moves and MU-Animates the robot

Items

Registration

  • PersonalProfile, AccountID – as in Use Case 2

Personae and Plant Items

  • PersonaWorkerID, PersonaSupervisorID – Personae of Worker and Supervisor
  • IndustrialSystemID – M-Location representing the plant in the M-Instance
  • PlantSceneID – Item produced by UM-Actuating the plant into the M-Instance
  • RobotID – Item representing the robot in the M-Instance
  • RRobotID – R-Item of the robot in the Universe
  • ControlProgramID, ExecResultID – Program Object Executed and the Item it produces

Locations and Spatial Attitude

  • ULocPlant – U-Location of the plant, UM-Actuated into the M-Instance
  • ULocMachine – U-Location of the machine, where sensor Data is UM-Captured and the robot MU-Added
  • ULocValve – U-Location to which the robot is MU-Moved
  • MLocSupervisor – M-Location of the Supervisor Persona before and after the emergency
  • SA – Spatial Attitude

Sensing and Analysis

  • SensorDataID, Qualifier, StreamID – captured sensor Data, its Qualifier, and the resulting Stream
  • FaultAssessmentID – Interpretation Response Item describing the fault
  • AuthenticationID – Authentication Response Item for the Supervisor

Messages

  • SensorAlertID – Message sent from the Universe by MachineCtrl
  • AlertID – Emergency Service’s alert to the Supervisor
  • CommandID – Supervisor’s control command
  • MessageR1ID – confirmation that the emergency is resolved

Rights

  • WorkerPersona_Rights(M)/(F), SupervisorPersona_Rights(M)/(F) – Rights to MM-Add and hold each Persona
  • Import_Rights(M)/(F) – Rights to UM-Actuate the plant into the M-Instance
  • SensorAlert_Rights(M)/(F) – Rights of EMSrvc to Use SensorAlertID
  • Interpret_Rights(M)/(F) – Rights to request Interpretation of StreamID
  • Alert_Rights(M)/(F) – Rights of the Supervisor to Use AlertID
  • Authenticate_Rights(M)/(F) – Rights to request Authentication of the Supervisor
  • Command_Rights(M)/(F) – Rights of EMSrvc to Use CommandID
  • Execute_Rights(M)/(F) – Rights to Execute ControlProgramID
  • MUAdd_Rights(M)/(F) – Rights to MU-Add the robot at ULocMachine
  • MUAnimate_Rights(M)/(F) – Rights to MU-Animate the robot
  • MessageR1_Rights(M)/(F) – Rights of the Supervisor to Use MessageR1ID

13.3 Workflow

S-Process Action RQ-Complements D-Process RS-Complements Comment
Worker Register With PersonalProfile RGSrvc With AccountID, Ack Worker registers
Worker MM-Add Nil PersonaWorkerID, At IndustrialSystemID, With SA, With WorkerPersona_Rights(M) LCSrvc With WorkerPersona_Rights(F), Ack Add worker persona
Worker UM-Actuate Nil ULocPlant, At IndustrialSystemID, With Qualifier, With SA, With Import_Rights(M) EISrvc Nil PlantSceneID, With SA, With Import_Rights(F), Ack Bring the plant into the M-Instance
MachineCtrl UM-Send Nil SensorAlertID, To EMSrvc, With SensorAlert_Rights(M) COSrvc With SensorAlert_Rights(F), Ack Machine reports an anomaly from the Universe
Worker UM-Capture Nil SensorDataID, At ULocMachine, With Qualifier EISrvc Nil SensorDataID, With Qualifier, With SA, Ack Capture sensor data
Worker Identify Nil SensorDataID, With Qualifier IDSrvc Nil StreamID, With Ack Create data stream
EMSrvc Interpret Nil StreamID, With Interpret_Rights(M) ITSrvc Nil FaultAssessmentID, With Interpret_Rights(F), Ack Analyse condition
Supervisor Register With PersonalProfile RGSrvc With AccountID, Ack Supervisor registers
EMSrvc MM-Send Nil AlertID, To Supervisor, With Alert_Rights(M) COSrvc With Alert_Rights(F), Ack Send alert
Supervisor MM-Add Nil PersonaSupervisorID, At IndustrialSystemID, With SA, With SupervisorPersona_Rights(M) LCSrvc With SupervisorPersona_Rights(F), Ack Add supervisor persona
EMSrvc Authenticate Nil Supervisor, With Authenticate_Rights(M) AUSrvc Nil AuthenticationID, With Authenticate_Rights(F), Ack Confirm the Supervisor’s identity
Supervisor MM-Send Nil CommandID, To EMSrvc, With Command_Rights(M) COSrvc With Command_Rights(F), Ack Send control command
EMSrvc Execute Nil ControlProgramID, With Execute_Rights(M) EXSrvc Nil ExecResultID, With Execute_Rights(F), Ack Execute corrective action
EMSrvc MU-Add Nil RobotID, At ULocMachine, With SA, With MUAdd_Rights(M) EISrvc Nil RRobotID, With MUAdd_Rights(F), Ack Place the robot in the plant
EMSrvc MU-Move Nil RRobotID, From ULocMachine, To ULocValve, With SA EISrvc With Ack Move the robot to the valve
EMSrvc MU-Animate Nil RRobotID, With CommandID, With MUAnimate_Rights(M) EISrvc With MUAnimate_Rights(F), Ack Drive the robot to close the valve
EMSrvc MM-Send Nil MessageR1ID, To Supervisor, With MessageR1_Rights(M) COSrvc With MessageR1_Rights(F), Ack Confirm resolution
Supervisor MM-Move Nil PersonaSupervisorID, From IndustrialSystemID, To MLocSupervisor, With SA LCSrvc With Ack Leave the plant

14 Process Action coverage

The following table records which Use Case first exercises each of the 30 Process Actions specified in Table 2 of the Process Actions chapter.

Process Action Use Cases Process Action Use Cases
Authenticate 11, 13 MU-Actuate 2, 3, 4, 6, 7, 8, 9, 10
Author 11 MU-Add 13
Convert 11 MU-Animate 13
Discover 7, 12 MU-Move 13
Execute 5, 13 MU-Send 10
Hide 12 Post 12
Identify 2, 3, 4, 5, 6, 7, 8, 10, 13 Property Change 2, 6, 9
Interpret 7, 8, 13 Register all
License 12 Resolve 11
MM-Add 2, 3, 4, 5, 6, 7, 8, 9, 10, 13 Rights Change 2, 3, 4, 5, 6, 8, 9, 10, 11
MM-Animate 2, 3, 4, 5, 6, 8, 10 Transact 2, 3, 4, 5, 6, 8, 9, 10, 12
MM-Capture 5, 10 UM-Actuate 4, 13
MM-Move 2, 3, 4, 5, 6, 7, 8, 9, 10, 13 UM-Capture 2, 3, 4, 5, 6, 7, 8, 10, 13
MM-Send 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13 UM-Send 13
Modify 9, 11 Validate 5, 11

 

<-Profiles         Go to ToC        MPAI-MMM API->