{
  "Identifier": {
    "ImplementerID": "IIDRA-assigned",
    "ImplementationID": "/* String from Implementer */",
    "AIMName": "MMC-MTS-V2.5"
  },
  "Header": "MMC-MTS-V2.5",
  "APIProfile": "Basic",
  "Description": "Multimodal Translation Service: the HCI Module for spoken translation with a Portable Avatar. Automatic Speech Recognition recognises the human's speech into text; Text-to-Text Translation translates it into the language named by the Language Selector; Text-To-Speech makes the Speech Object of the translation; Portable Avatar Multiplexing puts the translation, text and speech, in the Portable Avatar, which the User Agent renders. The translated text is also exposed. Non-affective; no Personal Status is supplied. Acquisition and delivery are the User Agent, not sub-AIMs.",
  "InternalTypes": [
    {
      "Name": "RecognisedText",
      "DataType": "OSD-BTO-V1.5"
    },
    {
      "Name": "TranslatedText",
      "DataType": "OSD-BTO-V1.5",
      "Output": 1
    }
  ],
  "ExternalPorts": [
    {
      "Name": "InputSpeech",
      "Direction": "Input",
      "DataType": "OSD-BSO-V1.5",
      "IsOptional": true,
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    },
    {
      "Name": "TargetLanguage",
      "Direction": "Input",
      "DataType": "OSD-SEL-V1.5",
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    },
    {
      "Name": "TextToTranslate",
      "Direction": "Input",
      "DataType": "OSD-BTO-V1.5",
      "PortNumber": 1,
      "IsOptional": true,
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    },
    {
      "Name": "TranslatedText",
      "Direction": "Output",
      "DataType": "OSD-BTO-V1.5",
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    },
    {
      "Name": "AvatarModel",
      "Direction": "Input",
      "DataType": "OSD-B3O-V1.5",
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    },
    {
      "Name": "MachineID",
      "Direction": "Input",
      "DataType": "string",
      "Technology": "",
      "Protocol": "",
      "IsRemote": "",
      "IsOptional": true
    },
    {
      "Name": "PortableAvatar",
      "Direction": "Output",
      "DataType": "PAF-PAV-V1.6",
      "Technology": "",
      "Protocol": "",
      "IsRemote": ""
    }
  ],
  "SubAIMs": [{"Identifier": {"ImplementerID": "IIDRA-assigned", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-ASR-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "IIDRA-assigned", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-TTT-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "IIDRA-assigned", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-TTS-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "IIDRA-assigned", "ImplementationID": "/* String from Implementer */", "AIMName": "PAF-PMX-V1.6", "Relation": ""}}],
  "Topology": [{"Output": {"AIMName": "", "DataType": "OSD-BSO-V1.5"}, "Input": {"AIMName": "MMC-ASR-V2.5", "DataType": "OSD-BSO-V1.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "MMC-ASR-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}, "Input": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 2}},
                          {"Output": {"AIMName": "", "DataType": "OSD-SEL-V1.5"}, "Input": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-SEL-V1.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}, "Input": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "MMC-TTS-V2.5", "DataType": "OSD-BTO-V1.5"}},
                          {"Output": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "PAF-PMX-V1.6", "DataType": "OSD-BTO-V1.5", "PortNumber": 2}},
                          {"Output": {"AIMName": "MMC-TTT-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "", "DataType": "OSD-BTO-V1.5"}},
                          {"Output": {"AIMName": "PAF-PMX-V1.6", "DataType": "PAF-PAV-V1.6"}, "Input": {"AIMName": "", "DataType": "PAF-PAV-V1.6"}},
                          {"Output": {"AIMName": "", "DataType": "OSD-B3O-V1.5"}, "Input": {"AIMName": "PAF-PMX-V1.6", "DataType": "OSD-B3O-V1.5"}},
                          {"Output": {"AIMName": "", "DataType": "string"}, "Input": {"AIMName": "PAF-PMX-V1.6", "DataType": "string"}},
                          {"Output": {"AIMName": "MMC-TTS-V2.5", "DataType": "OSD-BSO-V1.5"}, "Input": {"AIMName": "PAF-PMX-V1.6", "DataType": "OSD-BSO-V1.5"}}],
  "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-mmc/v2-5/"
    }
  ]
}