{
  "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-VEA-V1.0",
  "APIProfile": "Basic",
  "Description": "The Visual Environment Analysis (PGM-VEA) AI Module derives a Visual Profile, the MPAI-CVE Data Type that says how the Visual Objects and the scene look, from Visual Scene Descriptors, and infers the possible interactions offered by the Visual Objects the scene contains, by",
  "InternalTypes": [],
  "ExternalPorts": [
    {
      "Name": "VisualSceneDescriptors",
      "Direction": "Input",
      "DataType": "OSD-BVS-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualCXTRequest",
      "Direction": "Input",
      "DataType": "PGM-UCC-V1.0",
      "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": "VisualProfile",
      "Direction": "Output",
      "DataType": "CVE-VSP-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AffordanceTags",
      "Direction": "Output",
      "DataType": "OSD-AFT-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InteractionPotential",
      "Direction": "Output",
      "DataType": "OSD-IAP-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "Depth",
      "Direction": "Output",
      "DataType": "OSD-DPT-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "OcclusionFlag",
      "Direction": "Output",
      "DataType": "OSD-OFL-V1.5",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "VisualCXTResponse",
      "Direction": "Output",
      "DataType": "PGM-UCC-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-environment-analysis/"
    }
  ]
}
