| 1. Definition | 2. Functional Requirements | 3. Syntax | 4. Semantics |
1 Definition
AIM Metadata describes an AIM (possibly Composite) implementation in terms of identity, profile, descriptive text, interface and composition (Ports, SubAIMs, Topology), implementations and deployment information, resource policies, and documentation references.
2 Functional Requirements
- Identity — Provide an Identifier with ImplementerID, ImplementationID, and AIMName.
- API Profile — Declare the selected API profile (
BasicorSecure). - Description — Allow free‑text describing the AIM.
- Type Dictionary — Provide a dictionary of Channel data type shorthands (InternalTypes), each with Name and DataType.
- Ports — List ExternalPorts objects, each with Name, Direction, DataType, Technology, Protocol, optional PortNumber, and IsRemote (RecordType is retained only as an optional compatibility alias).
- SubAIM Composition — Enumerate SubAIMs as Name plus a nested Identifier (same structure as top‑level Identifier).
- Topology — Specify Channels as pairs of Output and Input port references; each reference is a portID with AIMName and PortName.
- Implementations — Provide one or more implementation descriptors including BinaryName, Architecture, OperatingSystem, Version, Source (AIMStorage|MPAIStore), and optional Destination (URI of an MPAI Server for remote execution).
- Resource Policies — Declare computing resource policies with Name and optional Minimum, Maximum, and Request.
- Documentation — Provide references (Type=Specification|Manual|Tutorial|Video; URI) to materials relevant to the AIM.
3 Syntax
https://schemas.mpai.community/AIF/V3.0/data/AIMMetadata.json
4 Semantics
| Label | Description |
| Header | AIM Metadata Header – Standard “AIF-AMD-V3.0” |
| Identifier | Container uniquely identifying the AIM implementation. |
| – ImplementerID | Identifier assigned by IIDRA to the Implementer. |
| – ImplementationID | Identifier assigned by Implementer to the specific Implementation. The Identifier shall be unique in the Implementer name space. |
| – AIMName | The AIM name as defined by the Standard. |
| APIProfile | AIF API Profile selected by the Implementer: Basic or Secure. |
| Description | Free‑text description of the AIM. |
| InternalTypes | Dictionary (array) of Channel data type shorthands. |
| – Name | Unique shorthand used for a Channel data type. |
| – DataType | Channel data type referenced by the shorthand. |
| ExternalPorts | Array of Ports (physical or logical interfaces) through which the AIM communicates. |
| – Name | Implementer‑defined port name. |
| – Direction | Direction of the communication flow: Input (data entering the AIM) or Output (data leaving the AIM). |
| – DataType | Canonical data type of the Port (the value used for routing). |
| – RecordType | Optional compatibility alias for DataType; retained but not used in practice. |
| – Technology | Implementation technology: Hardware or Software. |
| – Protocol | Protocol entry (ontology value). |
| – PortNumber | 1-based ordinal distinguishing multiple ports of the same Direction and DataType on this AIM; omitted when that pair occurs once (implicitly 1). |
| – IsRemote | Boolean declaring whether the port is remote. |
| SubAIMs[] | Array of AIMs used to define the current AIM. |
| – Name | Unique shorthand for the SubAIM within the composition. |
| – Identifier | Nested Identifier object (same structure as top‑level Identifier). |
| Topology[] | Array of Channels, each connecting one Output Port (data leaving an AIM) to one Input Port (data entering an AIM). |
| – Output | Port identifier (portID) of the Output port from which data leaves the source AIM. |
| – Input | Port identifier (portID) of the Input port at which data enters the destination AIM. |
| – AIMName | AIMName of the SubAIM owning the referenced port (empty for a boundary Port of the Composite AIM). |
| – PortName | Name of the referenced port on that AIM. |
| – PortNumber | On an Input endpoint, optionally selects which port of that DataType is meant when the destination AIM has more than one; omitted ⇒ 1. |
| Implementations | Array of concrete implementations of the AIM being defined. |
| – ImplementationURI | URI of the Implementation. |
| – BinaryName | Entry name in the archive containing the Implementation downloaded from the Store. |
| – Architecture | Target architecture (ontology entry). |
| – OperatingSystem | Target operating system (ontology entry). |
| – Version | Implementation version (ontology entry). |
| – Source | Where the Implementation is sourced from: AIMStorage, MPAIStore, or URL. |
| – Destination | If empty, execute locally; otherwise, a URI of an MPAI Server to execute remotely. |
| ResourcePolicies | Set of policies describing computing resources required by the AIM. |
| – Name | Policy name (ontology entry). |
| – Minimum | Lower bound of resources (ontology entry). |
| – Maximum | Upper bound of resources (ontology entry). |
| – Request | Requested resources (ontology entry). |
| Documentation | References to documents relevant to design, implementation, and usage. |
| – Type | Type of the document: Specification, Manual, Tutorial, or Video. |
| – URI | Valid URI for the referenced document. |
| DataXMData | Additional information on this AIM Metadata instance. |
| DescrMetadata | Descriptive Metadata |