{
  "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-MOG-V1.0",
  "APIProfile": "Basic",
  "Description": "The Motion Object Generation (PGM-MOG) AIM is a Sub-AIM of A-User Formation (PGM-AUF). It receives the Final Response, which holds all the outputs of Basic Knowledge, and divides its Process Actions. A Process Action that concerns the A-User as an entity, that is, whose subject is the Persona of the A-User (its position, its movement, its gestures), is split into Face Motion Objects and Body Motion Objects, which it gives to Entity Face Description and Entity Body Description. A Process Action whose subject is another Item or Process is passed unchanged to A-User Control. It also derives Motion Objects from the Action Objects of the Final Response. It is driven by the AUC-AUF Request and reports with an AUC-AUF Response.",
  "InternalTypes": [],
  "ExternalPorts": [
    {
      "Name": "AUCAUFRequest",
      "Direction": "Input",
      "DataType": "PGM-UCF-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "FinalResponse",
      "Direction": "Input",
      "DataType": "PGM-FRS-V1.0",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "FaceMotionObject",
      "Direction": "Output",
      "DataType": "PAF-FMO-V1.6",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "BodyMotionObject",
      "Direction": "Output",
      "DataType": "PAF-BMO-V1.6",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "ProcessActions",
      "Direction": "Output",
      "DataType": "MMM-PAT-V2.2",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AUCAUFResponse",
      "Direction": "Output",
      "DataType": "PGM-UCF-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/entity-body-description/"
    }
  ]
}
