{ "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$comment": "https://schemas.mpai.community/AIF/V3.0/data/AIMMetadata.json",
  "$id": "https://schemas.mpai.community/MMC/V2.5/AIMs/EntityTextDescription.json",
  "title": "EntityTextDescription V2.5",

  "Identifier":   { "ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-ETD-V2.5" },
  "Header":               "MMC-ETD-V2.5",

  "APIProfile":   "Basic",
  "Description":  "This AIM computes the Text Descriptors.",

  "InternalTypes":        [ ],

  "ExternalPorts":  [
    { "Name": "TextObject"     , "Direction": "Input",   "DataType": ["OSD-BTO-V1.5", "OSD-TXO-V1.5"],  "PortNumber": 1, "Technology": "Software", "Protocol": "", "IsRemote": false },
    { "Name": "InputTextObject", "Direction": "Input",   "DataType": ["OSD-BTO-V1.5", "OSD-TXO-V1.5"],  "PortNumber": 2, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false },
    { "Name": "TextDescriptors", "Direction": "Output",  "DataType": "MMC-TDO-V2.5",  "Technology": "Software", "Protocol": "", "IsRemote": false }
  ],

  "SubAIMs":  [ ],
  "Topology":  [ ],

  "AIMLicence":          "/* AIM Licence offered by the Implementer (AIF-LIC-V3.0): Grant, Term, Updates, Payment, TermsURI - or omit it if the AIM needs no AIM Licence */",

  "Implementations":  [
   {
    "BinaryName": "/* provided by implementer */",
    "Architecture": "/* x86-64 | ARM64 */",
    "OperatingSystem": "/* Windows | Linux | MacOS */",
    "Version": "/* implementer version */",
    "Source": "/* AIMStorage | MPAIStore */",
    "Destination": "/* provided by implementer */"
   }
  ],

  "ResourcePolicies":  [
    { "Name": "Memory"              , "Minimum": "/* GB */",             "Maximum": "/* GB */",             "Request": "/* GB */" },
    { "Name": "CPU:Number"          , "Minimum": "/* integer, 0=all */", "Maximum": "/* integer, 0=all */", "Request": "/* integer */" },
    { "Name": "CPU:Class"           , "Minimum": "/* string */",         "Maximum": "/* string */",         "Request": "/* string */" },
    { "Name": "GPU:Number"          , "Minimum": "/* integer, 0=all */", "Maximum": "/* integer, 0=all */", "Request": "/* integer */" },
    { "Name": "GPU:CUDA:Class"      , "Minimum": "/* string */",         "Maximum": "/* string */",         "Request": "/* string */" },
    { "Name": "GPU:CUDA:FrameBuffer", "Minimum": "/* GB */",             "Maximum": "/* GB */",             "Request": "/* GB */" },
    { "Name": "GPU:CUDA:MemorySpeed", "Minimum": "/* GB/s */",           "Maximum": "/* GB/s */",           "Request": "/* GB/s */" }
  ],

  "DataXMData":  { },

  "Documentation":  [{ "Type": "Tutorial", "URI": "https://mpai.community/standards/mpai-mmc/v2-5/" }] }