{ "$schema":              "https://json-schema.org/draft/2020-12/schema",
  "$comment":             "https://schemas.mpai.community/AIF/V3.0/data/AIMMetadata.json",
  "$id":                  "https://schemas.mpai.community/PAF/V1.6/AIMs/VirtualMeetingSecretary.json",
  "title":                "Virtual Meeting Secretary V1.6",

  "Identifier":           {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "PAF-VMS-V1.6"},
  "Header":               "PAF-VMS-V1.6",

  "APIProfile":           "Basic",
  "Description":          "Virtual Meeting Secretary: from the Portable Avatars of the participants it recognises and understands what they say, extracts their Personal Status, creates and edits the Summary of the meeting, and produces its own Portable Avatar - the VMS Portable Avatar - which speaks the text the secretary produces with its Personal Status. The Summary is also an output.",

  "InternalTypes":        [ ],

  "ExternalPorts":        [{"Name": "PortableAvatars", "Direction": "Input", "DataType": "PAF-PAV-V1.6", "Technology": "Software", "Protocol": "", "IsRemote": false},
                          {"Name": "Summary", "Direction": "Output", "DataType": "MMC-SUM-V2.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                          {"Name": "VMSPortableAvatar", "Direction": "Output", "DataType": "PAF-PAV-V1.6", "Technology": "Software", "Protocol": "", "IsRemote": false}],

  "SubAIMs":              [{"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "PAF-PDX-V1.6", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-ASR-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-NLU-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-PSE-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-SCM-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-EDP-V2.5", "Relation": ""}},
                          {"Identifier": {"ImplementerID": "/* String assigned by IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "PAF-PSD-V1.6", "Relation": ""}}],

  "Topology":             [{"Output": {"AIMName": "", "DataType": "PAF-PAV-V1.6"}, "Input": {"AIMName": "PAF-PDX-V1.6", "DataType": "PAF-PAV-V1.6"}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "OSD-BSO-V1.5"}, "Input": {"AIMName": "MMC-ASR-V2.5", "DataType": "OSD-BSO-V1.5"}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "OSD-BSO-V1.5"}, "Input": {"AIMName": "MMC-PSE-V2.5", "DataType": "OSD-BSO-V1.5"}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "MMC-EDP-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "MMC-NLU-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "OSD-IID-V1.5"}, "Input": {"AIMName": "MMC-PSE-V2.5", "DataType": "OSD-IID-V1.5"}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "PAF-FDO-V1.6"}, "Input": {"AIMName": "MMC-PSE-V2.5", "DataType": "PAF-FDO-V1.6"}},
                          {"Output": {"AIMName": "PAF-PDX-V1.6", "DataType": "PAF-BDO-V1.6"}, "Input": {"AIMName": "MMC-PSE-V2.5", "DataType": "PAF-BDO-V1.6"}},
                          {"Output": {"AIMName": "MMC-ASR-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 1}, "Input": {"AIMName": "MMC-NLU-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 2}},
                          {"Output": {"AIMName": "MMC-NLU-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "MMC-EDP-V2.5", "DataType": "OSD-BTO-V1.5", "PortNumber": 3}},
                          {"Output": {"AIMName": "MMC-NLU-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "MMC-SCM-V2.5", "DataType": "OSD-BTO-V1.5"}},
                          {"Output": {"AIMName": "MMC-NLU-V2.5", "DataType": "MMC-TDO-V2.5"}, "Input": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-TDO-V2.5"}},
                          {"Output": {"AIMName": "MMC-NLU-V2.5", "DataType": "MMC-TDO-V2.5"}, "Input": {"AIMName": "MMC-SCM-V2.5", "DataType": "MMC-TDO-V2.5"}},
                          {"Output": {"AIMName": "MMC-NLU-V2.5", "DataType": "MMC-TDO-V2.5"}, "Input": {"AIMName": "MMC-PSE-V2.5", "DataType": "MMC-TDO-V2.5"}},
                          {"Output": {"AIMName": "MMC-PSE-V2.5", "DataType": "OSD-IID-V1.5"}, "Input": {"AIMName": "MMC-SCM-V2.5", "DataType": "OSD-IID-V1.5"}},
                          {"Output": {"AIMName": "MMC-PSE-V2.5", "DataType": "MMC-EPS-V2.5"}, "Input": {"AIMName": "MMC-SCM-V2.5", "DataType": "MMC-EPS-V2.5"}},
                          {"Output": {"AIMName": "MMC-PSE-V2.5", "DataType": "MMC-EPS-V2.5"}, "Input": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-EPS-V2.5", "PortNumber": 1}},
                          {"Output": {"AIMName": "MMC-SCM-V2.5", "DataType": "MMC-SUM-V2.5"}, "Input": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-SUM-V2.5"}},
                          {"Output": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-SUM-V2.5"}, "Input": {"AIMName": "MMC-SCM-V2.5", "DataType": "MMC-SUM-V2.5"}},
                          {"Output": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-SUM-V2.5", "PortNumber": 2}, "Input": {"AIMName": "", "DataType": "MMC-SUM-V2.5"}},
                          {"Output": {"AIMName": "MMC-EDP-V2.5", "DataType": "OSD-B3O-V1.5"}, "Input": {"AIMName": "PAF-PSD-V1.6", "DataType": "OSD-B3O-V1.5"}},
                          {"Output": {"AIMName": "MMC-EDP-V2.5", "DataType": "MMC-EPS-V2.5"}, "Input": {"AIMName": "PAF-PSD-V1.6", "DataType": "MMC-EPS-V2.5"}},
                          {"Output": {"AIMName": "MMC-EDP-V2.5", "DataType": "OSD-BTO-V1.5"}, "Input": {"AIMName": "PAF-PSD-V1.6", "DataType": "OSD-BTO-V1.5"}},
                          {"Output": {"AIMName": "PAF-PSD-V1.6", "DataType": "PAF-PAV-V1.6"}, "Input": {"AIMName": "", "DataType": "PAF-PAV-V1.6"}}],

  "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-paf/v1-6/"}] }
