{
  "schema_version": 1,
  "version": "0.2.0",
  "license": "Apache-2.0",
  "copyright": "Copyright 2026 Dynamical Systems Group",
  "scope": "Original reusable SVG components for selected source-checked SysML notation. A component is not a complete graphical grammar or a conformance result.",
  "source": {
    "id": "SysMLLanguage",
    "language": "SysML",
    "version": "2.0",
    "file": "SysML-Language.pdf",
    "url": "https://www.omg.org/spec/SysML/2.0/Language/PDF",
    "omg_file_id": "formal/2026-03-02",
    "bytes": 3804140,
    "sha256": "46e6c0476a6f1f34f367d57e039d56659bff75e41d2e4b3d37ca4cadea84a83a",
    "retrieved_on": "2026-10-21",
    "publisher": "Object Management Group"
  },
  "theme_variables": {
    "--sysml-stroke": "#11113a",
    "--sysml-fill": "#fff",
    "--sysml-text": "#11113a",
    "--sysml-stroke-width": "2",
    "--sysml-font": "system-ui,sans-serif"
  },
  "shapes": [
    {
      "id": "part-definition",
      "name": "Part definition",
      "family": "Parts",
      "kind": "node",
      "notation_record": "part-definition-node",
      "production_ids": [
        "8.2.3.11/part-def/1",
        "8.2.3.11/part-def-name-compartment/1"
      ],
      "description": "Minimal sharp-corner part definition node with an editable name label.",
      "limits": "No compartments, boundary ports, aliases or additional prefixes. The host renderer supplies these when required.",
      "file": "svg/part-definition.svg",
      "symbolId": "sysml-part-definition",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "Wheel"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=240",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=241"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "17e648a053e102e27e38e3e4a04fefc768a267d30280697d0269fbac87604843"
    },
    {
      "id": "part-usage",
      "name": "Composite part usage",
      "family": "Parts",
      "kind": "node",
      "notation_record": "part-node",
      "production_ids": [
        "8.2.3.11/part/1",
        "8.2.3.11/part-name-compartment/1"
      ],
      "description": "Minimal solid rounded part usage node with an editable name/type label.",
      "limits": "Represents the composite example. Prefix combinations, compartments and port attachments are not included.",
      "file": "svg/part-usage.svg",
      "symbolId": "sysml-part-usage",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "wheel : Wheel"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=241"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "4ce90bea6c9c4379b5c04b08f1fbf152cf6a3cb875d3aa4f0143dbd4f6e86755"
    },
    {
      "id": "part-reference",
      "name": "Referential part usage",
      "family": "Parts",
      "kind": "node",
      "notation_record": "part-node",
      "production_ids": [
        "8.2.3.11/part-ref/1",
        "8.2.3.11/part-name-compartment/1"
      ],
      "description": "Dashed rounded referential part usage node, retaining its ref part keyword.",
      "limits": "This remains a PartUsage. The displayed multiplicity is an example, not a default or a validation result.",
      "file": "svg/part-reference.svg",
      "symbolId": "sysml-part-reference",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "spare : Wheel[0..1]"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=241"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "0c64878a41c8d3d479af2985a2929fe57cc72fa657e6c3eed48acc49788a5e5e"
    },
    {
      "id": "port-usage",
      "name": "Full port usage",
      "family": "Ports",
      "kind": "node",
      "notation_record": "port-node-boundary",
      "production_ids": [
        "8.2.3.12/port-usage/1",
        "8.2.3.12/port-name-compartment/1"
      ],
      "description": "Minimal full port usage node with an editable name/type label.",
      "limits": "This is the full node form. Nested ports, direction glyphs and reference/proxy alternatives are omitted.",
      "file": "svg/port-usage.svg",
      "symbolId": "sysml-port-usage",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "hub : Mount"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=242",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "525b46c0320a85043e342ac673712dc546e6de6c72babdc1c46c17a0c5dce594"
    },
    {
      "id": "port-glyph",
      "name": "Boundary port outline primitive",
      "family": "Ports",
      "kind": "glyph",
      "notation_record": "port-node-boundary",
      "production_ids": [
        "8.2.3.12/port-l/1",
        "8.2.3.12/port-r/1",
        "8.2.3.12/port-t/1",
        "8.2.3.12/port-b/1"
      ],
      "description": "Rounded outline primitive without a direction indicator; compose it as geometry rather than a complete boundary-port alternative.",
      "limits": "Outline only. The displayed boundary grammar includes pdh/pdv arrows and position-specific labels; the host supplies direction, placement and context. Nested/reference/proxy forms are not implemented.",
      "file": "svg/port-glyph.svg",
      "symbolId": "sysml-port-glyph",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "86d924db9659bc025b5df1d38f1c0495916efbde27b4c1a9b3fc1c270a05faa5"
    },
    {
      "id": "connection-usage",
      "name": "Full connection usage",
      "family": "Connections",
      "kind": "node",
      "notation_record": "connection-edge-node",
      "production_ids": [
        "8.2.3.13/connection/1",
        "8.2.3.13/connection-name-compartment/1"
      ],
      "description": "Minimal full connection usage node.",
      "limits": "No compartments or elaboration links. The host renderer determines how the modeled connection is related to its endpoints.",
      "file": "svg/connection-usage.svg",
      "symbolId": "sysml-connection-usage",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "link"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=246",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=247"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "b9550c395793243a3c3e4a7f2c732a46b954af64717520dd80ba856d247cb6e0"
    },
    {
      "id": "connection-binary",
      "name": "Binary connection edge",
      "family": "Connections",
      "kind": "edge",
      "notation_record": "connection-edge-node",
      "production_ids": [
        "8.2.3.13/connection-graphical/1",
        "8.2.3.13/connection-label/1"
      ],
      "description": "Solid undirected binary connection line with an editable optional label.",
      "limits": "Attach start/end anchors to valid connection ends. Direction indication, roles, multiplicities and adornments are omitted. This line does not imply flow direction.",
      "file": "svg/connection-binary.svg",
      "symbolId": "sysml-connection-binary",
      "viewBox": [
        0,
        0,
        280,
        72
      ],
      "anchors": {
        "start": [
          12,
          36
        ],
        "end": [
          268,
          36
        ]
      },
      "labelSlots": {
        "label": "link"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=247",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=248"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "cf0689e7a5e48af8b52783323287ef9b5617336ec0b09a53487fedd0bbfab791"
    },
    {
      "id": "connection-nary",
      "name": "Three-ended connection",
      "family": "Connections",
      "kind": "edge",
      "notation_record": "connection-nary",
      "production_ids": [
        "8.2.3.13/n-ary-connection/1",
        "8.2.3.13/n-ary-connection-dot/1",
        "8.2.3.13/n-ary-segment/1"
      ],
      "description": "Representative three-ended usage connection with a filled central dot and solid segments.",
      "limits": "A fixed layout with three endpoint anchors. The host renderer must reroute or add segments for other layouts/end counts. Role labels and multiplicities are omitted.",
      "file": "svg/connection-nary.svg",
      "symbolId": "sysml-connection-nary",
      "viewBox": [
        0,
        0,
        280,
        160
      ],
      "anchors": {
        "junction": [
          140,
          80
        ],
        "end1": [
          12,
          80
        ],
        "end2": [
          268,
          24
        ],
        "end3": [
          268,
          136
        ]
      },
      "labelSlots": {
        "label": "link"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=248"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "ed04dbf4b8ced56873e2a54242dda92a2bc31134ab56f9bc1c45803e99f507a0"
    },
    {
      "id": "binding-connection",
      "name": "Binding connection",
      "family": "Connections",
      "kind": "edge",
      "production_ids": [
        "8.2.3.13/binding-connection/1"
      ],
      "description": "Solid binding line with the required equals sign.",
      "limits": "Endpoint usage nodes must have compatible types. The equals sign is fixed; the component does not validate endpoint compatibility.",
      "file": "svg/binding-connection.svg",
      "symbolId": "sysml-binding-connection",
      "viewBox": [
        0,
        0,
        280,
        72
      ],
      "anchors": {
        "start": [
          12,
          36
        ],
        "end": [
          268,
          36
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=249"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "e8fe805bc03e2958e27525e57cbe98391d0ba5f757aef22be9000c7c1350c99c"
    },
    {
      "id": "port-definition",
      "name": "Port definition",
      "family": "Ports",
      "kind": "node",
      "production_ids": [
        "8.2.3.12/port-def/1",
        "8.2.3.12/port-def-name-compartment/1"
      ],
      "description": "Minimal sharp-corner port definition node with an editable definition name.",
      "limits": "No prefix combinations, aliases, compartments or boundary ports. This is geometry, not a metamodel-property profile or model check.",
      "file": "svg/port-definition.svg",
      "symbolId": "sysml-port-definition",
      "viewBox": [
        0,
        0,
        240,
        140
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          70.0
        ],
        "south": [
          120,
          132
        ],
        "west": [
          8,
          70.0
        ]
      },
      "labelSlots": {
        "label": "Interface"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=242",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "c64561a917909757d21effdced8b234de21e1e8db338ae92456c19758ad96886"
    },
    {
      "id": "part-definition-parts",
      "name": "Part definition with parts compartment",
      "family": "Parts",
      "kind": "node",
      "compartment": "parts",
      "rows": [
        "wheel : Wheel",
        "ref spare : Wheel[0..1]"
      ],
      "production_ids": [
        "8.2.3.11/part-def/1",
        "8.2.3.11/parts-compartment/1",
        "8.2.3.11/parts-compartment-contents/1"
      ],
      "description": "A separated parts compartment with two editable literal rows and an elision marker.",
      "limits": "Fixed two-row layout, one selected compartment, no automatic parsing, wrapping or row generation. Names, prefixes and inherited/conjugated declarations remain the caller’s responsibility; this does not render every compartment-stack alternative.",
      "file": "svg/part-definition-parts.svg",
      "symbolId": "sysml-part-definition-parts",
      "viewBox": [
        0,
        0,
        240,
        220
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          110.0
        ],
        "south": [
          120,
          212
        ],
        "west": [
          8,
          110.0
        ]
      },
      "labelSlots": {
        "row1": "wheel : Wheel",
        "row2": "ref spare : Wheel[0..1]",
        "label": "Assembly"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=90",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=92",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=241",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=242"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "ba6418c5c7c72104a1f9c038c87367198aa870b401e36b9cb42f992899a97e16"
    },
    {
      "id": "part-usage-parts",
      "name": "Part usage with parts compartment",
      "family": "Parts",
      "kind": "node",
      "compartment": "parts",
      "rows": [
        "part1 : Component",
        "part2 : Component"
      ],
      "production_ids": [
        "8.2.3.11/part/1",
        "8.2.3.11/parts-compartment/1",
        "8.2.3.11/parts-compartment-contents/1"
      ],
      "description": "A separated parts compartment with two editable literal rows and an elision marker.",
      "limits": "Fixed two-row layout, one selected compartment, no automatic parsing, wrapping or row generation. Names, prefixes and inherited/conjugated declarations remain the caller’s responsibility; this does not render every compartment-stack alternative.",
      "file": "svg/part-usage-parts.svg",
      "symbolId": "sysml-part-usage-parts",
      "viewBox": [
        0,
        0,
        240,
        220
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          110.0
        ],
        "south": [
          120,
          212
        ],
        "west": [
          8,
          110.0
        ]
      },
      "labelSlots": {
        "row1": "part1 : Component",
        "row2": "part2 : Component",
        "label": "system : System"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=91",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=92",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=241",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=242"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "3cbf0d0f886993e4f187dd8bd96def14c008a9397dbdfdf207acb161b68d6f90"
    },
    {
      "id": "port-definition-ports",
      "name": "Port definition with ports compartment",
      "family": "Ports",
      "kind": "node",
      "compartment": "ports",
      "rows": [
        "inner1 : SubInterface",
        "inner2 : SubInterface"
      ],
      "production_ids": [
        "8.2.3.12/port-def/1",
        "8.2.3.12/ports-compartment/1",
        "8.2.3.12/ports-compartment-contents/1"
      ],
      "description": "A separated ports compartment with two editable literal rows and an elision marker.",
      "limits": "Fixed two-row layout, one selected compartment, no automatic parsing, wrapping or row generation. Names, prefixes and inherited/conjugated declarations remain the caller’s responsibility; this does not render every compartment-stack alternative.",
      "file": "svg/port-definition-ports.svg",
      "symbolId": "sysml-port-definition-ports",
      "viewBox": [
        0,
        0,
        240,
        220
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          110.0
        ],
        "south": [
          120,
          212
        ],
        "west": [
          8,
          110.0
        ]
      },
      "labelSlots": {
        "row1": "inner1 : SubInterface",
        "row2": "inner2 : SubInterface",
        "label": "Interface"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=94",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=242",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "2bfbd792d4ae7f36562136d37be25f95cd262bbf792b9395579484b2a4787e96"
    },
    {
      "id": "port-usage-ports",
      "name": "Port usage with ports compartment",
      "family": "Ports",
      "kind": "node",
      "compartment": "ports",
      "rows": [
        "inner1 : SubInterface",
        "inner2 : SubInterface"
      ],
      "production_ids": [
        "8.2.3.12/port-usage/1",
        "8.2.3.12/ports-compartment/1",
        "8.2.3.12/ports-compartment-contents/1"
      ],
      "description": "A separated ports compartment with two editable literal rows and an elision marker.",
      "limits": "Fixed two-row layout, one selected compartment, no automatic parsing, wrapping or row generation. Names, prefixes and inherited/conjugated declarations remain the caller’s responsibility; this does not render every compartment-stack alternative.",
      "file": "svg/port-usage-ports.svg",
      "symbolId": "sysml-port-usage-ports",
      "viewBox": [
        0,
        0,
        240,
        220
      ],
      "anchors": {
        "north": [
          120,
          8
        ],
        "east": [
          232,
          110.0
        ],
        "south": [
          120,
          212
        ],
        "west": [
          8,
          110.0
        ]
      },
      "labelSlots": {
        "row1": "inner1 : SubInterface",
        "row2": "inner2 : SubInterface",
        "label": "outer : Interface"
      },
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=94",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "c025b75565f4ded0fd974769cff3ac9767b331efdc9ec6cf8c9fcb500e53e4f9"
    },
    {
      "id": "port-arrow-right",
      "name": "Boundary port with right arrow",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "right",
      "production_ids": [
        "8.2.3.12/pdh/1",
        "8.2.3.12/port-l/1",
        "8.2.3.12/port-r/1"
      ],
      "description": "Rounded boundary glyph containing the right direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-right.svg",
      "symbolId": "sysml-port-arrow-right",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "3543bf4c5a7fac5cfa74187912bcde46424c32bce313de837cf66047232b1b85"
    },
    {
      "id": "port-arrow-left",
      "name": "Boundary port with left arrow",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "left",
      "production_ids": [
        "8.2.3.12/pdh/1",
        "8.2.3.12/port-l/1",
        "8.2.3.12/port-r/1"
      ],
      "description": "Rounded boundary glyph containing the left direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-left.svg",
      "symbolId": "sysml-port-arrow-left",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "c221f36bf4e9883594333551f05274f97e6c68817dd99c583258180df4a73052"
    },
    {
      "id": "port-arrow-horizontal-both",
      "name": "Boundary port with horizontal both arrows",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "horizontal-both",
      "production_ids": [
        "8.2.3.12/pdh/1",
        "8.2.3.12/port-l/1",
        "8.2.3.12/port-r/1"
      ],
      "description": "Rounded boundary glyph containing the horizontal both direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-horizontal-both.svg",
      "symbolId": "sysml-port-arrow-horizontal-both",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "7c19513ac37df2de1af12f24c985bddd5076bd9dad80fa84e501960901fbe95e"
    },
    {
      "id": "port-arrow-up",
      "name": "Boundary port with up arrow",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "up",
      "production_ids": [
        "8.2.3.12/pdv/1",
        "8.2.3.12/port-t/1",
        "8.2.3.12/port-b/1"
      ],
      "description": "Rounded boundary glyph containing the up direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-up.svg",
      "symbolId": "sysml-port-arrow-up",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "31ece78d845b4661820700629bcce4167693fac6ac126f107f63e44f84bd99c9"
    },
    {
      "id": "port-arrow-down",
      "name": "Boundary port with down arrow",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "down",
      "production_ids": [
        "8.2.3.12/pdv/1",
        "8.2.3.12/port-t/1",
        "8.2.3.12/port-b/1"
      ],
      "description": "Rounded boundary glyph containing the down direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-down.svg",
      "symbolId": "sysml-port-arrow-down",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "882043ad8552d37f1697c0153bacdf17b71454abebea8f20ab8497e7d980f8fe"
    },
    {
      "id": "port-arrow-vertical-both",
      "name": "Boundary port with vertical both arrows",
      "family": "Ports",
      "kind": "glyph",
      "direction_indicator": "vertical-both",
      "production_ids": [
        "8.2.3.12/pdv/1",
        "8.2.3.12/port-t/1",
        "8.2.3.12/port-b/1"
      ],
      "description": "Rounded boundary glyph containing the vertical both direction indication.",
      "limits": "Glyph component only. Center it on a matching host boundary and supply the side-specific label. Arrow choice is caller-supplied; no feature-direction inference, nested-port layout, broken reference outline or proxy option.",
      "file": "svg/port-arrow-vertical-both.svg",
      "symbolId": "sysml-port-arrow-vertical-both",
      "viewBox": [
        0,
        0,
        24,
        24
      ],
      "anchors": {
        "center": [
          12,
          12
        ],
        "north": [
          12,
          2
        ],
        "east": [
          22,
          12
        ],
        "south": [
          12,
          22
        ],
        "west": [
          2,
          12
        ]
      },
      "labelSlots": {},
      "source_urls": [
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=243",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=244",
        "https://www.omg.org/spec/SysML/2.0/Language/PDF#page=245"
      ],
      "verification": "RepresentativeSourceChecked",
      "sha256": "861780ceb323310a775f54ddcad5fc154426abe22c7627b41a34c3cf97320832"
    }
  ]
}
