<- Go to Data Types Go to ToC

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 (Basic or Secure).
  • 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.
  • AIMLicence — Optional. The Implementer’s licence to the MPAI Store (the offer of an AIM Licence): what the MPAI Store may grant, for how long, the sale price the Implementer proposes, whether the MPAI Store may sublicense the AIM, and where the terms are. It has no Licensee and no Signature. Omitted: the AIM needs no AIM Licence.

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.
AccessSources Optional. Array of the data the AIM reads from Access, each identified by the URI it is obtained from and pinned by its SHA-256. Omitted: the AIM reads no Access.
– Name The name by which the AIM asks for the data; unique among the entries of the AIM.
– Uri Where the data is obtained from: an http, https or file URI of a file, or of a set of files (a URI that ends in a slash, with a manifest.json listing the Keys and the SHA-256 of each file).
– Sha256 The SHA-256 of the file, or of the manifest of the set. It is the identity of the data: what does not match is refused, and data already in Access with it is not downloaded again.
– Mirrors Optional. Other URIs holding the same bytes, tried in order when Uri cannot be reached.
– ValidWith Optional. The Sha256 of other entries of the AIM that this data is only meaningful with, such as a database of features and the model that computed them.
– KeyPrefixes Optional. The Keys, or Key prefixes, of a set that the AIM reads. Omitted: all.
– IsOptional Optional. True where the Module can load and the AIM can run without the data. Omitted: required.
– Terms Required. The terms of use of the data: Licence (name of the licence), Uri (where the terms are stated) and PersonalData (true where the data describes persons). The Controller does not enforce them.
– Description A label for people: what the data is and what the AIM uses it for.
AIMLicence Optional. The Implementer’s licence to the MPAI Store (the offer of an AIM Licence, see AIM Licence), without Licensee and Signature. Omitted: the AIM needs no AIM Licence.
DataXMData Additional information on this AIM Metadata instance.
DescrMetadata Descriptive Metadata

<- Go to Data Types Go to ToC