<-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:
- Description – summary description of the Use Case.
- Variables – the Processes and Items referenced by the Process Actions.
- Workflow – expressed by the main elements of Process Actions.
MMM-TEC is based on the notions of:
- human – operating in the Universe.
- User – representing a human operating in an M-Instance as a replica of the human or as an autonomous agent.
- 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 |