In parts I and II of this series of posts, we have highlighted:
- The basic elements that enable operation of an M-Instance, especially Processes, Items, Actions and Data Type. In particular, Processes can take the shape of a User (a representative of a human in an M-Instance), a Device (to enable the connection of an M-Instance with the real world, called Universe), and a Service.
- The functional requirements of an initial list of Actions that enable a Process to do useful things in an M-Instance.
We are now going to identify the functional requirements of an initial list of Items that enable a Process to do useful things in an M-Instance. For convenience, Items will be grouped in classes.
Remembers the online presentations at 8 and 15 UTC on 23 June where you can know more about the MPAI Metaverse Model Architecture and the Call for Technologies. Register here for the first and here for the second presentation.
Here are Items with a general applicability.
Functional requirements | Item | ||||||||||||
An M-Instance is an abstract entity bearing an Identifier. An M-Instance may expose its Capabilities. | M-Instance | ||||||||||||
An M-Environment is an abstract entity bearing an Identifier.
1. An M-Environment is hosted by an M-Instance. 2. An M-Environment may expose its Capabilities. 3. The Capabilities of an M-Environment may extend the Capabilities of its hosting M-Instance. |
M-Environment | ||||||||||||
An Item or a Process shall bear Identifiers in such a way that:
1. An Identifier uniquely references an Item or Process. 2. An Item can have more than one Identifier. An Item may have a hierarchical structure, such as: Item: M-InstanceID, M-EnvironmentID, M-LocationID, ItemID. Process: M-InstanceID, M-EnvironmentID, ProcessID. |
Identifier | ||||||||||||
With the Rights Item we can express the Actions that a Process can perform on Items, at M-/U-Locations, during a period, e.g.,
|
Rights | ||||||||||||
Program is Data (and Metadata) that can be executed.
A Program Item shall be executable in the M-Instance. A Program Item may be subject to certification before being admitted to an M-Instance |
Program | ||||||||||||
Contract is a special Program that can be activated (Executed) by an external entity, e.g., a User or another already activated Contract. The contract shall include:
1. Offer: Rights. 2. Acceptance: By both parties. 3. Consideration: There may be a Transaction. The terms of the Contract are enforced in the jurisdiction of the M-Instance. |
Contract | ||||||||||||
An M-Instance/M-Environment may show its Capabilities, i.e., an Item describing the characteristics of an M-Instance/M-Environment, including:
1. Currencies supported. 2. Items supported with Data Formats. 3. Data Types supported. |
Capabilities |
Here are Items related to the interaction between Processes.
Functional requirements | Item |
Processes may need to exchange application-level Messages. | Message |
A Process should be able to expose its Capabilities, i.e., an Item containing a description of its characteristics including:
1. List of Actions that can be performed. 2. List of Items supported with Data Formats. 3. List of Data Types supported. 4. The cost of performing an Action. 5. Human represented (User) 6. Apps on board (Device). |
Capabilities |
When a Process requests another Process to perform an Action on its ehalf, it issues a Request-Action, an Item including:
1. Time the Request-Action was issued. 2. The Source ProcessID. 3. The Destination ProcessID. 4. The Action requested. 5. The ItemIDs relevant to the Action. 6. The Location of the Items. 7. The Location of the output Items produced by the Request-Action. 8. The requested Rights on the output Items. |
Request-Action |
When a Process has received a Request-Action and succeeds in performing it, it provides a Response-Action, an Item containing:
1. Time the Response-Action was issued. 2. The Source ProcessID (Source refers to the Process that issued the request). 3. The Destination ProcessID. 4. The output Items produced by performing the Request-Action. |
Response-Action |
An M-Instance is an abstract entity bearing an Identifier. An M-Instance may expose its Capabilities. | M-Instance |
An M-Environment is an abstract entity bearing an Identifier.
4. An M-Environment is hosted by an M-Instance. 5. An M-Environment may expose its Capabilities. 6. The Capabilities of an M-Environment may extend the Capabilities of its hosting M-Instance. |
M-Environment |
Here are Items related to the use of an M-Instance.
Functional requirements | Item |
Account in an Item that uniquely references a human who has Registered.
A User may have more than one Account with one or more M-Instances or M-Environments. An Account shall include: 1. The ID of the Registered human. 2. An M-Instance-specific subset of the Registered human’s User Data. 3. The Rights held by each Users in the M-Instance/M-Environment. 4. The IDs of Devices, Apps, and Users, and Personae. 5. The validity of: 5.1. Rights. 5.2. Account. |
Account |
Activity Data is an Item containing the record of the Actions made by a User at all M-Locations for a period. Therefore, Activity Data shall include a list of Activities and, for each activity:
1. The M-LocationID the Activity Data refer to. 2. The duration (t1-t2) the Activity Data refer to. 3. The list of Action. |
Activity Data |
Personal Profile is an Item containing the Data about the human represented by a User. It may include:
1. First Name 2. Last Name 3. Address 4. Country 5. Age 6. Biometric data 7. … |
Personal Profile |
The Manager of an M-Instance sets Rules, an Item expressing the terms and conditions under which Processes operate in the M-Instance. The Rules may express:
1. The ability of a User to perform Actions on Items for which it has Rights. 2. The inability of a User to perform Actions on Items for which it has no Rights. 3. The duty of a User to perform Actions on Items. 4. The ability of a User to make Transactions on the Rights of Items. |
Rules |
Social Graph is a representation of a User’s network of connections with Items and Processes representing the following:
1. The types and the connections with Items and their M-Locations. 2. The types and the connections with Devices (frequency of use, etc.). 3. The types and the connections with Services (frequency of use, etc.). 4. The types and the connections with Users, groups of Users in terms of: 4.1. Time 4.2. M-Locations. 4.3. Declared purpose. |
Social Graph |
User Data is an Item that collects all the Data related to a human and their Users:
1. Rights held by the human’s Users in the M-Instance. 2. The Personal Profile of the human. 3. The Personae that the human’s Users impersonate. 4. The Activity Data of the human’s Users. 5. The Social Graphs of the human’s Users. User Data should have a representation that allow easy identification, extraction, and sharing of subsets of a User Data. |
User Data |
Here are Items with a financial impact.
Functional requirements | Item |
An Item that may be the object of a Transaction is called Asset. An Asset may be:
1. MM-Embedded at an M-Location. 2. Posted to a Service. An Asset shall: 1. Preserve the Data Formats of the Item that has spawned it. 2. Include the date it was created. |
Asset |
It is useful to consider the Ledger associated with a specific Asset. This Item includes the list of all Transactions executed:
1. On an Asset. 2. Starting from the first Transaction and including the last. 3. The Marketplace on which a Transaction was performed. |
Ledger |
The Provenance Item shall include the list of all Transactions executed:
4. On an Asset. 5. Starting from the first Transaction and including the last. The Marketplace on which a Transaction was performed.Provenance. |
Provenance |
Transaction is Item representing the changed state of:
1. The Rights on an Asset held by a seller User and a buyer User. 2. The Accounts of the Users and of the Service facilitating/enabling the Transaction (Optional). The Transaction shall represent: 1. The Time the Transaction is performed. 2. The Value moving into the Wallet of User 1 (seller). 3. The Value moved from the Wallet of User2 (buyer). 4. The Value moved into the Wallet of User 3 (service) – optional. 5. The Time the Values were moved. 6. The Rights to Act owned by User1 after Time. 7. The Rights to Act owned by User2 after Time. |
Transaction |
Value is expressed by an Amount and the Currency related to the Amount. It
shall have a representation that enables the expression of the Amount and the Currency used to represent the Amount. |
Value |
A Wallet is a container of Currency units. A Wallet shall enable the representation of:
1. Each Currency’s Amounts contained in the Wallet for each Currency. 2. The Transactions performed. |
Wallet |
Here are Items specifically used to access a group of Services.
Functional requirements | Item |
To Authenticate an Entity (an Item that can be perceived), a special Item called AuthenticateIn is produced. This contain:
1. The (ID of the) Entity Authenticated. 2. (Optionally) information related to the way AuthenticateOut is rendered. The Entity to be Authenticated can be: 1. Speech produced by a User. 2. The visual appearance of a User, etc. Information on the rendering of InterpretOut is provided by: 1. Media type (text, speech, image, etc.) used for rendering. 2. Spatial Attitude of the Object rendering AuthenticateOut. |
AuthenticateIn |
AuthenticateOut is the Item containing the result of the Service Acting on the Request-Authenticate Item and information about its rendering. It is rendered as requested in AuthenticateIn. | AuthenticateOut |
To Discover Items, an Item called DiscoverIn is produced that contains:
1. A description of the Items to be Discovered. 2. Information related to the rendering of DiscoverOut. Items candidate for Discovery may be described by: 1. Verbal/text description. 2. Similar Items. 3. Belonging to specific M-Instances/M-Environments/M-Locations. 4. Belonging to specific sections of Activity Data. Information on DiscoverOut Rendering may be provided by: 1. Media type used for rendering. 2. Spatial Attitude of the Object rendering DiscoverOut. |
DiscoverIn |
DiscoverOut is the Item containing the result of the Service Acting on the Request-Discover Item and information about its rendering. It is rendered as requested in DiscoverIn. | DiscoverOut |
To obtain information on an Item, a User produces InformIn, an Item containing:
1. A description of the Item about which information is requested. 2. Information related to the rendering of InformOut. InformIn may refer to: 1. Item Metadata 2. Any other information that a Service may have on the Item. Information on rendering of InformOut may be provided by: 1. Media type used for rendering. 2. Spatial Attitude of the InformOut rendered Object. |
InformIn |
InformOut is the Item containing the result of the Service Acting on the Request-Inform Item and information about its rendering. It is rendered as requested in InformIn. | InformOut |
To obtain interpretation of an Item, a User produces InterpretIn, An Item containing:
1. The ID or the Item to be Interpreted. 2. Information related to the rendering of InterpretOut. Items candidate for interpretation may be identified by: Item or ItemID. Information on InterpretOut Rendering may be provided by: 1. Media type used for rendering. 2. Spatial Attitude of InterpretOut rendered Object. |
InterpretIn |
InterpretOut is the Item containing the result of the Service Acting on the Request-Interpret Item and information about its rendering. It is rendered as requested in InterpretIn. | InterpretIn |
Here are Items producing a perceptible experience.
Functional requirements | Item |
An Entity is an Item that can be perceived. MPAI introduces the following perceptible Items: Object, Model, Scene, Event, and Experience. | Entity |
It is useful to introduce Event, an Entity that includes selected Entities at an M-Location and their Animations during a period. Therefore, an Event shall include:
1. M-LocationID. 2. Start Time and End Time. 3. List of Entities, their Animations, and Interactions. |
Event |
It is also useful to introduce the Entity Experience, comprising selected Entities of an Event and User Interactions with the Entities of the Event. Therefore, an Experience shall include:
1. Start Time and End Time 2. EventID 3. List of selected Entities, their Animations, and User Interactions. |
Experience |
Object is an Entity representing an object including:
1. The type(s) of Media (Audio-Visual-Haptic) composing the Model. 2. The Data representation. 3. The Data Format used. |
Object |
Model is an Object representing an object with its features ready to be MM-Animated or UM-Animated. | Model |
Persona is a Model representing a human. | Persona |
Scene is a composition of Objects with the following features:
1. May be hierarchical. 2. May be MM-Embedded at a specified M-Location. 3. Represent Objects: 3.1. With a Spatial Attitude. 3.2. Animated by a stream or by an autonomous agent. |
Scene |
A Stream is an Item made by a continuous flow of Data with the following features:
1. May be scalable in space and time. 2. May be used to: 2.1. Animate a Model. 2.2. Represent a Digitised Object in an M-Instance. |
Stream |
Interaction is an Item containing the Request-Action issued by a User on an Entity at an M-Locations and the corresponding Time. | Interaction |
Map is the basic Item of an AR application. It is an Item containing a structure establishing a correspondence between U-Locations with M-Locations. Therefore, A Map shall include:
1. The M-Instance the Map refers to. 2. For each U-Location having one correspondence with an M-Location: 2.1. The ID of the M-Location corresponding to the U-LocationID. 2.2. Metadata related to the U-LocationID. 2.3. Metadata related to the M-LocationID. |
Map |
Here are Item with a spatial impact.
Functional requirements | Item |
M-Location is an Identifiable delimited spatial portion of an M-Instance, e.g., the place occupied by representation of a human. An M-Location:
1. Shall define the space of the M-Instance belonging to the M-Location. 2. May enable the creation of sub-spaces defining sub-M-Locations |
M-Location |
U-Location is an Identifiable delimited spatial portion of the Universe, e.g., the place occupied by the human. A U-Location shall:
1. Define the space in the Universe belonging to the U-Location. 2. Enable the definition of sub-spaces (sub-U-Locations) comprised in the U-Location. The enforcement of Rights to a U-Location is not intended to be part of the MPAI-MMM Architecture. |
U-Location |
Of course, more Items can be identified but those introduced above have been tested to cover a significantly large number of use cases in a variety of application domains.