{
  "Identifier": {
    "ImplementerID": "/* String assigned by IIDRA */",
    "ImplementationID": "/* String assigned by Implementer */",
    "AIMName": "/* The name of the AIM, given by the concatenation of the two strings ImplementerID and ImplementationID, in this order, with no space and no character between them. */"
  },
  "Header": "PGM-VII-V1.0",
  "APIProfile": "Basic",
  "Description": "The Visual Instance Identification (PGM-VII) AIM is a Sub-AIM of Visual Scene Enhancement (PGM-VSE). It assigns semantic object-type labels to Visual Objects using classification models, domain knowledge, and Interaction History. Each Sub-AIM of Visual Scene Enhancement independently generates a Visual CXT Response, a Visual Domain Request and a Visual Interaction History Request. Visual Enhancement Multiplexing multiplexes them into the corresponding external output signals of Visual Scene Enhancement. [High-level specification derived from the Visual Scene Enhancement page. To be completed.]",
  "InternalTypes": [],
  "ExternalPorts": [
    {
      "Name": "VisualCXTRequest",
      "Direction": "Input",
      "DataType": "PGM-UCC-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualSceneDescriptors",
      "Direction": "Input",
      "DataType": "OSD-BVS-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualDomainResponse",
      "Direction": "Input",
      "DataType": "PGM-DOM-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualInteractionHistoryResponse",
      "Direction": "Input",
      "DataType": "PGM-IHI-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualCXTResponse",
      "Direction": "Output",
      "DataType": "PGM-UCC-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualObjectTypes",
      "Direction": "Output",
      "DataType": "PGM-VOT-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualDomainRequest",
      "Direction": "Output",
      "DataType": "PGM-DOM-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualInteractionHistoryRequest",
      "Direction": "Output",
      "DataType": "PGM-IHI-V1.0",
      "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": [
    {
      "ImplementationURI": "/* absolute URI locating the Implementation */",
      "BinaryName": "/* provided by implementer */",
      "Architecture": "/* x86-64 | ARM64 */",
      "MASPort": 443,
      "Firewall": [
        {
          "Protocol": "TCP | UDP",
          "Version": "IPV4 | IPV6",
          "Direction": "Ingress | Egress | Both",
          "Range": "9990[-9999]",
          "Source": "0.0.0.0/0"
        }
      ],
      "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": "Specification",
      "URI": "https://mpai.community/standards/mpai-pgm/aua/v1-0/ai-modules/visual-instance-identification/"
    }
  ]
}
