| 1. Definition | 2. Functional Requirements | 3. Syntax | 4. Semantics |
1 Definition
AIM Metadata describes an AIM or AIW (Composite AIM) 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 including ImplementerID and one of two specification forms: (i) an MPAI‑standard‑defined AIW/AIM with Standard, AIW, AIM, Version, and optional Profile; or (ii) an Implementer‑defined AIW/AIM with Name and Version.
- 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 (Types), each with Name and Type.
- Ports — List Port objects, each with Name, Direction, RecordType, Technology, Protocol, and IsRemote.
- 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-AIMMetadata | The characters “AIF-AMM-V” |
| – Version | Major version – 1 or 2 characters |
| – Dot-separator | The character “.” |
| – Subversion | Minor version – 1 or 2 characters |
| Identifier | Container uniquely identifying the AIW/AIM implementation; includes ImplementerID and a Specification describing either an MPAI‑standard‑defined or an Implementer‑defined AIW/AIM. |
| – ImplementerID | Identifier assigned by IIDRA to the Implementer. |
| – Specification | One of two alternatives: (i) MPAI‑standard‑defined AIW/AIM; or (ii) Implementer‑defined AIW/AIM. |
| – Standard | Name/acronym of the MPAI Standard defining the AIW/AIM (present in the standard‑defined alternative). |
| – AIW | AIW name or identifier as defined by the Standard (present in the standard‑defined alternative). |
| – AIM | Same as AIW when metadata describe the AIW; otherwise the AIM name as defined by the Standard (present in the standard‑defined alternative). |
| – Version | Version as defined by the Standard (present in the standard‑defined alternative). |
| – Profile[] | Optional array of Standard profiles selected by the Implementer (allowed: Base, Main, High) (present in the standard‑defined alternative). |
| -Name | Implementer‑assigned name of the AIW/AIM (present in the implementer‑defined alternative). |
| – Version | Implementer‑assigned version (present in the implementer‑defined alternative). |
| APIProfile | AIF API Profile selected by the Implementer: Basic or Secure. |
| Description | Free‑text description of the AIM. |
| Types | Dictionary (array) of Channel data type shorthands. |
| – Name | Unique shorthand used for a Channel data type. |
| – Type | Channel data type referenced by the shorthand. |
| Ports | Array of Ports (physical or logical interfaces) through which the AIM communicates. |
| – Name | Implementer‑defined port name. |
| – Direction | Direction of the communication flow: OutputInput or InputOutput. |
| – RecordType | Port data type (defined in Types or per the governing section 6.1.1). |
| – Technology | Implementation technology: Hardware or Software. |
| – Protocol | Protocol entry (ontology value). |
| – 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 connecting one Output to one Input Port. |
| – Output | Port identifier (portID) containing AIMName and PortName of the source (Output) port. |
| – Input | Port identifier (portID) referencing the destination (Input) port. |
| – AIMName | Unique shorthand for the SubAIM owning the Output port. |
| – PortName | Unique shorthand for the Output port on that SubAIM. |
| Implementations | Array of concrete implementations of the AIM being defined. |
| – 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 or MPAIStore. |
| – 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 AIW/AIF. |
| – 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. |