{ "Identifier":       {"ImplementerID": "IIDRA-assigned", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-EDP-V2.5"},
  "Header":            "MMC-EDP-V2.5",

  "APIProfile":       "Basic",
  "Description":      "This AIM implements the Entity Dialogue Processing function: it produces the Machine Text and Machine Personal Status from the human Text, its Text Descriptors, the human Personal Status and identity, the identifiers of the scene objects and the Basic Audio and Visual Scene Geometries, using the running Summary as dialogue memory. In Audio Scene Management (CAE-ASM), given the Audio Scene the User edits, it turns what the User says into User Commands for CAE-ASM, says what was done or asks when the request is unclear, and tells the User Agent, as Text For UA, what only the User Agent does: undo, save, stop.",

  "InternalTypes":   [ ],

  "ExternalPorts":   [{"Name": "Summary",               "Direction": "Input",  "DataType": "MMC-SUM-V2.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "TextObject",            "Direction": "Input",  "DataType": "OSD-BTO-V1.5", "PortNumber": 1, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "TextDescriptors",       "Direction": "Input",  "DataType": "MMC-TDO-V2.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "PersonalStatus",        "Direction": "Input",  "DataType": "MMC-EPS-V2.5", "PortNumber": 1, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "UserID",                "Direction": "Input",  "DataType": "OSD-IID-V1.5", "PortNumber": 1, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "VisualObjectIDs",       "Direction": "Input",  "DataType": "OSD-IID-V1.5", "PortNumber": 2, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "AudioObjectIDs",        "Direction": "Input",  "DataType": "OSD-IID-V1.5", "PortNumber": 3, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "VisualSceneGeometry",   "Direction": "Input",  "DataType": "OSD-BVG-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "AudioSceneGeometry",    "Direction": "Input",  "DataType": "OSD-BAG-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "BMS",                   "Direction": "Input",  "DataType": "OSD-BMS-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "MemoryText",            "Direction": "Input",  "DataType": "OSD-BTO-V1.5", "PortNumber": 2, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "MemoryPersonalStatus",  "Direction": "Input",  "DataType": "MMC-EPS-V2.5", "PortNumber": 2, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "RefinedText",           "Direction": "Input",  "DataType": "OSD-BTO-V1.5", "PortNumber": 3, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "MachineAvatarModel",     "Direction": "Output", "DataType": "OSD-B3O-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "OutputSummary",          "Direction": "Output", "DataType": "MMC-SUM-V2.5", "PortNumber": 2, "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "MachineTextObject",     "Direction": "Output", "DataType": "OSD-BTO-V1.5",                     "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "MachinePersonalStatus", "Direction": "Output", "DataType": "MMC-EPS-V2.5",                     "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "EditedSummary",         "Direction": "Output", "DataType": "MMC-SUM-V2.5",                     "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "HCIMemoryData",         "Direction": "Output", "DataType": "MMC-HMD-V2.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "AMSHCIMessageIn",         "Direction": "Input",  "DataType": "CAV-AHM-V2.0", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "BasicOfflineMapObject",   "Direction": "Input",  "DataType": "OSD-BOO-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "EgoRemoteHCIMessageIn",   "Direction": "Input",  "DataType": "CAV-ERH-V2.0", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "AMSHCIMessageOut",        "Direction": "Output", "DataType": "CAV-AHM-V2.0", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "EgoRemoteHCIMessageOut",  "Direction": "Output", "DataType": "CAV-ERH-V2.0", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "AudioScene", "Direction": "Input", "DataType": ["OSD-BAS-V1.5", "OSD-ASD-V1.5"], "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "UserCommand", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""},
                     {"Name": "TextForUA", "Direction": "Output", "DataType": "MMC-TFU-V1.5", "IsOptional": true, "Technology": "", "Protocol": "", "IsRemote": ""}],

  "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 */",

  "AccessSources":   [{"Name": "llm-weights", "Uri": "/* URI of the weights of the language model */", "Sha256": "/* SHA-256 */",
                           "Description": "The weights of the language model of the dialogue."},
                          {"Name": "llm-template", "Uri": "/* URI of the chat template */", "Sha256": "/* SHA-256 */", "IsOptional": true,
                           "Description": "The chat template of the model."},
                          {"Name": "llm-parameters", "Uri": "/* URI of the default parameters */", "Sha256": "/* SHA-256 */", "IsOptional": true,
                           "Description": "The default parameters of the model."}],

  "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": "Tutorial", "URI": "https://mpai.community/standards/mpai-mmc/v2-5/"}]}