{
  "$id": "https://json.schemastore.org/venvironment-schema.json",
  "type": "object",
  "$ref": "#/definitions/b2d82/full",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "venvironment schema",
  "definitions": {
    "b2d82": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "required": ["version"],
        "properties": {
          "version": {
            "enum": ["1.0.0", "1.1.0", "1.1.1", "2.1.0", "2.0.0", "2.2.0"]
          }
        },
        "anyOf": [
          {
            "if": {
              "properties": {
                "version": {
                  "const": "2.2.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/decf8/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "2.1.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/170b6/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "2.0.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/26679/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "1.1.1"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/91f16/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "1.1.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/ed3cd/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "1.0.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/b4889/full"
            }
          }
        ]
      }
    },
    "decf8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/a2b96/full"
          },
          "application-models": {
            "$ref": "#/definitions/8bf53/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/844f0/full"
          },
          "can-networks": {
            "$ref": "#/definitions/17e74/full"
          },
          "can-replay-blocks": {
            "$ref": "#/definitions/f4a62/full"
          },
          "databases": {
            "$ref": "#/definitions/62d94/full"
          },
          "datasources": {
            "$ref": "#/definitions/6d767/full"
          },
          "defines": {
            "$ref": "#/definitions/e8c0c/full"
          },
          "ethernet-networks": {
            "$ref": "#/definitions/6d907/full"
          },
          "ethernet-replay-blocks": {
            "$ref": "#/definitions/0d2f3/full"
          },
          "fdx": {
            "$ref": "#/definitions/0d894/full"
          },
          "flexray-clusters": {
            "$ref": "#/definitions/efabb/full"
          },
          "flexray-replay-blocks": {
            "$ref": "#/definitions/8f64c/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/0edfe/full"
          },
          "global-settings": {
            "$ref": "#/definitions/896d0/full"
          },
          "includes": {
            "$ref": "#/definitions/85495/full"
          },
          "lin-networks": {
            "$ref": "#/definitions/b1caa/full"
          },
          "lin-replay-blocks": {
            "$ref": "#/definitions/ac708/full"
          },
          "logging": {
            "$ref": "#/definitions/4fa6d/full"
          },
          "programming-modules": {
            "$ref": "#/definitions/aad77/full"
          },
          "scenarios": {
            "$ref": "#/definitions/23009/full"
          },
          "security": {
            "$ref": "#/definitions/49dc4/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/761e4/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/c0dc1/full"
          },
          "system-variables": {
            "$ref": "#/definitions/f2cb9/full"
          },
          "user-files": {
            "$ref": "#/definitions/d60a5/full"
          },
          "variables": {
            "$ref": "#/definitions/5d046/full"
          },
          "xcp-configuration-files": {
            "$ref": "#/definitions/a665e/full"
          }
        }
      }
    },
    "170b6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/716b3/full"
          },
          "includes": {
            "$ref": "#/definitions/85495/full"
          },
          "scenarios": {
            "$ref": "#/definitions/bf151/full"
          },
          "variables": {
            "$ref": "#/definitions/57928/full"
          },
          "defines": {
            "$ref": "#/definitions/405a8/full"
          },
          "global-settings": {
            "$ref": "#/definitions/0fa26/full"
          },
          "system-variables": {
            "$ref": "#/definitions/3eaba/full"
          },
          "databases": {
            "$ref": "#/definitions/7f50f/full"
          },
          "can-networks": {
            "$ref": "#/definitions/63c85/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/5bc6c/full"
          },
          "ethernet-networks": {
            "$ref": "#/definitions/db003/full"
          },
          "flexray-clusters": {
            "$ref": "#/definitions/c139b/full"
          },
          "lin-networks": {
            "$ref": "#/definitions/962c1/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/64979/full"
          },
          "datasources": {
            "$ref": "#/definitions/5cec7/full"
          },
          "application-models": {
            "$ref": "#/definitions/6939d/full"
          },
          "programming-modules": {
            "$ref": "#/definitions/be294/full"
          },
          "user-files": {
            "$ref": "#/definitions/22ddc/full"
          },
          "xcp-configuration-files": {
            "$ref": "#/definitions/bdaa7/full"
          },
          "fdx": {
            "$ref": "#/definitions/e4b54/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/bbc08/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/8984d/full"
          },
          "logging": {
            "$ref": "#/definitions/d9f28/full"
          },
          "can-replay-blocks": {
            "$ref": "#/definitions/23778/full"
          },
          "ethernet-replay-blocks": {
            "$ref": "#/definitions/9b94b/full"
          },
          "lin-replay-blocks": {
            "$ref": "#/definitions/67ea2/full"
          }
        }
      }
    },
    "26679": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/cb919/full"
          },
          "global-settings": {
            "$ref": "#/definitions/b3abd/full"
          },
          "includes": {
            "$ref": "#/definitions/85495/full"
          },
          "variables": {
            "$ref": "#/definitions/57928/full"
          },
          "application-models": {
            "$ref": "#/definitions/6939d/full"
          },
          "datasources": {
            "$ref": "#/definitions/5cec7/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/bbc08/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/8984d/full"
          },
          "fdx": {
            "$ref": "#/definitions/e4b54/full"
          },
          "defines": {
            "$ref": "#/definitions/405a8/full"
          },
          "system-variables": {
            "$ref": "#/definitions/3eaba/full"
          },
          "xcp-configuration-files": {
            "$ref": "#/definitions/bdaa7/full"
          },
          "logging": {
            "$ref": "#/definitions/8d971/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/6101e/full"
          },
          "databases": {
            "$ref": "#/definitions/7f50f/full"
          },
          "can-networks": {
            "$ref": "#/definitions/46542/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/fe291/full"
          },
          "ethernet-networks": {
            "$ref": "#/definitions/0fc9e/full"
          },
          "lin-networks": {
            "$ref": "#/definitions/d240d/full"
          },
          "can-replay-blocks": {
            "$ref": "#/definitions/23778/full"
          },
          "ethernet-replay-blocks": {
            "$ref": "#/definitions/9b94b/full"
          },
          "scenarios": {
            "$ref": "#/definitions/bf151/full"
          }
        }
      }
    },
    "91f16": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/29b8a/full"
          },
          "global-settings": {
            "$ref": "#/definitions/f5db4/full"
          },
          "includes": {
            "$ref": "#/definitions/85495/full"
          },
          "variables": {
            "$ref": "#/definitions/f9fcb/full"
          },
          "application-models": {
            "$ref": "#/definitions/90d4b/full"
          },
          "datasources": {
            "$ref": "#/definitions/015cb/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/f276a/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/37df6/full"
          },
          "fdx": {
            "$ref": "#/definitions/e4b54/full"
          },
          "defines": {
            "$ref": "#/definitions/405a8/full"
          },
          "system-variables": {
            "$ref": "#/definitions/3eaba/full"
          },
          "xcp-configuration-files": {
            "$ref": "#/definitions/05c88/full"
          },
          "logging": {
            "$ref": "#/definitions/e94dc/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/8ab30/full"
          },
          "databases": {
            "$ref": "#/definitions/13e53/full"
          },
          "can-networks": {
            "$ref": "#/definitions/828be/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/9dce0/full"
          },
          "ethernet-networks": {
            "$ref": "#/definitions/bf025/full"
          },
          "can-replay-blocks": {
            "$ref": "#/definitions/55701/full"
          },
          "ethernet-replay-blocks": {
            "$ref": "#/definitions/a5fab/full"
          },
          "scenarios": {
            "$ref": "#/definitions/d1a67/full"
          }
        }
      }
    },
    "ed3cd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/dad40/full"
          },
          "global-settings": {
            "$ref": "#/definitions/f5db4/full"
          },
          "includes": {
            "$ref": "#/definitions/85495/full"
          },
          "variables": {
            "$ref": "#/definitions/f9fcb/full"
          },
          "application-models": {
            "$ref": "#/definitions/90d4b/full"
          },
          "datasources": {
            "$ref": "#/definitions/015cb/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/f276a/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/37df6/full"
          },
          "defines": {
            "$ref": "#/definitions/405a8/full"
          },
          "system-variables": {
            "$ref": "#/definitions/3eaba/full"
          },
          "xcp-configuration-files": {
            "$ref": "#/definitions/05c88/full"
          },
          "logging": {
            "$ref": "#/definitions/e94dc/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/8ab30/full"
          },
          "databases": {
            "$ref": "#/definitions/13e53/full"
          },
          "can-networks": {
            "$ref": "#/definitions/828be/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/9dce0/full"
          },
          "ethernet-networks": {
            "$ref": "#/definitions/bf025/full"
          },
          "can-replay-blocks": {
            "$ref": "#/definitions/55701/full"
          },
          "ethernet-replay-blocks": {
            "$ref": "#/definitions/a5fab/full"
          },
          "scenarios": {
            "$ref": "#/definitions/d1a67/full"
          }
        }
      }
    },
    "b4889": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/0e921/full"
          },
          "includes": {
            "$ref": "#/definitions/6c391/full"
          },
          "variables": {
            "$ref": "#/definitions/f9fcb/full"
          },
          "application-models": {
            "$ref": "#/definitions/497d3/full"
          },
          "datasources": {
            "$ref": "#/definitions/015cb/full"
          },
          "defines": {
            "$ref": "#/definitions/16f14/full"
          },
          "system-variables": {
            "$ref": "#/definitions/3eaba/full"
          },
          "simulation-nodes": {
            "$ref": "#/definitions/c706a/full"
          },
          "databases": {
            "$ref": "#/definitions/13e53/full"
          },
          "can-networks": {
            "$ref": "#/definitions/79d04/full"
          },
          "canfd-networks": {
            "$ref": "#/definitions/252f0/full"
          },
          "scenarios": {
            "$ref": "#/definitions/79a89/full"
          }
        }
      }
    },
    "a2b96": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.2.0",
        "type": "string",
        "examples": ["2.2.0"]
      }
    },
    "8bf53": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Models",
        "description": "List of application models representing some program. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/faf17/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my/file.can",
              "defines": ["mydefine1", "mydefine=2"]
            }
          ]
        ]
      }
    },
    "844f0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD Networks",
        "description": "List of CANFD networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/ba2d9/full"
        },
        "examples": [
          [
            {
              "name": "my_canfd_network"
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "database": "DB_1",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "database": "DB_1",
              "mode": "iso",
              "arbitration-baudrate": 500000,
              "data-baudrate": 1000000,
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "17e74": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of CAN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/84972/full"
        },
        "examples": [
          [
            {
              "name": "my_can_network"
            }
          ],
          [
            {
              "name": "my_can_network",
              "database": "DB_1",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "my_can_network",
              "database": "DB_1",
              "baudrate": 500000,
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "f4a62": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Replay Blocks",
        "description": "List of CAN replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/cacc0/full"
        },
        "examples": [
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ],
          [
            {
              "name": "ReplayBlock",
              "file-path": "MyLoggingFile.blf",
              "replay-on-measurement-start": true,
              "send-system-variables": false,
              "send-tx-messages": true,
              "send-rx-messages": false,
              "start-timing-condition": {
                "condition": "immediately"
              },
              "channel-mapping": {
                "default-mapping": "as-in-original"
              }
            }
          ]
        ]
      }
    },
    "62d94": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Databases",
        "description": "List of databases. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/5d2a8/full"
        },
        "examples": [
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            }
          ],
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.arxml",
              "network-name": "network_in_db"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "6d767": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Datasources",
        "description": "The definition of datasources used by application models. Input files can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "input-files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "when": {
                  "$ref": "#/definitions/5e277/full"
                },
                "file-path": {
                  "$ref": "#/definitions/535fe/full"
                },
                "defines": {
                  "$ref": "#/definitions/dbb1c/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl"
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": [
                  "path/to/my.vcodm",
                  "${path_in_variable}",
                  "path/${name_in_variable}"
                ]
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl",
                "defines": ["A", "B=42"],
                "when": "SCENARIO_NAME == \"my_scenario_name\""
              }
            ]
          }
        ]
      }
    },
    "e8c0c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Defines",
        "description": "List of defines to be passed to capl / vcdl. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/60f6d/full"
        },
        "examples": [
          [
            {
              "define": "mydefine1"
            }
          ],
          [
            {
              "define": ["mydefine1", "mydefine2"]
            },
            {
              "define": ["mydefine1", "mydefine2"],
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "define": [
                "mydefine_with_value=42",
                "${var_with_define_name}=${var_with_define_value}"
              ]
            }
          ]
        ]
      }
    },
    "6d907": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of Ethernet networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/cf195/full"
        },
        "examples": [
          [
            {
              "name": "my_eth_network"
            }
          ],
          [
            {
              "name": "my_eth_network",
              "database": "DB",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "my_eth_network",
              "database": "DB",
              "mapping": "internal-simulator",
              "tcp-ip-stack-adapter": {
                "mtu": 1500,
                "ipv4-settings": {
                  "address-configuration": "static",
                  "addresses": [
                    {
                      "address": "192.168.0.1",
                      "subnet-mask": "255.255.0.0"
                    }
                  ]
                },
                "ipv6-settings": {
                  "address-configuration": "dhcp"
                },
                "vlans": [
                  {
                    "id": 42,
                    "priority": 0
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "0d2f3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet Replay Blocks",
        "description": "List of ethernet replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/7ff67/full"
        },
        "examples": [
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_ethernet_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ],
          [
            {
              "name": "ReplayBlock",
              "file-path": "MyLoggingFile.blf",
              "replay-on-measurement-start": true,
              "send-system-variables": false,
              "start-timing-condition": {
                "condition": "immediately"
              },
              "channel-mapping": {
                "default-mapping": "as-in-original"
              }
            }
          ]
        ]
      }
    },
    "0d894": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FDX",
        "description": "FDX settings. Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "required": ["transport-layer", "port"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "transport-layer": {
            "description": "Protocol to be used as transport layer for the FDX protocol",
            "default": "udp/ipv4",
            "oneOf": [
              {
                "type": "string",
                "enum": ["udp/ipv4", "udp/ipv6", "tcp/ipv4", "tcp/ipv6"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "port": {
            "description": "UDP or TCP port to be used for the FDX protocol",
            "default": 2809,
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 65535
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "description-files": {
            "description": "List of XML files that describe which signals or variables are to be exchanged and the manner in which this is to occur (e.g., with regard to grouping). Each entry can be deactivated with when.",
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "when": {
                  "$ref": "#/definitions/5e277/full"
                },
                "file-path": {
                  "$ref": "#/definitions/a23f7/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "transport-layer": "udp/ipv4",
            "port": 2809
          },
          {
            "transport-layer": "tcp/ipv4",
            "port": 1859,
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "transport-layer": "tcp/ipv6",
            "port": 5555,
            "description-files": [
              {
                "file-path": "path/to/first.xml"
              },
              {
                "file-path": "path/to/second.xml"
              }
            ]
          }
        ]
      }
    },
    "efabb": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay Clusters",
        "description": "List of FlexRay clusters. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/b0301/full"
        },
        "examples": [
          [
            {
              "name": "my_flexray_cluster",
              "database": "DB_1",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "my_flexray_cluster",
              "database": "DB_1",
              "key-slot-configuration": {
                "slot-1": {
                  "mode": "manual",
                  "usage": "startup",
                  "mask": "A",
                  "slot": 1,
                  "leading-cold-start": true
                },
                "slot-2": {
                  "mode": "automatic"
                }
              },
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "8f64c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay Replay Blocks",
        "description": "List of FlexRay replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/40d65/full"
        },
        "examples": [
          [
            {
              "name": "my_flexray_replay_block",
              "file-path": "my_logging_file.blf",
              "network": "frCluster"
            }
          ],
          [
            {
              "name": "my_flexray_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\"",
              "network": "frCluster"
            },
            {
              "name": "my_flexray_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\"",
              "network": "frCluster"
            }
          ]
        ]
      }
    },
    "0edfe": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup units",
        "description": "List of functional mockup units. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/048e3/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": true,
              "when": "SCENARIO_NAME == \"MyScenario\"",
              "inactive-model-variables": ["Variable3"]
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "active-model-variables": ["Variable1", "Variable2"]
            }
          ]
        ]
      }
    },
    "896d0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ethernet": {
            "$ref": "#/definitions/7c80e/full"
          },
          "flexray": {
            "$ref": "#/definitions/fa0cd/full"
          },
          "database": {
            "$ref": "#/definitions/fbf90/full"
          },
          "database-dotnet-namespace-generation": {
            "description": "User defined settings for namespace generation in the .Net typelib. Default complies with the setting \"Automatic Qualification\". With this setting the namespaces for signals are automatically generated so that each class is unique. For each frame a class is generated in the namespace \"NetworkDB.Frames\".",
            "type": "array",
            "minItems": 1,
            "items": {
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "use-network",
                    "use-database",
                    "use-frame",
                    "use-node"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            },
            "examples": [
              ["use-network", "use-database", "use-frame", "use-node"]
            ]
          },
          "time-scaling-factor": {
            "description": "If a number is provided, the measurement is slowed-down by this factor. For scaling factors between zero and one, the simulation is accelerated accordingly. For example, if you enter the value 0.1 the measurement is accelerated by a factor of 10. \n\"as-fast-as-possible\": Run the simulation as fast as possible. The simulation speed is not constant and depends on the performance of the computer and the load that is provoked by the simulation. The property \"time-scaling-factor\" is mandatory if \"time-source\" is set to \"internal-scaled\" and is forbidden otherwise.",
            "oneOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1e37
              },
              {
                "const": "as-fast-as-possible"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "as-fast-as-possible",
            "examples": [0.5, 1, 100, "as-fast-as-possible"]
          },
          "time-source": {
            "description": "Time source for the simulation. Operate without hardware and simulate all buses completely. \n\"internal-realtime\": The time response of the measurement (time basis) is controlled internally. \n\"internal-scaled\": The simulation speed is provided through the property \"time-scaling-factor\". \n\"external-software\": The time response of the measurement (time basis) is controlled by an external program. The property \"time-scaling-factor\" is mandatory if \"time-source\" is set to \"internal-scaled\" and is forbidden otherwise.",
            "default": "internal-realtime",
            "oneOf": [
              {
                "enum": [
                  "internal-realtime",
                  "internal-scaled",
                  "external-software"
                ]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [
              "internal-realtime",
              "internal-scaled",
              "external-software"
            ]
          },
          "default-network-mapping": {
            "description": "Define the default network mapping. This value can be overwritten on network level. The available options depend on the time-source. \n\"internal-realtime\" and \"external-software\"\" are supporting \"internal-simulator\" and \"external-sil-kit\".\n\"internal-scaled\" only supports \"internal-simulator\".",
            "$ref": "#/definitions/85c8a/full"
          }
        },
        "allOf": [
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "const": "internal-scaled"
                }
              }
            },
            "then": {
              "required": ["default-network-mapping"],
              "properties": {
                "time-scaling-factor": true,
                "default-network-mapping": {
                  "const": "internal-simulator"
                }
              }
            }
          },
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "enum": ["internal-realtime", "external-software"]
                }
              }
            },
            "then": {
              "required": ["default-network-mapping"],
              "properties": {
                "time-scaling-factor": false,
                "default-network-mapping": {
                  "oneOf": [
                    {
                      "const": "internal-simulator"
                    },
                    {
                      "const": "external-sil-kit"
                    }
                  ]
                }
              }
            }
          }
        ],
        "examples": [
          {
            "ethernet": {
              "access-mode": "channel-based",
              "signal-updates": "always",
              "tcp-ip-stack": {
                "selected-stack": "canoe",
                "activate-routing": true,
                "tcp-delayed-ack": true,
                "ipv4-gateway": "192.168.0.33",
                "ipv6-gateway": "::1"
              }
            }
          },
          {
            "flexray": {
              "enable-dual-channel-support": false,
              "postfixes-for-ambiguous-pdus-on-channel": "no-postfixes"
            }
          },
          {
            "database": {
              "autosar-pdu-layer": "no-pdus",
              "autosar-text-table-entries": "short-label",
              "some-ip-pdus-without-service-context": "generate-service"
            }
          },
          {
            "time-source": "internal-realtime",
            "default-network-mapping": "internal-simulator"
          },
          {
            "time-source": "external-software",
            "default-network-mapping": "external-sil-kit"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": "as-fast-as-possible",
            "default-network-mapping": "internal-simulator"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 0.01,
            "default-network-mapping": "internal-simulator"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 1,
            "default-network-mapping": "internal-simulator"
          },
          {
            "database-dotnet-namespace-generation": [
              "use-network",
              "${someVariable}"
            ]
          }
        ]
      }
    },
    "85495": {
      "local": {
        "one": {
          "type": "string",
          "pattern": "\\.([Yy][Aa]?[Mm][Ll]|[Jj][Ss][Oo][Nn])$"
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Include files",
        "description": "Include a different file (similar to #include of the c preprocessor). The order of includes does not matter. Circular / multiple includes are resolved correctly.",
        "oneOf": [
          {
            "$ref": "#/definitions/85495/local/one"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/85495/local/one"
            }
          }
        ],
        "examples": [
          "my_include.yaml",
          ["my_include.yml", "my_other_include.json"]
        ]
      }
    },
    "b1caa": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN Networks",
        "description": "List of LIN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/b5d87/full"
        },
        "examples": [
          [
            {
              "name": "my_lin_network"
            }
          ],
          [
            {
              "name": "my_lin_network",
              "database": "DB_1",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "my_lin_network",
              "database": "DB_1",
              "application-channel": 42,
              "mapping": "internal-simulator",
              "mode": "responder"
            }
          ]
        ]
      }
    },
    "ac708": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN Replay Blocks",
        "description": "List of LIN replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/b509f/full"
        },
        "examples": [
          [
            {
              "name": "my_lin_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_lin_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_lin_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ],
          [
            {
              "name": "ReplayBlock",
              "file-path": "MyLoggingFile.blf",
              "replay-on-measurement-start": true,
              "send-system-variables": false,
              "start-timing-condition": {
                "condition": "immediately"
              },
              "channel-mapping": {
                "default-mapping": "as-in-original"
              },
              "replay-mode": "master-responses-only",
              "send-events": ["tx-responses", "rx-responses", "wakeup-signals"]
            }
          ]
        ]
      }
    },
    "4fa6d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the logging for the environment.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/bcf87/full"
          },
          "logging-events": {
            "type": "array",
            "description": "List of event types to be logged.",
            "default": [
              "application-layer",
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "application-layer",
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/97baf/full"
          }
        },
        "examples": [
          {
            "file-name": "file-name.blf",
            "logging-events": [
              "bus",
              "diagnostic",
              "internal",
              "${someVariable}"
            ],
            "advanced": {
              "warn-overwritten-log-file": true,
              "show-error-on-data-loss": false
            }
          }
        ]
      }
    },
    "aad77": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Programming Modules",
        "description": "Lists of programming modules to be used by the simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/bd659/full"
        },
        "examples": [
          [
            {
              "capl-library-path": "path/to/my.vmodule"
            }
          ],
          [
            {
              "c-library-path": "${path_in_variable}"
            },
            {
              "c-library-path": "path/${name_in_variable}"
            }
          ],
          [
            {
              "capl-library-path": "path/to/my.vmodule",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "capl-library-path": "path/to/my2.vmodule",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            },
            {
              "c-library-path": "path/to/my.vmodule",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "23009": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenarios",
        "description": "List of scenarios with the option to define or override variables and defines.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/316e0/full"
        },
        "examples": [
          [
            {
              "name": "my_scenario_name"
            }
          ],
          [
            {
              "name": "my_scenario_name"
            },
            {
              "name": "override_variables",
              "variables": [
                {
                  "name": "three",
                  "value": 3
                }
              ]
            },
            {
              "name": "override_defines",
              "defines": ["mydefine", "mydevine_with_value=42"]
            }
          ]
        ]
      }
    },
    "49dc4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Security",
        "description": "Security settings",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "network-profile-assignments": {
            "$ref": "#/definitions/0b81c/full"
          },
          "stack-profile-assignments": {
            "$ref": "#/definitions/3200b/full"
          },
          "operating-system-stack-profile-id": {
            "description": "The ID of the assigned security profile to the OS ethernet stack.",
            "$ref": "#/definitions/adad4/full"
          },
          "shared-canoe-stack-profile-id": {
            "description": "The ID of the assigned security profile to the shared CANoe ethernet stack.",
            "$ref": "#/definitions/adad4/full"
          }
        },
        "examples": [
          {
            "network-profile-assignments": [
              {
                "network": "CAN",
                "profile-id": 123456
              }
            ]
          },
          {
            "stack-profile-assignments": [
              {
                "simulation-node": "MyNode",
                "profile-id": 123456
              },
              {
                "simulation-node": "AnotherNode",
                "profile-id": 987654
              }
            ],
            "operating-system-stack-profile-id": 24680,
            "shared-canoe-stack-profile-id": 13579
          }
        ]
      }
    },
    "761e4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "SIL Kit",
        "description": "SIL Kit settings. Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "required": ["participant-name"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "registry-uri": {
            "description": "The URI of the registry.",
            "type": "string",
            "anyOf": [
              {
                "pattern": "^[^:]+://[^:/]+(:[0-9]+)?(/[^?#/]+)*(\\?([^=#&]+=[^=#&]+)(&([^=#&]+=[^=#&]+))*)?(#.+)?",
                "default": "silkit://localhost:8500"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["silkit://localhost:8500"]
          },
          "participant-name": {
            "description": "Name used by the simulation tool to join a simulation as a participant at the start of a measurement.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["CANoe4SW-SE"]
          },
          "config-file-path": {
            "$ref": "#/definitions/45cf9/full"
          },
          "simulation-step-in-micro-sec": {
            "description": "Time length of a single simulation step. Valid only for the time-source \"external-software\".",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775,
                "default": 100
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "life-cycle-event-timeout-in-sec": {
            "description": "Maximum waiting time for the other simulation participants. Valid only for the time-source \"external-software\".",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036,
                "default": 30
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "participant-name": "CANoe4SW-SE"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150,
            "life-cycle-event-timeout-in-sec": 30
          }
        ]
      }
    },
    "c0dc1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Nodes",
        "description": "A list of simulation nodes used in a simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/56a0f/full"
        },
        "examples": [
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ]
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "file-path": "path/to/my_capl_script.can",
              "when": "SCENARIO_NAME == \"my_scenario_name1\""
            },
            {
              "name": "programming_node",
              "file-path": "path/to/my_dotnet.cs",
              "database-node": false,
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "defines": ["mydefine1", "mydefine2"],
              "modeling-libraries": ["modeling/lib/1.vmodule", "${path_in_var}"]
            }
          ]
        ]
      }
    },
    "f2cb9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System Variables",
        "description": "A list of system variables to be used by the simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/d5013/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.vsysvar"
            }
          ],
          [
            {
              "file-path": "path/to/my.vsysvar",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my.vsysvar"
            }
          ]
        ]
      }
    },
    "d60a5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User Files",
        "description": "List of user files. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/38e8e/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.txt"
            }
          ],
          [
            {
              "file-path": "path/to/my.txt",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my_file.txt"
            }
          ]
        ]
      }
    },
    "5d046": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variables",
        "description": "List of variables to be used in this configuration file.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/daa86/full"
        },
        "examples": [
          [
            {
              "name": "var",
              "value": -42
            }
          ],
          [
            {
              "name": "my_string",
              "value": "implicit-type"
            },
            {
              "name": "var",
              "value": 422200000000.0,
              "type": "float"
            },
            {
              "name": "path_var",
              "value": "path/to/somewhere",
              "type": "path"
            },
            {
              "name": "uint_enum",
              "value": 43,
              "type": "uint",
              "options": [1, 43, 127]
            }
          ]
        ]
      }
    },
    "a665e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "List of XCP configuration files (entries can be deactivated with when)",
        "type": "array",
        "items": {
          "$ref": "#/definitions/5b3ba/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.xcpcfg"
            }
          ],
          [
            {
              "file-path": "path/to/my.xcpcfg",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my.xcp.yaml"
            }
          ]
        ]
      }
    },
    "716b3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.1.0",
        "type": "string",
        "examples": ["2.1.0"]
      }
    },
    "bf151": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenarios",
        "description": "List of scenarios with the option to define / override variables or defines.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/9b42a/full"
        },
        "examples": [
          [
            {
              "name": "my_scenario_name"
            }
          ],
          [
            {
              "name": "my_scenario_name"
            },
            {
              "name": "override_variables",
              "variables": [
                {
                  "name": "three",
                  "value": 3
                }
              ]
            },
            {
              "name": "override_defines",
              "defines": ["mydefine", "mydevine_with_value=42"]
            }
          ]
        ]
      }
    },
    "57928": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variables",
        "description": "List of variables to be used in this configuration file.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/ce2b5/full"
        },
        "examples": [
          [
            {
              "name": "var",
              "value": -42
            }
          ],
          [
            {
              "name": "my_string",
              "value": "implicit-type"
            },
            {
              "name": "var",
              "value": 422200000000.0,
              "type": "float"
            },
            {
              "name": "path_var",
              "value": "path/to/somewhere",
              "type": "path"
            },
            {
              "name": "uint_enum",
              "value": 43,
              "type": "uint",
              "options": [1, 43, 127]
            }
          ]
        ]
      }
    },
    "405a8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Defines",
        "description": "List of defines to be passed to capl / vcdl. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/9d23c/full"
        },
        "examples": [
          [
            {
              "define": "mydefine1"
            }
          ],
          [
            {
              "define": ["mydefine1", "mydefine2"]
            },
            {
              "define": ["mydefine1", "mydefine2"],
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "define": [
                "mydefine_with_value=42",
                "${var_with_define_name}=${var_with_define_value}"
              ]
            }
          ]
        ]
      }
    },
    "0fa26": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ethernet": {
            "$ref": "#/definitions/cdf60/full"
          },
          "flexray": {
            "$ref": "#/definitions/70a7b/full"
          },
          "database": {
            "$ref": "#/definitions/3dd98/full"
          },
          "database-dotnet-namespace-generation": {
            "description": "User defined settings for namespace generation in the .Net typelib. Default complies with the setting \"Automatic Qualification\". With this setting the namespaces for signals are automatically generated so that each class is unique. For each frame a class is generated in the namespace \"NetworkDB.Frames\".",
            "type": "array",
            "minItems": 1,
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "use-network",
                    "use-database",
                    "use-frame",
                    "use-node"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            },
            "examples": [
              ["use-network", "use-database", "use-frame", "use-node"]
            ]
          },
          "time-scaling-factor": {
            "description": "'number': The measurement is slowed-down by this factor. For scaling factors between zero and one, the simulation is accelerated accordingly. For example, if you enter the value 0.1 the measurement is accelerated by a factor of 10. \n'as-fast-as-possible': Run the simulation as fast as possible. The simulation speed is not constant and depends on the performance of the computer and the load that is provoked by simulation.",
            "oneOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1e37
              },
              {
                "const": "as-fast-as-possible"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "as-fast-as-possible"
          },
          "time-source": {
            "description": "Time source for the simulation. Operate without hardware and simulate all buses completely. \n'internal-realtime': The time response of the measurement (time basis) is controlled internally. \n'external-software': The time response of the measurement (time basis) is controlled by an external program. \n'internal-scaled': The simulation speed is provided through the property time-scaling-factor.",
            "default": "internal-realtime",
            "anyOf": [
              {
                "enum": [
                  "internal-realtime",
                  "external-software",
                  "internal-scaled"
                ]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [
              "internal-realtime",
              "internal-scaled",
              "external-software"
            ]
          }
        },
        "allOf": [
          {
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "const": "internal-scaled"
                }
              }
            },
            "then": {
              "required": ["time-scaling-factor"],
              "properties": {
                "time-scaling-factor": true
              }
            }
          },
          {
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "anyOf": [
                    {
                      "const": "internal-realtime"
                    },
                    {
                      "const": "external-software"
                    }
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "time-scaling-factor": false
              }
            }
          }
        ],
        "examples": [
          {
            "ethernet": {
              "access-mode": "network-based"
            }
          },
          {
            "ethernet": {
              "access-mode": "channel-based",
              "signal-updates": "always"
            }
          },
          {
            "time-source": "internal-realtime"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": "as-fast-as-possible"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 0.01
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 0.5
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 1
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 6
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 10
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 500
          },
          {
            "database-dotnet-namespace-generation": [
              "use-network",
              "${someVariable}"
            ]
          }
        ]
      }
    },
    "3eaba": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System Variables",
        "description": "A lists of system variables to be used by the simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/21f87/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.vsysvar"
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my.vsysvar",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "7f50f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Databases",
        "description": "List of databases. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/8d374/full"
        },
        "examples": [
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            }
          ],
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.arxml",
              "network-name": "network_in_db"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "63c85": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of CAN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/ce8a4/full"
        },
        "examples": [
          [
            {
              "name": "my_can_network"
            }
          ],
          [
            {
              "name": "my_can_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_network",
              "database": "DB_1",
              "application-channel": 42,
              "baudrate": 500000,
              "mapping": "internal-simulator",
              "when": "SCENARIO_NAME == \"another_scenario\""
            }
          ]
        ]
      }
    },
    "5bc6c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD Networks",
        "description": "List of CANFD networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/f1384/full"
        },
        "examples": [
          [
            {
              "name": "my_canfd_network"
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_canfd_network",
              "database": "DB_1",
              "application-channel": 42,
              "mode": "iso",
              "arbitration-baudrate": 500000,
              "data-baudrate": 1000000,
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "db003": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of Ethernet networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/f146b/full"
        },
        "examples": [
          [
            {
              "name": "my_eth_network"
            }
          ],
          [
            {
              "name": "my_eth_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_eth_network",
              "database": "DB",
              "application-channel": 12,
              "tcp-ip-stack-adapter": {
                "mac-address": "02:84:cf:3b:be:01"
              },
              "mapping": "external-sil-kit"
            },
            {
              "name": "my_eth_network",
              "database": "DB",
              "application-channel": 12,
              "mapping": "internal-simulator",
              "tcp-ip-stack-adapter": {
                "mtu": 1500,
                "ipv4-settings": {
                  "address-configuration": "static",
                  "addresses": [
                    {
                      "address": "192.168.0.1",
                      "subnet-mask": "255.255.0.0"
                    }
                  ]
                },
                "ipv6-settings": {
                  "address-configuration": "dhcp"
                },
                "vlans": [
                  {
                    "id": 42,
                    "priority": 0
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "c139b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay Clusters",
        "description": "List of FlexRay clusters. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/e2323/full"
        }
      }
    },
    "962c1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN Networks",
        "description": "List of LIN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/3a966/full"
        }
      }
    },
    "64979": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Nodes",
        "description": "A list of simulation nodes used in a simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/a6ab3/full"
        },
        "examples": [
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ]
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "file-path": "path/to/my_capl_script.can",
              "when": "SCENARIO_NAME == \"my_scenario_name1\""
            },
            {
              "name": "mynode",
              "file-path": "path/to/my_dotnet.cs",
              "database-node": true,
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "defines": ["mydefine1", "mydefine2"],
              "modeling-libraries": [
                "modeling/lib/1.vmodule",
                "${path_in_var}"
              ],
              "when": "SCENARIO_NAME == \"my_scenario_name2\""
            }
          ]
        ]
      }
    },
    "5cec7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Datasources",
        "description": "The definition of datasources used by application models. Input files can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "input-files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "when": {
                  "$ref": "#/definitions/09e40/full"
                },
                "file-path": {
                  "$ref": "#/definitions/b88a6/full"
                },
                "defines": {
                  "$ref": "#/definitions/f52d1/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl"
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": [
                  "path/to/my.vcodm",
                  "${path_in_variable}",
                  "path/${name_in_variable}"
                ]
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl",
                "defines": ["A", "B=42"],
                "when": "SCENARIO_NAME == \"my_scenario_name\""
              }
            ]
          }
        ]
      }
    },
    "6939d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Models",
        "description": "List of application models representing some program. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/4b905/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my/file.can",
              "defines": ["mydefine1", "mydefine=2"]
            }
          ]
        ]
      }
    },
    "be294": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Programming Modules",
        "description": "Lists of programming modules to be used by the simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/c3b11/full"
        },
        "examples": [
          [
            {
              "capl-library-path": "path/to/my.vmodule"
            }
          ],
          [
            {
              "c-library-path": [
                "${path_in_variable}",
                "path/${name_in_variable}"
              ]
            }
          ],
          [
            {
              "capl-library-path": "path/to/my.vmodule",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "c-library-path": "path/to/my.vmodule",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "22ddc": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User Files",
        "description": "List of user files. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/4aae7/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.txt"
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my_file.txt",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "bdaa7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "List of XCP configuration files (entries can be deactivated with when)",
        "type": "array",
        "items": {
          "$ref": "#/definitions/375dd/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.xcpcfg"
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my.yaml",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "e4b54": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FDX",
        "description": "FDX settings. Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "required": ["transport-layer", "port"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "transport-layer": {
            "description": "Protocol to be used as transport layer for the FDX protocol",
            "default": "udp/ipv4",
            "anyOf": [
              {
                "type": "string",
                "enum": ["udp/ipv4", "udp/ipv6", "tcp/ipv4", "tcp/ipv6"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "port": {
            "description": "Number of the UDP or TCP port to be used for the FDX protocol",
            "default": 2809,
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 65535
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "description-files": {
            "description": "List of XML files that describe which signals or variables are to be exchanged and the manner in which this is to occur (e.g., with regard to grouping). Each entry can be deactivated with when.",
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "when": {
                  "$ref": "#/definitions/09e40/full"
                },
                "file-path": {
                  "$ref": "#/definitions/42d39/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "transport-layer": "udp/ipv4",
            "port": 2809
          },
          {
            "transport-layer": "tcp/ipv6",
            "port": 5555,
            "description-files": [
              {
                "file-path": "path/to/first.xml"
              },
              {
                "file-path": "path/to/second.xml"
              }
            ]
          }
        ]
      }
    },
    "bbc08": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup units",
        "description": "List of functional mockup units. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/dfa5a/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": true
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "active-model-variables": ["Variable1", "Variable2"]
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "inactive-model-variables": ["Variable3"]
            }
          ]
        ]
      }
    },
    "8984d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "SIL Kit",
        "description": "SIL Kit settings. Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "required": ["participant-name"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "registry-uri": {
            "description": "The URI of the registry.",
            "type": "string",
            "anyOf": [
              {
                "pattern": "^[^:]+://[^:/]+(:[0-9]+)?(/[^?#/]+)*(\\?([^=#&]+=[^=#&]+)(&([^=#&]+=[^=#&]+))*)?(#.+)?",
                "default": "silkit://localhost:8500"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["silkit://localhost:8500"]
          },
          "participant-name": {
            "description": "Name used by the simulation tool to join a simulation as a participant at the start of a measurement.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["CANoe4SW-SE"]
          },
          "config-file-path": {
            "$ref": "#/definitions/c9f2a/full"
          },
          "simulation-step-in-micro-sec": {
            "description": "Time length of a single simulation step. Valid only for the time-source \"external-software\".",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775,
                "default": 100
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "life-cycle-event-timeout-in-sec": {
            "description": "Maximum waiting time for the other simulation participants. Valid only for the time-source \"external-software\".",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036,
                "default": 30
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "participant-name": "CANoe4SW-SE"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150,
            "life-cycle-event-timeout-in-sec": 30
          }
        ]
      }
    },
    "d9f28": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the logging for the environment.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/799e1/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "application-layer",
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "application-layer",
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/a53a3/full"
          }
        },
        "examples": [
          {
            "file-name": "file-name.blf",
            "logging-events": [
              "bus",
              "diagnostic",
              "internal",
              "${someVariable}"
            ]
          },
          {
            "file-name": "file-name.blf",
            "logging-events": ["application-layer", "system-variable"],
            "advanced": {
              "warn-overwritten-log-file": true,
              "show-error-on-data-loss": false
            }
          }
        ]
      }
    },
    "23778": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Replay Blocks",
        "description": "List of CAN replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/1934a/full"
        },
        "examples": [
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ]
        ]
      }
    },
    "9b94b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet Replay Blocks",
        "description": "List of ethernet replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/5f17a/full"
        },
        "examples": [
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_ethernet_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ]
        ]
      }
    },
    "67ea2": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN Replay Blocks",
        "description": "List of LIN replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/aebb7/full"
        },
        "examples": [
          [
            {
              "name": "my_lin_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_lin_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_lin_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ]
        ]
      }
    },
    "cb919": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.0.0",
        "type": "string",
        "examples": ["2.0.0"]
      }
    },
    "b3abd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ethernet": {
            "$ref": "#/definitions/cdf60/full"
          },
          "database": {
            "$ref": "#/definitions/c18ab/full"
          },
          "database-dotnet-namespace-generation": {
            "description": "User defined settings for namespace generation in the .Net typelib. Default complies with the setting \"Automatic Qualification\"",
            "type": "array",
            "minItems": 1,
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "use-network",
                    "use-database",
                    "use-frame",
                    "use-node"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            },
            "examples": [
              ["use-network", "use-database", "use-frame", "use-node"]
            ]
          },
          "time-scaling-factor": true,
          "time-source": {
            "description": "Time source for the simulation. Operate without hardware and simulate all buses completely. \n'internal-realtime': The time response of the measurement (time basis) is controlled internally. \n'external-software': The time response of the measurement (time basis) is controlled by an external program. \n'internal-scaled': The simulation speed is provided through the property time-scaling-factor.",
            "default": "internal-realtime",
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "internal-realtime",
                  "external-software",
                  "internal-scaled"
                ]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [
              "internal-realtime",
              "internal-scaled",
              "external-software"
            ]
          }
        },
        "allOf": [
          {
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "const": "internal-scaled"
                }
              }
            },
            "then": {
              "properties": {
                "time-scaling-factor": {
                  "anyOf": [
                    {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1e37,
                      "description": "The measurement is slowed-down by this factor. For scaling factors between zero and one, the simulation is accelerated accordingly. For example, if you enter the value 0.1 the measurement is accelerated by a factor of 10."
                    },
                    {
                      "const": "as-fast-as-possible",
                      "description": "Run the simulation as fast as possible. The simulation speed is not constant and depends on the performance of the computer and the load that is provoked by simulation."
                    },
                    {
                      "$ref": "#/definitions/779cd/full"
                    }
                  ],
                  "default": "as-fast-as-possible",
                  "examples": [
                    "as-fast-as-possible",
                    "0.01",
                    "0.05",
                    "0.1",
                    "0.5",
                    "1",
                    "5",
                    "10",
                    "50",
                    "100",
                    "500"
                  ]
                }
              }
            }
          }
        ],
        "examples": [
          {
            "ethernet": {
              "access-mode": "network-based"
            }
          },
          {
            "ethernet": {
              "access-mode": "channel-based",
              "signal-updates": "always"
            }
          },
          {
            "time-source": "internal-realtime"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 6
          },
          {
            "database-dotnet-namespace-generation": [
              "use-network",
              "${someVariable}"
            ]
          }
        ]
      }
    },
    "8d971": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the logging for the environment.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/799e1/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "application-layer",
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "application-layer",
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/a53a3/full"
          }
        },
        "examples": [
          {
            "file-name": "file-name.blf",
            "logging-events": [
              "bus",
              "diagnostic",
              "internal",
              "${someVariable}"
            ],
            "advanced": {
              "warn-overwritten-log-file": true,
              "show-error-on-data-loss": false
            }
          }
        ]
      }
    },
    "6101e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Nodes",
        "description": "A list of simulation nodes used in a simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/00f15/full"
        },
        "examples": [
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ]
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "file-path": "path/to/my_capl_script.can",
              "when": "SCENARIO_NAME == \"my_scenario_name1\""
            },
            {
              "name": "mynode",
              "file-path": "path/to/my_dotnet.cs",
              "database-node": true,
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "defines": ["mydefine1", "mydefine2"],
              "modeling-libraries": [
                "modeling/lib/1.vmodule",
                "${path_in_var}"
              ],
              "when": "SCENARIO_NAME == \"my_scenario_name2\""
            }
          ]
        ]
      }
    },
    "46542": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of CAN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/fe737/full"
        },
        "examples": [
          [
            {
              "name": "my_can_network"
            }
          ],
          [
            {
              "name": "my_can_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_network",
              "database": "DB_1",
              "application-channel": 42,
              "baudrate": 500000,
              "mapping": "internal-simulator",
              "when": "SCENARIO_NAME == \"another_scenario\""
            }
          ]
        ]
      }
    },
    "fe291": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD Networks",
        "description": "List of CANFD networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/077d5/full"
        },
        "examples": [
          [
            {
              "name": "my_canfd_network"
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_canfd_network",
              "database": "DB_1",
              "application-channel": 42,
              "mode": "iso",
              "arbitration-baudrate": 500000,
              "data-baudrate": 1000000,
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "0fc9e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of Ethernet networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/fb03e/full"
        },
        "examples": [
          [
            {
              "name": "my_eth_network"
            }
          ],
          [
            {
              "name": "my_eth_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_eth_network",
              "database": "DB",
              "application-channel": 12,
              "tcp-ip-stack-adapter": {
                "mac-address": "02:84:cf:3b:be:01"
              },
              "mapping": "external-sil-kit"
            },
            {
              "name": "my_eth_network",
              "database": "DB",
              "application-channel": 12,
              "mapping": "internal-simulator",
              "tcp-ip-stack-adapter": {
                "mtu": 1500,
                "ipv4-settings": {
                  "address-configuration": "static",
                  "addresses": [
                    {
                      "address": "192.168.0.1",
                      "subnet-mask": "255.255.0.0"
                    }
                  ]
                },
                "ipv6-settings": {
                  "address-configuration": "dhcp"
                },
                "vlans": [
                  {
                    "id": 42,
                    "priority": 0
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "d240d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN Networks",
        "description": "List of LIN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/974c5/full"
        }
      }
    },
    "29b8a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "1.1.1",
        "type": "string",
        "examples": ["1.1.1"]
      }
    },
    "f5db4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ethernet-settings": {
            "$ref": "#/definitions/843bf/full"
          },
          "time-scaling-factor": true,
          "time-source": {
            "description": "Time source for the simulation.",
            "default": "internal-realtime",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "const": "internal-realtime",
                "description": "Operate without hardware and simulate all buses completely. The time response of the measurement (time basis) is controlled internally."
              },
              {
                "const": "external-software",
                "description": "Operate without hardware and simulate all buses completely. The time response of the measurement (time basis) is controlled by an external program."
              },
              {
                "const": "internal-scaled",
                "description": "Operate without hardware and simulate all buses completely. The simulation speed is provided through the property time-scaling-factor."
              }
            ],
            "examples": [
              "internal-realtime",
              "internal-scaled",
              "external-software"
            ]
          }
        },
        "allOf": [
          {
            "if": {
              "required": ["time-source"],
              "properties": {
                "time-source": {
                  "const": "internal-scaled"
                }
              }
            },
            "then": {
              "properties": {
                "time-scaling-factor": {
                  "anyOf": [
                    {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1.7976931348623157e308,
                      "description": "The measurement is slowed-down by this factor. For scaling factors between zero and one, the simulation is accelerated accordingly. For example, if you enter the value 0.1 the measurement is accelerated by a factor of 10."
                    },
                    {
                      "const": "as-fast-as-possible",
                      "description": "Run the simulation as fast as possible. The simulation speed is not constant and depends on the performance of the computer and the load that is provoked by simulation."
                    },
                    {
                      "$ref": "#/definitions/779cd/full"
                    }
                  ],
                  "default": "as-fast-as-possible",
                  "examples": [
                    "as-fast-as-possible",
                    "0.01",
                    "0.05",
                    "0.1",
                    "0.5",
                    "1",
                    "5",
                    "10",
                    "50",
                    "100",
                    "500"
                  ]
                }
              }
            }
          }
        ],
        "examples": [
          {
            "ethernet-settings": {
              "access-mode": "network-based"
            }
          },
          {
            "ethernet-settings": {
              "access-mode": "channel-based",
              "signal-updates": "always"
            }
          },
          {
            "time-source": "internal-realtime"
          },
          {
            "time-source": "internal-scaled",
            "time-scaling-factor": 6
          }
        ]
      }
    },
    "f9fcb": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variables",
        "description": "List of variables to be used in this configuration file.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/03ea7/full"
        },
        "examples": [
          [
            {
              "name": "var",
              "value": -42
            }
          ],
          [
            {
              "name": "my_string",
              "value": "implicit-type"
            },
            {
              "name": "var",
              "value": 422200000000.0,
              "type": "float"
            },
            {
              "name": "path_var",
              "value": "path/to/somewhere",
              "type": "path"
            },
            {
              "name": "uint_enum",
              "value": 43,
              "type": "uint",
              "options": [1, 43, 127]
            }
          ]
        ]
      }
    },
    "90d4b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Models",
        "description": "List of application models representing some program. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/8e790/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my/file.can",
              "defines": ["mydefine1", "mydefine=2"]
            }
          ]
        ]
      }
    },
    "015cb": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Datasources",
        "description": "The definition of datasources used by application models. Input files can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "input-files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "when": {
                  "$ref": "#/definitions/09e40/full"
                },
                "file-path": {
                  "$ref": "#/definitions/b88a6/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl"
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": [
                  "path/to/my.vcodm",
                  "${path_in_variable}",
                  "path/${name_in_variable}"
                ]
              }
            ]
          },
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl",
                "when": "SCENARIO_NAME == \"my_scenario_name\""
              }
            ]
          }
        ]
      }
    },
    "f276a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup units",
        "description": "List of functional mockup units. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/37850/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": true
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "active-model-variables": ["Variable1", "Variable2"]
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "inactive-model-variables": ["Variable3"]
            }
          ]
        ]
      }
    },
    "37df6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "SIL Kit",
        "description": "SIL Kit settings. Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "required": ["participant-name"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "registry-uri": {
            "description": "registry URI",
            "type": "string",
            "anyOf": [
              {
                "pattern": "^[^:]+://[^:/]+(:[0-9]+)?(/[^?#/]+)*(\\?([^=#&]+=[^=#&]+)(&([^=#&]+=[^=#&]+))*)?(#.+)?"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["silkit://localhost:8500"]
          },
          "participant-name": {
            "description": "Name used by CANoe4SW to join a simulation as a participant at the start of a measurement.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["CANoe4SW"]
          },
          "config-file-path": {
            "$ref": "#/definitions/c9f2a/full"
          },
          "simulation-step-in-micro-sec": {
            "description": "Time length of a single simulation step. Valid only for the time-source \"external-software\". Default: 100 us.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 100
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "life-cycle-event-timeout-in-sec": {
            "description": "Maximum waiting time for the other simulation participants. Valid only for the time-source \"external-software\". Default: 30s.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 30
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW",
            "config-file-path": "path/to/config-file.json"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150,
            "life-cycle-event-timeout-in-sec": 30
          }
        ]
      }
    },
    "05c88": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "List of XCP configuration files (entries can be deactivated with when)",
        "type": "array",
        "items": {
          "$ref": "#/definitions/31be0/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.xcpcfg"
            }
          ],
          [
            {
              "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
            },
            {
              "file-path": "path/to/my.xcpcfg",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "e94dc": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the standalone logging block.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/799e1/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/c55d3/full"
          }
        },
        "examples": [
          {
            "file-name": "file-name.blf",
            "logging-events": [
              "bus",
              "diagnostic",
              "internal",
              "${someVariable}"
            ],
            "advanced": {
              "warn-overwritten-log-file": true,
              "show-error-on-data-loss": false
            }
          }
        ]
      }
    },
    "8ab30": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Nodes",
        "description": "A list of simulation nodes used in a simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/796db/full"
        },
        "examples": [
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ]
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "file-path": "path/to/my_capl_script.can",
              "when": "SCENARIO_NAME == \"my_scenario_name1\""
            },
            {
              "name": "mynode",
              "file-path": "path/to/my_dotnet.cs",
              "network-assignments": [
                {
                  "network": "my_can_network_1",
                  "database-node": {
                    "database": "mydatabase",
                    "node": "mynode"
                  }
                }
              ],
              "defines": ["mydefine1", "mydefine2"],
              "modeling-libraries": [
                "modeling/lib/1.vmodule",
                "${path_in_var}"
              ],
              "when": "SCENARIO_NAME == \"my_scenario_name2\""
            }
          ]
        ]
      }
    },
    "13e53": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Databases",
        "description": "List of databases. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/3071b/full"
        },
        "examples": [
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            }
          ],
          [
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.arxml",
              "network-name": "network_in_db"
            },
            {
              "name": "mydbname",
              "file-path": "path/to/some.dbc",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "828be": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of CAN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/fe7b6/full"
        },
        "examples": [
          [
            {
              "name": "my_can_network"
            }
          ],
          [
            {
              "name": "my_can_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 42,
              "baudrate": 500000,
              "mapping": "internal-simulator",
              "when": "SCENARIO_NAME == \"another_scenario\""
            }
          ]
        ]
      }
    },
    "9dce0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD Networks",
        "description": "List of CANFD networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/d92db/full"
        },
        "examples": [
          [
            {
              "name": "my_canfd_network"
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_canfd_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 42,
              "mode": "iso",
              "arbitration-baudrate": 500000,
              "data-baudrate": 1000000,
              "mapping": "internal-simulator"
            }
          ]
        ]
      }
    },
    "bf025": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of Ethernet networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/69b41/full"
        },
        "examples": [
          [
            {
              "name": "my_eth_network"
            }
          ],
          [
            {
              "name": "my_eth_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_eth_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 12,
              "tcp-ip-stack-adapter": {
                "mac-address": "02:84:cf:3b:be:01"
              },
              "mapping": "external-sil-kit"
            },
            {
              "name": "my_eth_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 12,
              "mapping": "internal-simulator",
              "tcp-ip-stack-adapter": {
                "mtu": 1500,
                "ipv4-settings": {
                  "address-configuration": "static",
                  "addresses": [
                    {
                      "address": "192.168.0.1",
                      "subnet-mask": "255.255.0.0"
                    }
                  ]
                },
                "ipv6-settings": {
                  "address-configuration": "dhcp"
                },
                "vlans": [
                  {
                    "id": 42,
                    "priority": 0
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "55701": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Replay Blocks",
        "description": "List of CAN replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/77df9/full"
        },
        "examples": [
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_can_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ]
        ]
      }
    },
    "a5fab": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet Replay Blocks",
        "description": "List of ethernet replay blocks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/3cca7/full"
        },
        "examples": [
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf"
            }
          ],
          [
            {
              "name": "my_ethernet_replay_block",
              "file-path": "my_logging_file.blf",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_ethernet_replay_block",
              "file-path": "another_logging_file.blf",
              "when": "SCENARIO_NAME == \"another_scenario_name\""
            }
          ]
        ]
      }
    },
    "d1a67": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenarios",
        "description": "List of scenarios with the option to define / override variables or defines.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/4909e/full"
        },
        "examples": [
          [
            {
              "name": "my_scenario_name"
            }
          ],
          [
            {
              "name": "my_scenario_name"
            },
            {
              "name": "override_variables",
              "variables": [
                {
                  "name": "three",
                  "value": 3
                }
              ]
            },
            {
              "name": "override_defines",
              "defines": ["mydefine", "mydevine_with_value=42"]
            }
          ]
        ]
      }
    },
    "dad40": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "1.1.0",
        "type": "string",
        "examples": ["1.1.0"]
      }
    },
    "0e921": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "1.0.0",
        "type": "string",
        "examples": ["1.0.0"]
      }
    },
    "6c391": {
      "local": {
        "one": {
          "type": "string",
          "pattern": "\\.([Yy][Aa][Mm][Ll]|[Jj][Ss][Oo][Nn])$"
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Include files",
        "description": "Include a different file (similar to #include of the c preprocessor). The order of includes does not matter. Circular / multiple includes are resolved correctly.",
        "oneOf": [
          {
            "$ref": "#/definitions/6c391/local/one"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/6c391/local/one"
            }
          }
        ],
        "examples": [
          "my_include.yaml",
          ["my_include.yaml", "my_other_include.json"]
        ]
      }
    },
    "497d3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Models",
        "description": "List of application models representing some program. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/51b90/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my/file.can",
              "defines": ["mydefine1", "mydefine=2"]
            }
          ]
        ]
      }
    },
    "16f14": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Defines",
        "description": "List of defines to be passed to capl / vcdl. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/cd5c2/full"
        },
        "examples": [
          [
            {
              "define": "mydefine1"
            }
          ],
          [
            {
              "define": ["mydefine1", "mydefine2"]
            },
            {
              "define": ["mydefine1", "mydefine2"],
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "define": [
                "mydefine_with_value=42",
                "${var_with_define_name}=${var_with_define_value}"
              ]
            }
          ]
        ]
      }
    },
    "c706a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Nodes",
        "description": "A list of simulation nodes used in a simulation. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/86b88/full"
        },
        "examples": [
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ]
            }
          ],
          [
            {
              "name": "mynode",
              "network-assignments": [
                {
                  "network": "my_can_network_1"
                }
              ],
              "file-path": "path/to/my_capl_script.can",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "mynode",
              "file-path": "path/to/my_dotnet.cs",
              "network-assignments": [
                {
                  "network": "my_can_network_1",
                  "database-node": {
                    "database": "mydatabase",
                    "node": "mynode"
                  },
                  "modeling-libraries": ["modeling/lib/2.dll"]
                }
              ],
              "defines": ["mydefine1", "mydefine2"],
              "modeling-libraries": ["modeling/lib/1.dll", "${path_in_var}"],
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            }
          ]
        ]
      }
    },
    "79d04": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN Networks",
        "description": "List of CAN networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/00571/full"
        },
        "examples": [
          [
            {
              "name": "my_can_network"
            }
          ],
          [
            {
              "name": "my_can_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_can_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 42,
              "baudrate": 500000
            }
          ]
        ]
      }
    },
    "252f0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD Networks",
        "description": "List of CANFD networks. Entries can be deactivated with when.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/b0b65/full"
        },
        "examples": [
          [
            {
              "name": "my_canfd_network"
            }
          ],
          [
            {
              "name": "my_canfd_network",
              "when": "SCENARIO_NAME == \"my_scenario_name\""
            },
            {
              "name": "my_canfd_network",
              "databases": ["DB_1", "DB_2"],
              "application-channel": 42,
              "mode": "iso",
              "arbitration-baudrate": 500000,
              "data-baudrate": 1000000
            }
          ]
        ]
      }
    },
    "79a89": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenarios",
        "description": "List of scenarios with the option to define / override variables or defines.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/d12ef/full"
        },
        "examples": [
          [
            {
              "name": "my_scenario_name"
            }
          ],
          [
            {
              "name": "my_scenario_name"
            },
            {
              "name": "override_variables",
              "variables": [
                {
                  "name": "three",
                  "value": 3
                }
              ]
            },
            {
              "name": "override_defines",
              "defines": ["mydefine", "mydevine_with_value=42"]
            }
          ]
        ]
      }
    },
    "faf17": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Model",
        "description": "Represents an application used in a scenario.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/d1985/full"
          },
          "defines": {
            "$ref": "#/definitions/dbb1c/full"
          }
        },
        "examples": [
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"]
          },
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "ba2d9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD network",
        "description": "A Network using the CANFD protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "database": {
            "description": "Reference to a database declared in the configuration file.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "mode": {
            "description": "Operation Mode setting (iso or non-iso Mode).",
            "oneOf": [
              {
                "type": "string",
                "enum": ["iso", "non-iso"],
                "default": "iso"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "arbitration-baudrate": {
            "description": "Baudrate for the arbitration phase of CAN FD in Baud. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "data-baudrate": {
            "description": "Baudrate for the data phase of CAN FD. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000000,
                "default": 1000000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the application channels!",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/d63e6/full"
          }
        },
        "oneOf": [
          {
            "required": ["arbitration-baudrate", "data-baudrate"],
            "properties": {
              "arbitration-baudrate": true,
              "data-baudrate": true
            }
          },
          {
            "properties": {
              "arbitration-baudrate": false,
              "data-baudrate": false
            }
          }
        ],
        "examples": [
          {
            "name": "my_canfd_network"
          },
          {
            "name": "my_canfd_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_canfd_network",
            "database": "DB_2",
            "application-channel": 42,
            "mode": "iso",
            "arbitration-baudrate": 500000,
            "data-baudrate": 1000000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "84972": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN network",
        "description": "A Network using the CAN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "database": {
            "description": "Reference to a database declared in the configuration file.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "baudrate": {
            "description": "Baudrate of this CAN bus. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the application channels!",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/d63e6/full"
          }
        },
        "examples": [
          {
            "name": "my_can_network"
          },
          {
            "name": "my_can_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_can_network",
            "database": "DB_1",
            "application-channel": 42,
            "baudrate": 500000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "cacc0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN replay block",
        "description": "A replay block for the CAN protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/a9048/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/159aa/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/7d7e4/full"
          },
          "send-tx-messages": {
            "description": "Replay the tx messages.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-rx-messages": {
            "description": "Replay the rx messages.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "send-tx-messages": true,
            "send-rx-messages": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "5d2a8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Database",
        "description": "Absolute or relative path to an external database file (.dbc / .ldf / ...). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "network-name": {
            "description": "Select a network from the database (cluster name if .arxml). If selected, 'name' must match 'network-name'.",
            "type": "string"
          },
          "file-path": {
            "$ref": "#/definitions/c6ecb/full"
          }
        },
        "examples": [
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.arxml",
            "network-name": "network_in_db"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "5e277": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Only add this node to the environment if the specified condition is true.",
        "oneOf": [
          {
            "description": "A condition containing logical operators (e.g., ` (intvar > 0 && boolvar) || strvar != \"setup_a\"`). Variables do not have to be escaped. The additional variable `SCENARIO_NAME` always contains the current scenario name.",
            "type": "string",
            "$comment": "impossible to express this grammar as a regex"
          },
          {
            "description": "A boolean constant.",
            "type": "boolean"
          }
        ],
        "examples": [
          "SCENARIO_NAME == \"my_scenario_name\"",
          "some_variable == \"somevalue\"",
          "some_int_variable > 42 && some_other_int_variable <= 42",
          true
        ]
      }
    },
    "535fe": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "$ref": "#/definitions/6c62c/full"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/6c62c/full"
            },
            "examples": [
              ["path/to/my.vcdl"],
              ["path/to/my.vcodm"],
              [
                "path/to/my.vcdl",
                "path/to/my.vcodm",
                "${path_in_variable}",
                "path/${name_in_variable}"
              ]
            ]
          }
        ],
        "examples": [
          "path/to/my.vcdl",
          ["path/to/my.vcodm"],
          [
            "path/to/my.vcdl",
            "path/to/my.vcodm",
            "${path_in_variable}",
            "path/${name_in_variable}"
          ]
        ]
      }
    },
    "dbb1c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of defines to be passed to capl / vcdl.",
        "type": "array",
        "items": {
          "anyOf": [
            {
              "$ref": "#/definitions/d6fe8/full"
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ]
        },
        "examples": [
          ["mydefine1", "mydefine2"],
          [
            "mydefine_with_value=42",
            "${var_with_define_name}=${var_with_define_value}"
          ]
        ]
      }
    },
    "60f6d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Define",
        "description": "Defines to be passed to capl / vcdl.",
        "type": "object",
        "additionalProperties": false,
        "required": ["define"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "define": {
            "anyOf": [
              {
                "$ref": "#/definitions/d6fe8/full"
              },
              {
                "$ref": "#/definitions/dbb1c/full"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "define": "mydefine1"
          },
          {
            "define": ["mydefine1", "mydefine2"]
          },
          {
            "define": ["mydefine1", "mydefine2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "define": [
              "mydefine_with_value=42",
              "${var_with_define_name}=${var_with_define_value}"
            ]
          }
        ]
      }
    },
    "cf195": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet network",
        "description": "A Network using the Ethernet protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "database": {
            "description": "Reference to a database declared in the configuration file.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/60037/full"
          },
          "mapping": {
            "$ref": "#/definitions/d63e6/full"
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "oneOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32
              }
            ]
          },
          "measurement-ports": {
            "description": "A List if measurement ports whose data you want to measure (e.g. for logging).",
            "type": "array",
            "items": {
              "type": "string",
              "oneOf": [
                {
                  "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$"
                },
                {
                  "pattern": "^([a-zA-Z][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}[a-zA-Z0-9_]*$"
                }
              ],
              "examples": ["Port1", "Port2", "${var_with_port}"]
            }
          }
        },
        "examples": [
          {
            "name": "my_eth_network"
          },
          {
            "name": "my_eth_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "tcp-ip-stack-adapter": {
              "mac-address": "02:84:cf:3b:be:01"
            },
            "mapping": "external-sil-kit"
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "mapping": "internal-simulator",
            "tcp-ip-stack-adapter": {
              "mtu": 1500,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.1",
                    "subnet-mask": "255.255.0.0"
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "dhcp"
              },
              "vlans": [
                {
                  "id": 42,
                  "priority": 0
                }
              ]
            }
          }
        ]
      }
    },
    "7ff67": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet replay block",
        "description": "A replay block for the ethernet protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/a9048/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/159aa/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/7d7e4/full"
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "779cd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "string",
        "pattern": "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}",
        "examples": ["${myvarname}"]
      }
    },
    "a23f7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a FDX description file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[xX][mM][lL]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/myDescriptionFile.xml",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "b0301": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay cluster",
        "description": "A cluster using the FlexRay protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "database"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "database": {
            "description": "Reference to a database declared in the configuration file.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/d63e6/full"
          },
          "key-slot-configuration": {
            "$ref": "#/definitions/f11ad/full"
          }
        },
        "examples": [
          {
            "name": "my_flexray_cluster",
            "database": "DB_1"
          },
          {
            "name": "my_flexray_cluster",
            "when": "SCENARIO_NAME == \"my_scenario_name\"",
            "database": "FR_DB"
          },
          {
            "name": "my_flexray_cluster",
            "database": "DB_1",
            "application-channel": 12,
            "mapping": "internal-simulator",
            "key-slot-configuration": {
              "slot-1": {
                "mode": "manual",
                "usage": "startup",
                "mask": "A",
                "slot": 1,
                "leading-cold-start": true
              },
              "slot-2": {
                "mode": "automatic"
              }
            }
          }
        ]
      }
    },
    "40d65": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay replay block",
        "description": "A replay block for the FlexRay protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path", "network"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/a9048/full"
          },
          "network": {
            "description": "Name of the FlexRay cluster, this replay node is attached to.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "channel-mapping": {
            "$ref": "#/definitions/a51de/full"
          },
          "replay-nodes": {
            "description": "List of nodes, whose transmitted messages should be replayed from the logging file. If not set, all are active by default.",
            "default": [],
            "type": "array",
            "items": {
              "$ref": "#/definitions/8ab6a/full"
            }
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "network": "flexRay1"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "network": "flexRay1",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "network": "flexRay1",
            "replay-on-measurement-start": true,
            "channel-mapping": {
              "default-mapping": "as-in-original"
            },
            "replay-nodes": ["ECU1", "ECU2"]
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "network": "flexRay1",
            "channel-mapping": {
              "default-mapping": "ignore-all",
              "mappings": [
                {
                  "source-network": "flexray2"
                }
              ]
            }
          }
        ]
      }
    },
    "048e3": {
      "local": {
        "stepsize-in-sec": {
          "description": "Step size in seconds.",
          "oneOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 10000
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [0, 0.0005, 10000, "${var_with_path}"]
        },
        "debug-output": {
          "description": "Is the debug output active.",
          "oneOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [false, true, "${var_with_path}"]
        },
        "active-model-variables": {
          "description": "List of the FMU variables which should be exported",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        },
        "inactive-model-variables": {
          "description": "List of the FMU variables which should be excluded from the export",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup unit",
        "description": "Represents a functional mockup unit used in a scenario.",
        "type": "object",
        "oneOf": [
          {
            "additionalProperties": false,
            "required": ["file-path", "stepsize-in-sec"],
            "properties": {
              "when": {
                "$ref": "#/definitions/5e277/full"
              },
              "file-path": {
                "$ref": "#/definitions/3ebec/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/048e3/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/048e3/local/debug-output"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "active-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/5e277/full"
              },
              "file-path": {
                "$ref": "#/definitions/3ebec/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/048e3/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/048e3/local/debug-output"
              },
              "active-model-variables": {
                "$ref": "#/definitions/048e3/local/active-model-variables"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "inactive-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/5e277/full"
              },
              "file-path": {
                "$ref": "#/definitions/3ebec/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/048e3/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/048e3/local/debug-output"
              },
              "inactive-model-variables": {
                "$ref": "#/definitions/048e3/local/inactive-model-variables"
              }
            }
          }
        ]
      }
    },
    "7c80e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for Ethernet",
        "type": "object",
        "properties": {
          "access-mode": {
            "description": "Mode of the underlying Ethernet bus. Classic approach is the 'Channel-based' setup. More recent and recommended mode is the switched 'Network-based' mode (port based).",
            "oneOf": [
              {
                "enum": ["network-based", "channel-based"],
                "default": "network-based"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["network-based", "channel-based"]
          },
          "signal-updates": {
            "description": "Specifies how signals are updated on Network-based access. Will be ignored on Channel-based setups. Always: Events of all ports are used to update a signal without qualified ethernet port. rx-only: Only packets received by the interface are used, which leads to less duplicated updates. never: Signals without qualified ethernet ports are not updated.",
            "oneOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "const": "always",
                "description": "Events of all ports are used to update a signal without qualified ethernet port."
              },
              {
                "const": "rx-only",
                "description": "Only packets received by the interface are used, which leads to less duplicated updates."
              },
              {
                "const": "never",
                "description": "Signals without qualified ethernet ports are not updated."
              }
            ],
            "examples": ["always", "rx-only", "never"]
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/db0d5/full"
          }
        },
        "additionalProperties": false,
        "examples": [
          {
            "access-mode": "network-based"
          },
          {
            "access-mode": "channel-based",
            "signal-updates": "always"
          },
          {
            "signal-updates": "rx-only"
          },
          {
            "signal-updates": "never"
          }
        ]
      }
    },
    "fa0cd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for FlexRay",
        "description": "These settings control the interpretation of frames and PDUs of FlexRay configurations with channels A and B.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enable-dual-channel-support": {
            "description": "If active, PDUs on both channels will be configured with channel mask 'AB' and channel postfixes (e.g. xy_Ch_A, xy_Ch_B) will be created for ambiguous objects. If this property is provided \"postfixes-for-ambiguous-pdus-on-channel\" is forbidden.",
            "oneOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "boolean"
              }
            ],
            "default": true
          },
          "postfixes-for-ambiguous-pdus-on-channel": {
            "description": "Definition of postfix settings if dual channel support is not activated. If this property is provided \"enable-dual-channel-support\" is forbidden.",
            "oneOf": [
              {
                "enum": ["A", "B", "A&B", "no-postfixes"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "A&B"
          }
        },
        "allOf": [
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["enable-dual-channel-support"],
              "properties": {
                "enable-dual-channel-support": {
                  "const": true
                }
              }
            },
            "then": {
              "properties": {
                "postfixes-for-ambiguous-pdus-on-channel": false
              }
            }
          },
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["enable-dual-channel-support"],
              "properties": {
                "enable-dual-channel-support": {
                  "const": false
                }
              }
            },
            "then": {
              "required": ["postfixes-for-ambiguous-pdus-on-channel"],
              "properties": {
                "postfixes-for-ambiguous-pdus-on-channel": true
              }
            }
          }
        ],
        "examples": [
          {
            "enable-dual-channel-support": true
          },
          {
            "enable-dual-channel-support": false,
            "postfixes-for-ambiguous-pdus-on-channel": "no-postfixes"
          }
        ]
      }
    },
    "fbf90": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for database",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "autosar-pdu-layer": {
            "default": "from-autosar-4.2",
            "description": "Configure the PDU layer in relation to AUTOSAR databases.\n'no-pdus' : Creation of frames only \n'from-autosar-4.0' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.0 \n'from-autosar-4.2' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.2 ",
            "oneOf": [
              {
                "type": "string",
                "enum": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"],
                "examples": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "autosar-text-table-entries": {
            "description": "Control naming of text table entries and influence signal qualification. Use text from COMPU-CONST nodes or SHORT-LABEL nodes.",
            "default": "compu-const",
            "oneOf": [
              {
                "type": "string",
                "enum": ["compu-const", "short-label"],
                "examples": ["compu-const", "short-label"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "some-ip-pdus-without-service-context": {
            "description": "Control the generation of services for SOME/IP PDUs without service context.",
            "default": "ignore",
            "oneOf": [
              {
                "type": "string",
                "enum": ["ignore", "generate-service"],
                "examples": ["ignore", "generate-service"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "autosar-pdu-layer": "no-pdus"
          },
          {
            "autosar-text-table-entries": "compu-const"
          },
          {
            "some-ip-pdus-without-service-context": "generate-service"
          },
          {
            "autosar-pdu-layer": "no-pdus",
            "autosar-text-table-entries": "short-label",
            "some-ip-pdus-without-service-context": "generate-service"
          }
        ]
      }
    },
    "85c8a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "enum": ["internal-simulator", "external-sil-kit"]
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": ["internal-simulator", "external-sil-kit"]
      }
    },
    "b5d87": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN network",
        "description": "A network using the LIN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "database": {
            "description": "Reference to a database declared in the configuration file.",
            "$ref": "#/definitions/8ab6a/full"
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 64. Value '0' is not allowed.",
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/d63e6/full"
          },
          "mode": {
            "description": "Working mode of the LIN interface.\n \"commander\": the LIN network interface is able to output message headers on the network.\n \"responder\": the LIN network interface responds to received LIN headers if a response to the LIN ID contained within the header has been configured.",
            "oneOf": [
              {
                "enum": ["commander", "responder"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "commander",
            "examples": ["commander", "responder"]
          }
        },
        "examples": [
          {
            "name": "my_lin_network"
          },
          {
            "name": "my_lin_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_lin_network",
            "database": "DB_1",
            "application-channel": 42,
            "mapping": "internal-simulator",
            "mode": "responder"
          }
        ]
      }
    },
    "b509f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN replay block",
        "description": "A replay block for the LIN protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/a9048/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/159aa/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/7d7e4/full"
          },
          "replay-mode": {
            "description": "Select events to be replayed. \n'all-responses': replay all the responses.\n'master-responses-only': replay the responses only for frames published by the Master node.\n'master-requests-only': replay only 0x3c responses.\n'no-headers': disable replay of the LIN frame headers.",
            "default": "all-responses",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "all-responses",
                  "master-responses-only",
                  "master-requests-only",
                  "no-headers"
                ]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "send-events": {
            "description": "Select which events from rx-responses, tx-responses and wakeup-signals are replayed. If not set, the default value depends on the value of replay-mode.\n For 'all-responses' or 'master-responses-only': all events are sent.\n For 'master-requests-only': only wakeup-events are sent.\n For 'no-headers': none of the events are sent.",
            "default": ["tx-responses", "rx-responses", "wakeup-signals"],
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": ["tx-responses", "rx-responses", "wakeup-signals"]
                    },
                    {
                      "$ref": "#/definitions/779cd/full"
                    }
                  ]
                }
              }
            ]
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            },
            "replay-mode": "master-responses-only",
            "send-events": ["tx-responses", "rx-responses", "wakeup-signals"]
          }
        ]
      }
    },
    "bcf87": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Name of a blf file, supporting the field codes: {ComputerName}, {LocalTime}, {MeasurementIndex}, {MeasurementStart}, {IncSize|001|100MB} and {IncTime|001|01h00m}.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^(?!.*(\\{TriggerCondition\\}|\\{LoggingBlock\\}|\\{IncMeasurement\\}|\\{ConfigName\\}|\\{IncTrigger\\|[0-9]*\\}|[\"<>*?:/\\\\])).*\\.[bB][lL][fF]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "fileName.blf",
          "file_${SCENARIO_NAME}.blf",
          "${name_in_variable}",
          "log_{ComputerName}.blf",
          "log_{LocalTime}.blf",
          "log_{MeasurementIndex}.blf",
          "log_{MeasurementStart}.blf"
        ]
      }
    },
    "97baf": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Advanced logging configurations.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "warn-overwritten-log-file": {
            "description": "Specify whether a warning is shown at the start of measurement before overwriting an existing logging file.",
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          },
          "show-error-on-data-loss": {
            "description": "Specify whether an error is shown after the measurement if data loss occurred during the measurement. Lines in the logging file marked with a * as a special symbol have corrupted lines around them.",
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          }
        },
        "examples": [
          {
            "warn-overwritten-log-file": false,
            "show-error-on-data-loss": true
          },
          {
            "warn-overwritten-log-file": true
          }
        ]
      }
    },
    "bd659": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Programming modules",
        "description": "Programming modules file paths (capl-library or c-library). Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "capl-library-path": {
            "description": "Absolute or relative path to a CAPL library. Relative path specifications are resolved relative to the configuration file.",
            "oneOf": [
              {
                "$ref": "#/definitions/47aa6/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/47aa6/full"
                }
              }
            ]
          },
          "c-library-path": {
            "description": "Absolute or relative path to a C-library. Relative path specifications are resolved relative to the configuration file.",
            "oneOf": [
              {
                "$ref": "#/definitions/47aa6/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/47aa6/full"
                }
              }
            ]
          }
        }
      }
    },
    "316e0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenario",
        "description": "A scenario with the option to define or override variables and defines.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "description": "Name of the scenario",
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
            "not": {
              "const": "Default"
            }
          },
          "variables": {
            "$ref": "#/definitions/5d046/full"
          },
          "defines": {
            "$ref": "#/definitions/dbb1c/full"
          }
        },
        "examples": [
          {
            "name": "my_scenario_name"
          },
          {
            "name": "override_variables",
            "variables": [
              {
                "name": "three",
                "value": 3
              }
            ]
          },
          {
            "name": "override_defines",
            "defines": ["mydefine", "mydevine_with_value=42"]
          }
        ]
      }
    },
    "0b81c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Network Security Profile Assignments",
        "description": "List with security profile to network assignments. The Security profile is used for SecOC, Diagnostics and Backend Access.",
        "type": "array",
        "items": {
          "title": "Network Security Profile Assignment",
          "type": "object",
          "description": "Assignment of a security profile to a network.",
          "additionalProperties": false,
          "required": ["network", "profile-id"],
          "properties": {
            "network": {
              "description": "The name of the network to which the security profile shall be assigned.",
              "oneOf": [
                {
                  "$ref": "#/definitions/038dc/full"
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            },
            "profile-id": {
              "description": "The ID of the assigned security profile.",
              "$ref": "#/definitions/adad4/full"
            },
            "when": {
              "$ref": "#/definitions/5e277/full"
            }
          }
        },
        "examples": [
          [
            {
              "network": "CAN1",
              "profile-id": 123456
            },
            {
              "network": "CAN2",
              "profile-id": 654321
            }
          ],
          [
            {
              "network": "CAN",
              "profile-id": "${SECURITY_PROFILE_ID}"
            }
          ],
          [
            {
              "network": "CAN",
              "profile-id": 123456,
              "when": "SCENARIO_NAME == \"MyScenarioWithEnabledSecurity\""
            }
          ]
        ]
      }
    },
    "3200b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema",
        "title": "Ethernet Stack Security Profile Assignments",
        "description": "List with security profile to ethernet stack assignments. The security profile is used for TLS and IPSec.",
        "type": "array",
        "items": {
          "title": "Ethernet Stack Security Profile Assignment",
          "type": "object",
          "description": "Assignment of a security profile to an ethernet stack.",
          "additionalProperties": false,
          "required": ["simulation-node", "profile-id"],
          "properties": {
            "simulation-node": {
              "description": "The name of the simulation node. The security profile will be assigned to the ethernet stack of the simulation node.",
              "oneOf": [
                {
                  "$ref": "#/definitions/038dc/full"
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ]
            },
            "profile-id": {
              "description": "The ID of the assigned security profile.",
              "$ref": "#/definitions/adad4/full"
            },
            "when": {
              "$ref": "#/definitions/5e277/full"
            }
          }
        },
        "examples": [
          [
            {
              "simulation-node": "MySimulationNode",
              "profile-id": 123456
            },
            {
              "simulation-node": "AnotherSimulationNode",
              "profile-id": 654321
            }
          ],
          [
            {
              "simulation-node": "MySimulationNode",
              "profile-id": "${SECURITY_PROFILE_ID}"
            }
          ],
          [
            {
              "simulation-node": "MySimulationNode",
              "profile-id": 123456,
              "when": "SCENARIO_NAME == \"MyScenarioWithEnabledSecurity\""
            }
          ]
        ]
      }
    },
    "adad4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/1030e/full"
          }
        ]
      }
    },
    "45cf9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a SIL Kit config file (.yaml or .json). Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[yY][aA][mM][lL]$"
          },
          {
            "pattern": "^.*\\.[jJ][sS][oO][nN]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/myConfigFile.json",
          "path/to/myConfigFile.yaml",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "56a0f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Node",
        "description": "Represents a simulation node used in a simulation",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "network-assignments"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "$ref": "#/definitions/c4a92/full"
          },
          "network-assignments": {
            "$ref": "#/definitions/960ef/full"
          },
          "defines": {
            "$ref": "#/definitions/dbb1c/full"
          },
          "database-node": {
            "description": "Use to assign explicitly a database node to a simulation node. If not set, the simulation-node name will be used as database-node. To deactivate automatic assignment, it should be set to false.",
            "oneOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "type": "string",
                "not": {
                  "$ref": "#/definitions/779cd/full"
                }
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [false, true, "aDatabaseNodeName", "${var_with_path}"]
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/58c94/full"
            },
            "description": "A list of vmodule modeling libraries to assign to the simulation node."
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/dd53d/full"
          }
        },
        "examples": [
          {
            "name": "mynode",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "file-path": "path/to/my_capl_script.can",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": true,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "defines": ["mydefine1", "mydefine2"],
            "modeling-libraries": ["modeling/lib/1.vmodule", "${path_in_var}"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": false,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          },
          {
            "name": "otherNameThanInDb",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": "nameFromDB",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          }
        ]
      }
    },
    "d5013": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System variables",
        "description": "Absolute or relative path to an external file containing system variables. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "description": "Absolute or relative path to an external file containing system variables. Relative path specifications are resolved relative to the defining configuration file.",
            "oneOf": [
              {
                "$ref": "#/definitions/863d7/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/863d7/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.vsysvar"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my.vsysvar",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "38e8e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User files",
        "description": "Absolute or relative path to user files that can be read/written by CAPL/.NET Scripts. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "description": "Absolute or relative path to an user file. Relative path specifications are resolved relative to the defining configuration file.",
            "oneOf": [
              {
                "type": "string",
                "examples": [
                  "path/to/my.txt",
                  "${path_in_variable}",
                  "path/${name_in_variable}"
                ]
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "examples": [
                  ["path/to/my.txt"],
                  ["${path_in_variable}", "path/${name_in_variable}"]
                ]
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.txt"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my_file.ini",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "daa86": {
      "local": {
        "name": {
          "type": "string",
          "description": "A C-identifier for this variable (case sensitive).",
          "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
          "allOf": [
            {
              "not": {
                "pattern": "^[cC][aA][nN][oO][eE]_.*$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][nN][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS][sS][eE][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][oO][oO][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][rR][eE][aA][kK]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][lL][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][oO][nN][tT][iI][nN][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][lL][eE][tT][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][xX][cC][eE][pP][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][aA][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][iI][nN][aA][lL][lL][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][lL][oO][aA][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][rR][oO][mM]$"
              }
            },
            {
              "not": {
                "pattern": "^[gG][lL][oO][bB][aA][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][mM][pP][oO][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT][eE][gG][eE][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[lL][oO][nN][gG]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][nN][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[pP][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][aA][iI][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][eE][tT][uU][rR][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][cC][eE][nN][aA][rR][iI][oO]_[nN][aA][mM][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][eE][lL][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][tT][rR][uU][cC][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][wW][iI][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][hH][iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][nN][sS][iI][gG][nN][eE][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[vV][oO][iI][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][hH][iI][lL][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][iI][tT][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[xX][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[yY][iI][eE][lL][dD]$"
              }
            }
          ],
          "examples": ["my_var"]
        },
        "from-environment": {
          "type": "boolean",
          "description": "Take the value from a system environment variable.",
          "default": false
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variable",
        "description": "This variable can be used in any other node and overwritten by a scenario.",
        "type": "object",
        "$comment": "has to be split, since the type determines the valid values",
        "oneOf": [
          {
            "$comment": "type implicit",
            "additionalProperties": false,
            "required": ["value", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type implicit type (string, number or bool).",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number",
                    "$comment": "disable-check:no-missing-number-limits"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            }
          },
          {
            "$comment": "type int",
            "additionalProperties": false,
            "required": ["type", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type integer.",
                "$ref": "#/definitions/c49a5/full"
              },
              "type": {
                "const": "int"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/c49a5/full"
                }
              }
            }
          },
          {
            "$comment": "type uint",
            "additionalProperties": false,
            "required": ["type", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type unsigned integer.",
                "$ref": "#/definitions/39ed5/full"
              },
              "type": {
                "const": "uint"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/39ed5/full"
                }
              }
            }
          },
          {
            "$comment": "type string / path",
            "additionalProperties": false,
            "required": ["type", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type string or path.",
                "type": "string"
              },
              "type": {
                "enum": ["string", "path"]
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "$comment": "type boolean",
            "additionalProperties": false,
            "required": ["type", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type bool.",
                "type": "boolean"
              },
              "type": {
                "const": "bool"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "boolean"
                }
              }
            }
          },
          {
            "$comment": "type float",
            "additionalProperties": false,
            "required": ["type", "name"],
            "properties": {
              "name": {
                "$ref": "#/definitions/daa86/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/daa86/local/from-environment"
              },
              "value": {
                "description": "Variable of type float.",
                "$ref": "#/definitions/f26f2/full"
              },
              "type": {
                "const": "float"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/f26f2/full"
                }
              }
            }
          }
        ],
        "examples": [
          {
            "name": "var",
            "value": -42
          },
          {
            "name": "my_string",
            "value": "implicit-type"
          },
          {
            "name": "var",
            "value": 422200000000.0,
            "type": "float"
          },
          {
            "name": "path_var",
            "value": "path/to/somewhere",
            "type": "path"
          },
          {
            "name": "uint_enum",
            "value": 43,
            "type": "uint",
            "options": [1, 43, 127]
          }
        ]
      }
    },
    "5b3ba": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "Absolute or relative path to an external xcpcfg file. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/5e277/full"
          },
          "file-path": {
            "oneOf": [
              {
                "$ref": "#/definitions/d5dc9/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/d5dc9/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.xcpcfg"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my.xcpcfg",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "9b42a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenario",
        "description": "A scenario with the option to define / override variables or defines.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
            "not": {
              "const": "Default"
            }
          },
          "variables": {
            "$ref": "#/definitions/57928/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          }
        },
        "examples": [
          {
            "name": "my_scenario_name"
          },
          {
            "name": "override_variables",
            "variables": [
              {
                "name": "three",
                "value": 3
              }
            ]
          },
          {
            "name": "override_defines",
            "defines": ["mydefine", "mydevine_with_value=42"]
          }
        ]
      }
    },
    "ce2b5": {
      "local": {
        "name": {
          "type": "string",
          "description": "A C-identifier for this variable (case sensitive).",
          "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
          "allOf": [
            {
              "not": {
                "pattern": "^[cC][aA][nN][oO][eE]_.*$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][nN][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS][sS][eE][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][oO][oO][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][rR][eE][aA][kK]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][lL][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][oO][nN][tT][iI][nN][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][lL][eE][tT][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][xX][cC][eE][pP][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][aA][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][iI][nN][aA][lL][lL][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][lL][oO][aA][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][rR][oO][mM]$"
              }
            },
            {
              "not": {
                "pattern": "^[gG][lL][oO][bB][aA][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][mM][pP][oO][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT][eE][gG][eE][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[lL][oO][nN][gG]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][nN][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[pP][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][aA][iI][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][eE][tT][uU][rR][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][cC][eE][nN][aA][rR][iI][oO]_[nN][aA][mM][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][eE][lL][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][tT][rR][uU][cC][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][wW][iI][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][hH][iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][nN][sS][iI][gG][nN][eE][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[vV][oO][iI][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][hH][iI][lL][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][iI][tT][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[xX][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[yY][iI][eE][lL][dD]$"
              }
            }
          ],
          "examples": ["my_var"]
        },
        "from-environment": {
          "type": "boolean",
          "description": "Take the value from a system environment variable.",
          "default": false
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variable",
        "description": "This variable can be used in any other node and overwritten by a scenario.",
        "type": "object",
        "$comment": "has to be split, since the type determines the valid values",
        "oneOf": [
          {
            "$comment": "type implicit",
            "additionalProperties": false,
            "required": ["value", "name"],
            "description": "Variable of type implicit type (string, number or bool).",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number",
                    "$comment": "disable-check:no-missing-number-limits"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            }
          },
          {
            "$comment": "type int",
            "additionalProperties": false,
            "required": ["type", "name"],
            "description": "Variable of type integer.",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "$ref": "#/definitions/c49a5/full"
              },
              "type": {
                "const": "int"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/c49a5/full"
                }
              }
            }
          },
          {
            "$comment": "type uint",
            "additionalProperties": false,
            "required": ["type", "name"],
            "description": "Variable of type unsigned integer.",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "$ref": "#/definitions/39ed5/full"
              },
              "type": {
                "const": "uint"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/39ed5/full"
                }
              }
            }
          },
          {
            "$comment": "type string / path",
            "additionalProperties": false,
            "required": ["type", "name"],
            "description": "Variable of type string or path.",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "type": "string"
              },
              "type": {
                "enum": ["string", "path"]
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "$comment": "type boolean",
            "additionalProperties": false,
            "required": ["type", "name"],
            "description": "Variable of type bool.",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "type": "boolean"
              },
              "type": {
                "const": "bool"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "boolean"
                }
              }
            }
          },
          {
            "$comment": "type float",
            "additionalProperties": false,
            "required": ["type", "name"],
            "description": "Variable of type float.",
            "properties": {
              "name": {
                "$ref": "#/definitions/ce2b5/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/ce2b5/local/from-environment"
              },
              "value": {
                "$ref": "#/definitions/f26f2/full"
              },
              "type": {
                "const": "float"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/f26f2/full"
                }
              }
            }
          }
        ],
        "examples": [
          {
            "name": "var",
            "value": -42
          },
          {
            "name": "my_string",
            "value": "implicit-type"
          },
          {
            "name": "var",
            "value": 422200000000.0,
            "type": "float"
          },
          {
            "name": "path_var",
            "value": "path/to/somewhere",
            "type": "path"
          },
          {
            "name": "uint_enum",
            "value": 43,
            "type": "uint",
            "options": [1, 43, 127]
          }
        ]
      }
    },
    "9d23c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Define",
        "description": "Defines to be passed to capl / vcdl.",
        "type": "object",
        "additionalProperties": false,
        "required": ["define"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "define": {
            "anyOf": [
              {
                "$ref": "#/definitions/d6fe8/full"
              },
              {
                "$ref": "#/definitions/f52d1/full"
              }
            ]
          }
        },
        "examples": [
          {
            "define": "mydefine1"
          },
          {
            "define": ["mydefine1", "mydefine2"]
          },
          {
            "define": ["mydefine1", "mydefine2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "define": [
              "mydefine_with_value=42",
              "${var_with_define_name}=${var_with_define_value}"
            ]
          }
        ]
      }
    },
    "cdf60": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for Ethernet",
        "type": "object",
        "properties": {
          "access-mode": {
            "description": "Mode of the underlying Ethernet bus. Classic approach is the 'Channel-based' setup.       More recent and recommended mode is the switched 'Network-based' mode (port based).",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "string",
                "enum": ["network-based", "channel-based"],
                "default": "network-based"
              }
            ],
            "examples": ["network-based", "channel-based"]
          },
          "signal-updates": {
            "description": "Specifies how signals are updated on Network-based access. Will be ignored on Channel-based setups. Always: Events of all ports are used to update a signal without qualified ethernet port. rx-only: Only packets received by the interface are used, which leads to less duplicated updates. never: Signals without qualified ethernet ports are not updated.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "const": "always",
                "description": "Events of all ports are used to update a signal without qualified ethernet port."
              },
              {
                "const": "rx-only",
                "description": "Only packets received by the interface are used, which leads to less duplicated updates."
              },
              {
                "const": "never",
                "description": "Signals without qualified ethernet ports are not updated."
              }
            ],
            "examples": ["always", "rx-only", "never"]
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/56b2f/full"
          }
        },
        "additionalProperties": false,
        "examples": [
          {
            "access-mode": "network-based"
          },
          {
            "access-mode": "channel-based",
            "signal-updates": "always"
          },
          {
            "signal-updates": "rx-only"
          },
          {
            "signal-updates": "never"
          }
        ]
      }
    },
    "70a7b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for FlexRay",
        "description": "These settings control the interpretation of frames and PDUs of FlexRay configurations with channels A and B.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enable-dual-channel-support": {
            "description": "If active, PDUs on both channels will be configured with channel mask 'AB' and channel postfixes (e.g. xy_Ch_A, xy_Ch_B) will be created for ambiguous objects.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "boolean"
              }
            ],
            "default": true
          },
          "postfixes-for-ambiguous-pdus-on-channel": {
            "description": "Definition of postfix settings if dual channel support is not activated.",
            "oneOf": [
              {
                "enum": ["A", "B", "A&B", "no-postfixes"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "A&B"
          }
        },
        "allOf": [
          {
            "if": {
              "required": ["enable-dual-channel-support"],
              "properties": {
                "enable-dual-channel-support": {
                  "const": true
                }
              }
            },
            "then": {
              "properties": {
                "postfixes-for-ambiguous-pdus-on-channel": false
              }
            }
          },
          {
            "if": {
              "required": ["enable-dual-channel-support"],
              "properties": {
                "enable-dual-channel-support": {
                  "const": false
                }
              }
            },
            "then": {
              "required": ["postfixes-for-ambiguous-pdus-on-channel"],
              "properties": {
                "postfixes-for-ambiguous-pdus-on-channel": true
              }
            }
          }
        ],
        "examples": [
          {
            "enable-dual-channel-support": true
          },
          {
            "enable-dual-channel-support": false,
            "postfixes-for-ambiguous-pdus-on-channel": "no-postfixes"
          }
        ]
      }
    },
    "3dd98": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for database",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "autosar-pdu-layer": {
            "default": "from-autosar-4.2",
            "description": "Configure the PDU layer in relation to AUTOSAR databases.\n'no-pdus' : Creation of frames only \n'from-autosar-4.0' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.0 \n'from-autosar-4.2' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.2 ",
            "anyOf": [
              {
                "type": "string",
                "enum": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"],
                "examples": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "autosar-text-table-entries": {
            "description": "Control naming of text table entries and influence signal qualification. Use text from COMPU-CONST nodes or SHORT-LABEL nodes.",
            "default": "compu-const",
            "anyOf": [
              {
                "type": "string",
                "enum": ["compu-const", "short-label"],
                "examples": ["compu-const", "short-label"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "some-ip-pdus-without-service-context": {
            "description": "Control the generation of services for SOME/IP PDUs without service context.",
            "default": "ignore",
            "oneOf": [
              {
                "type": "string",
                "enum": ["ignore", "generate-service"],
                "examples": ["ignore", "generate-service"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "autosar-pdu-layer": "no-pdus"
          },
          {
            "autosar-text-table-entries": "compu-const"
          },
          {
            "some-ip-pdus-without-service-context": "generate-service"
          },
          {
            "autosar-pdu-layer": "no-pdus",
            "autosar-text-table-entries": "short-label",
            "some-ip-pdus-without-service-context": "generate-service"
          }
        ]
      }
    },
    "21f87": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System variables",
        "description": "Absolute or relative path to an external file containing system variables. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "anyOf": [
              {
                "$ref": "#/definitions/dc7e6/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/dc7e6/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.vsysvar"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my.vsysvar",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "8d374": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Database",
        "description": "Absolute or relative path to an external database file (.dbc / .ldf / ...). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "network-name": {
            "type": "string",
            "description": "Select a network from the database (cluster name if .arxml). If selected, 'name' must match 'network-name'."
          },
          "file-path": {
            "$ref": "#/definitions/5349d/full"
          }
        },
        "examples": [
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.arxml",
            "network-name": "network_in_db"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "ce8a4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN network",
        "description": "A Network using the CAN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "baudrate": {
            "description": "Baudrate of this CAN bus. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the application channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          }
        },
        "examples": [
          {
            "name": "my_can_network"
          },
          {
            "name": "my_can_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_can_network",
            "database": "DB_1",
            "application-channel": 42,
            "baudrate": 500000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "f1384": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD network",
        "description": "A Network using the CANFD protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "mode": {
            "description": "Operation Mode setting (iso or non-iso Mode).",
            "anyOf": [
              {
                "type": "string",
                "enum": ["iso", "non-iso"],
                "default": "iso"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "arbitration-baudrate": {
            "description": "Baudrate for the arbitration phase of CAN FD in Baud. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "data-baudrate": {
            "description": "Baudrate for the data phase of CAN FD. \n If this value is set, it has priority. \n If this value is not set, the baudrate is read from the database. If the baudrate is missing from the database, the default value is used.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000000,
                "default": 1000000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the application channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          }
        },
        "oneOf": [
          {
            "required": ["arbitration-baudrate", "data-baudrate"],
            "properties": {
              "arbitration-baudrate": true,
              "data-baudrate": true
            }
          },
          {
            "properties": {
              "arbitration-baudrate": false,
              "data-baudrate": false
            }
          }
        ],
        "examples": [
          {
            "name": "my_canfd_network"
          },
          {
            "name": "my_canfd_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_canfd_network",
            "database": "DB_2",
            "application-channel": 42,
            "mode": "iso",
            "arbitration-baudrate": 500000,
            "data-baudrate": 1000000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "f146b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet network",
        "description": "A Network using the Ethernet protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/bd6e5/full"
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32
              }
            ]
          }
        },
        "examples": [
          {
            "name": "my_eth_network"
          },
          {
            "name": "my_eth_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "tcp-ip-stack-adapter": {
              "mac-address": "02:84:cf:3b:be:01"
            },
            "mapping": "external-sil-kit"
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "mapping": "internal-simulator",
            "tcp-ip-stack-adapter": {
              "mtu": 1500,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.1",
                    "subnet-mask": "255.255.0.0"
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "dhcp"
              },
              "vlans": [
                {
                  "id": 42,
                  "priority": 0
                }
              ]
            }
          }
        ]
      }
    },
    "e2323": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "FlexRay cluster",
        "description": "A cluster using the FlexRay protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "database"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          },
          "key-slot-configuration": {
            "$ref": "#/definitions/a7419/full"
          }
        },
        "examples": [
          {
            "name": "my_flexray_cluster",
            "database": "DB_1"
          },
          {
            "name": "my_flexray_cluster",
            "when": "SCENARIO_NAME == \"my_scenario_name\"",
            "database": "FR_DB"
          },
          {
            "name": "my_flexray_cluster",
            "database": "DB_1",
            "application-channel": 12,
            "mapping": "internal-simulator",
            "key-slot-configuration": {
              "slot-1": {
                "mode": "manual",
                "usage": "startup",
                "mask": "A",
                "slot": 1,
                "leading-cold-start": true
              },
              "slot-2": {
                "mode": "automatic"
              }
            }
          }
        ]
      }
    },
    "3a966": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN network",
        "description": "A network using the LIN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "application-channel": {
            "description": "Index of the application channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 64. Value '0' is not allowed.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          },
          "mode": {
            "description": "Working mode of the LIN interface.",
            "anyOf": [
              {
                "const": "commander",
                "description": "The LIN network interface is able to output message headers on the network."
              },
              {
                "const": "responder",
                "description": "The LIN network interface responds to received LIN headers if a response to the LIN ID contained within the header has been configured."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "commander",
            "examples": ["commander", "responder"]
          }
        },
        "examples": [
          {
            "name": "my_lin_network"
          },
          {
            "name": "my_lin_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_lin_network",
            "database": "DB_1",
            "application-channel": 42,
            "mapping": "internal-simulator",
            "mode": "responder"
          }
        ]
      }
    },
    "a6ab3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Node",
        "description": "Represents a simulation node used in a simulation",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "network-assignments"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/a19ff/full"
          },
          "network-assignments": {
            "$ref": "#/definitions/d0551/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          },
          "database-node": {
            "description": "Use to assign explicitly a database node to a simulation node. If not set, the simulation-node name will be used as database-node. To deactivate automatic assignment, it should be set to false.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [false, true, "aDatabaseNodeName", "${var_with_path}"]
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/172e4/full"
            },
            "description": "For assignment of modeling libraries to this simulation node."
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/6a522/full"
          }
        },
        "examples": [
          {
            "name": "mynode",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "file-path": "path/to/my_capl_script.can",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": true,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "defines": ["mydefine1", "mydefine2"],
            "modeling-libraries": ["modeling/lib/1.vmodule", "${path_in_var}"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": false,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          },
          {
            "name": "otherNameThanInDb",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": "nameFromDB",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          }
        ]
      }
    },
    "09e40": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Declares when to add this node.",
        "anyOf": [
          {
            "type": "string",
            "$comment": "impossible to express this grammar as a regex"
          },
          {
            "type": "boolean"
          }
        ],
        "examples": [
          "SCENARIO_NAME == \"my_scenario_name\"",
          "some_variable == \"somevalue\"",
          "some_int_variable > 42 && some_other_int_variable <= 42",
          true
        ]
      }
    },
    "b88a6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "anyOf": [
          {
            "$ref": "#/definitions/4de3d/full"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/4de3d/full"
            },
            "examples": [
              ["path/to/my.vcdl"],
              ["path/to/my.vcodm"],
              [
                "path/to/my.vcdl",
                "path/to/my.vcodm",
                "${path_in_variable}",
                "path/${name_in_variable}"
              ]
            ]
          }
        ],
        "examples": [
          "path/to/my.vcdl",
          ["path/to/my.vcodm"],
          [
            "path/to/my.vcdl",
            "path/to/my.vcodm",
            "${path_in_variable}",
            "path/${name_in_variable}"
          ]
        ]
      }
    },
    "f52d1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of defines to be passed to capl / vcdl.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/d6fe8/full"
        },
        "examples": [
          ["mydefine1", "mydefine2"],
          [
            "mydefine_with_value=42",
            "${var_with_define_name}=${var_with_define_value}"
          ]
        ]
      }
    },
    "4b905": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Model",
        "description": "Represents an application used in a scenario",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/b8a7b/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          }
        },
        "examples": [
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"]
          },
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "c3b11": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Programming modules",
        "description": "Programming modules file paths (capl-library or c-library). Entry can be deactivated with when.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "capl-library-path": {
            "anyOf": [
              {
                "$ref": "#/definitions/81bab/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/81bab/full"
                }
              }
            ]
          },
          "c-library-path": {
            "anyOf": [
              {
                "$ref": "#/definitions/81bab/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/81bab/full"
                }
              }
            ]
          }
        }
      }
    },
    "4aae7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User files",
        "description": "Absolute or relative path to user files that can be read/written by CAPL/.NET Scripts. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "anyOf": [
              {
                "type": "string",
                "examples": [
                  "path/to/my.txt",
                  "${path_in_variable}",
                  "path/${name_in_variable}"
                ]
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "examples": [
                  ["path/to/my.txt"],
                  ["${path_in_variable}", "path/${name_in_variable}"]
                ]
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.txt"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my_file.ini",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "375dd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "Absolute or relative path to an external xcpcfg file. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "$ref": "#/definitions/568cc/full"
                  },
                  {
                    "$ref": "#/definitions/a220f/full"
                  }
                ]
              },
              {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/definitions/568cc/full"
                    },
                    {
                      "$ref": "#/definitions/a220f/full"
                    }
                  ]
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.xcpcfg"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my.xcpcfg",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "42d39": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a FDX description file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[xX][mM][lL]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/myDescriptionFile.xml",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "dfa5a": {
      "local": {
        "stepsize-in-sec": {
          "description": "Step size in seconds.",
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 10000
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [0, 0.0005, 10000, "${var_with_path}"]
        },
        "debug-output": {
          "description": "Is the debug output active.",
          "anyOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [false, true, "${var_with_path}"]
        },
        "active-model-variables": {
          "description": "List of the FMU variables which should be exported",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        },
        "inactive-model-variables": {
          "description": "List of the FMU variables which should be excluded from the export",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup unit",
        "description": "Represents a functional mockup unit used in a scenario.",
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "required": ["file-path", "stepsize-in-sec"],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/dfa5a/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/dfa5a/local/debug-output"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "active-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/dfa5a/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/dfa5a/local/debug-output"
              },
              "active-model-variables": {
                "$ref": "#/definitions/dfa5a/local/active-model-variables"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "inactive-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/dfa5a/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/dfa5a/local/debug-output"
              },
              "inactive-model-variables": {
                "$ref": "#/definitions/dfa5a/local/inactive-model-variables"
              }
            }
          }
        ]
      }
    },
    "c9f2a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a SIL Kit config file (.yaml or .json). Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[yY][aA][mM][lL]$"
          },
          {
            "pattern": "^.*\\.[jJ][sS][oO][nN]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/myConfigFile.json",
          "path/to/myConfigFile.yaml",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "799e1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Name of a blf file, supporting the field codes: {ComputerName}, {LocalTime}, {MeasurementIndex}, {MeasurementStart}, {IncSize|001|100MB} and {IncTime|001|01h00m}.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^(?!.*(\\{TriggerCondition\\}|\\{LoggingBlock\\}|\\{IncMeasurement\\}|\\{ConfigName\\}|\\{IncTrigger\\|[0-9]*\\}|[\"<>*?:/\\\\])).*\\.[bB][lL][fF]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "$comment": "|<|>",
        "examples": [
          "fileName.blf",
          "file_${SCENARIO_NAME}.blf",
          "${name_in_variable}",
          "log_{ComputerName}.blf",
          "log_{LocalTime}.blf",
          "log_{MeasurementIndex}.blf",
          "log_{MeasurementStart}.blf"
        ]
      }
    },
    "a53a3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Advanced logging configurations.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "warn-overwritten-log-file": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          },
          "show-error-on-data-loss": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          }
        },
        "examples": [
          {
            "warn-overwritten-log-file": false,
            "show-error-on-data-loss": true
          },
          {
            "warn-overwritten-log-file": true
          }
        ]
      }
    },
    "1934a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN replay block",
        "description": "A replay block for the CAN protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/79394/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/0a52d/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/8451c/full"
          },
          "send-tx-messages": {
            "description": "Replay the tx messages.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-rx-messages": {
            "description": "Replay the rx messages.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "send-tx-messages": true,
            "send-rx-messages": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "5f17a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet replay block",
        "description": "A replay block for the ethernet protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/79394/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/0a52d/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/8451c/full"
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "aebb7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN replay block",
        "description": "A replay block for the LIN protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/79394/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/0a52d/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/8451c/full"
          },
          "replay-mode": {
            "description": "Select events to be replayed. \n'all-responses': replay all the responses.\n'master-responses-only': replay the responses only for frames published by the Master node.\n'master-requests-only': replay only 0x3c responses.\n'no-headers': disable replay of the LIN frame headers.",
            "default": "all-responses",
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "all-responses",
                  "master-responses-only",
                  "master-requests-only",
                  "no-headers"
                ]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "send-events": {
            "description": "Select which events from rx-responses, tx-responses and wakeup-signals are replayed. If not set, the default value depends on the value of replay-mode.\n For 'all-responses' or 'master-responses-only': all events are sent.\n For 'master-requests-only': only wakeup-events are sent.\n For 'no-headers': none of the events are sent.",
            "default": ["tx-responses", "rx-responses", "wakeup-signals"],
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": ["tx-responses", "rx-responses", "wakeup-signals"]
                    },
                    {
                      "$ref": "#/definitions/779cd/full"
                    }
                  ]
                }
              }
            ]
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            },
            "replay-mode": "master-responses-only",
            "send-events": ["tx-responses", "rx-responses", "wakeup-signals"]
          }
        ]
      }
    },
    "c18ab": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for database",
        "type": "object",
        "properties": {
          "additionalProperties": false,
          "autosar-pdu-layer": {
            "default": "from-autosar-4.2",
            "description": "Configure the PDU layer in relation to AUTOSAR databases.\n'no-pdus' : Creation of frames only \n'from-autosar-4.0' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.0 \n'from-autosar-4.2' : Creation of AUTOSAR PDUs for AUTOSAR DBs >= 4.2 ",
            "anyOf": [
              {
                "type": "string",
                "enum": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"],
                "examples": ["no-pdus", "from-autosar-4.0", "from-autosar-4.2"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "autosar-text-table-entries": {
            "description": "Control naming of text table entries and influence signal qualification. Use text from COMPU-CONST nodes or SHORT-LABEL nodes.",
            "default": "compu-const",
            "anyOf": [
              {
                "type": "string",
                "enum": ["compu-const", "short-label"],
                "examples": ["compu-const", "short-label"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "autosar-pdu-layer": "no-pdus"
          },
          {
            "autosar-text-table-entries": "compu-const"
          },
          {
            "autosar-pdu-layer": "no-pdus",
            "autosar-text-table-entries": "short-label"
          }
        ]
      }
    },
    "00f15": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Node",
        "description": "Represents a simulation node used in a simulation",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "network-assignments"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/a19ff/full"
          },
          "network-assignments": {
            "$ref": "#/definitions/d0551/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          },
          "database-node": {
            "description": "Use to assign explicitly a database node to a simulation node. If not set, the simulation-node name will be used as database-node. To deactivate automatic assignment, it should be set to false.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [false, true, "aDatabaseNodeName", "${var_with_path}"]
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/b1f6d/full"
            },
            "description": "For assignment of modeling libraries to this simulation node."
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/6a522/full"
          }
        },
        "examples": [
          {
            "name": "mynode",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "file-path": "path/to/my_capl_script.can",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": true,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "defines": ["mydefine1", "mydefine2"],
            "modeling-libraries": ["modeling/lib/1.vmodule", "${path_in_var}"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": false,
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          },
          {
            "name": "otherNameThanInDb",
            "file-path": "path/to/my_dotnet.cs",
            "database-node": "nameFromDB",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ]
          }
        ]
      }
    },
    "fe737": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN network",
        "description": "A Network using the CAN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "baudrate": {
            "description": "Baudrate of this CAN bus.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          }
        },
        "examples": [
          {
            "name": "my_can_network"
          },
          {
            "name": "my_can_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_can_network",
            "database": "DB_1",
            "application-channel": 42,
            "baudrate": 500000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "077d5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD network",
        "description": "A Network using the CANFD protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "mode": {
            "description": "Operation Mode setting (iso or non-iso Mode).",
            "anyOf": [
              {
                "type": "string",
                "enum": ["iso", "non-iso"],
                "default": "iso"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "arbitration-baudrate": {
            "description": "Baudrate for the arbitration phase of CAN FD in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 2000000,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "data-baudrate": {
            "description": "Baudrate for the data phase of CAN FD.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000000,
                "default": 1000000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          }
        },
        "examples": [
          {
            "name": "my_canfd_network"
          },
          {
            "name": "my_canfd_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_canfd_network",
            "database": "DB_2",
            "application-channel": 42,
            "mode": "iso",
            "arbitration-baudrate": 500000,
            "data-baudrate": 1000000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "fb03e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet network",
        "description": "A Network using the Ethernet protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/bd6e5/full"
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32
              }
            ]
          }
        },
        "examples": [
          {
            "name": "my_eth_network"
          },
          {
            "name": "my_eth_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "tcp-ip-stack-adapter": {
              "mac-address": "02:84:cf:3b:be:01"
            },
            "mapping": "external-sil-kit"
          },
          {
            "name": "my_eth_network",
            "database": "DB",
            "application-channel": 12,
            "mapping": "internal-simulator",
            "tcp-ip-stack-adapter": {
              "mtu": 1500,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.1",
                    "subnet-mask": "255.255.0.0"
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "dhcp"
              },
              "vlans": [
                {
                  "id": 42,
                  "priority": 0
                }
              ]
            }
          }
        ]
      }
    },
    "974c5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "LIN network",
        "description": "A network using the LIN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "database": {
            "$ref": "#/definitions/17e6a/full"
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each bus type should provide consecutive indices. Starts counting at 1. Value between 1 and 64. Value '0' is not allowed.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/ad271/full"
          },
          "mode": {
            "description": "Working mode of the LIN interface.",
            "anyOf": [
              {
                "const": "commander",
                "description": "The LIN network interface is able to output message headers on the network."
              },
              {
                "const": "responder",
                "description": "The LIN network interface responds to received LIN headers if a response to the LIN ID contained within the header has been configured."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": "commander",
            "examples": ["commander", "responder"]
          }
        },
        "examples": [
          {
            "name": "my_lin_network"
          },
          {
            "name": "my_lin_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_lin_network",
            "database": "DB_1",
            "application-channel": 42,
            "mapping": "internal-simulator",
            "mode": "responder"
          }
        ]
      }
    },
    "843bf": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global settings for Ethernet",
        "type": "object",
        "properties": {
          "access-mode": {
            "description": "Mode of the underlying Ethernet bus. Classic approach is the 'Channel-based' setup.       More recent and recommended mode is the switched 'Network-based' mode (port based).",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "string",
                "enum": ["network-based", "channel-based"],
                "default": "network-based"
              }
            ]
          },
          "signal-updates": {
            "description": "Specifies how signals are updated on Network-based access. Will be ignored on Channel-based setups. Always: Events of all ports are used to update a signal without qualified ethernet port. rx-only: Only packets received by the interface are used, which leads to less duplicated updates. never: Signals without qualified ethernet ports are not updated.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "const": "always",
                "description": "Events of all ports are used to update a signal without qualified ethernet port."
              },
              {
                "const": "rx-only",
                "description": "Only packets received by the interface are used, which leads to less duplicated updates."
              },
              {
                "const": "never",
                "description": "Signals without qualified ethernet ports are not updated."
              }
            ]
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/b73a4/full"
          }
        },
        "additionalProperties": false,
        "examples": [
          {
            "access-mode": "network-based"
          },
          {
            "access-mode": "channel-based",
            "signal-updates": "always"
          },
          {
            "signal-updates": "rx-only"
          },
          {
            "signal-updates": "never"
          }
        ]
      }
    },
    "03ea7": {
      "local": {
        "name": {
          "type": "string",
          "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
          "allOf": [
            {
              "not": {
                "pattern": "^[cC][aA][nN][oO][eE]_.*$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][nN][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[aA][sS][sS][eE][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][oO][oO][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[bB][rR][eE][aA][kK]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][aA][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][lL][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[cC][oO][nN][tT][iI][nN][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[dD][eE][lL][eE][tT][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[eE][xX][cC][eE][pP][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][aA][lL][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][iI][nN][aA][lL][lL][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][lL][oO][aA][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[fF][rR][oO][mM]$"
              }
            },
            {
              "not": {
                "pattern": "^[gG][lL][oO][bB][aA][lL]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][mM][pP][oO][rR][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][nN][tT][eE][gG][eE][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[lL][oO][nN][gG]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][nN][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[nN][oO][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[pP][aA][sS][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][aA][iI][sS][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[rR][eE][tT][uU][rR][nN]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][cC][eE][nN][aA][rR][iI][oO]_[nN][aA][mM][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][eE][lL][fF]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][tT][rR][uU][cC][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[sS][wW][iI][tT][cC][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][hH][iI][sS]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][uU][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[tT][rR][yY]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][iI][nN][tT]$"
              }
            },
            {
              "not": {
                "pattern": "^[uU][nN][sS][iI][gG][nN][eE][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[vV][oO][iI][dD]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][hH][iI][lL][eE]$"
              }
            },
            {
              "not": {
                "pattern": "^[wW][iI][tT][hH]$"
              }
            },
            {
              "not": {
                "pattern": "^[xX][oO][rR]$"
              }
            },
            {
              "not": {
                "pattern": "^[yY][iI][eE][lL][dD]$"
              }
            }
          ],
          "examples": ["my_var"]
        },
        "from-environment": {
          "type": "boolean",
          "default": false
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Variable",
        "description": "This variable can be used in any other node and overwritten by a scenario.",
        "type": "object",
        "required": ["name"],
        "$comment": "has to be split, since the type determines the valid values",
        "oneOf": [
          {
            "$comment": "type implicit",
            "additionalProperties": false,
            "required": ["value"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            }
          },
          {
            "$comment": "type int",
            "additionalProperties": false,
            "required": ["type"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "type": "integer",
                "minimum": -9223372036854775808,
                "maximum": 9223372036854775807
              },
              "type": {
                "const": "int"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": -9223372036854775808,
                  "maximum": 9223372036854775807
                }
              }
            }
          },
          {
            "$comment": "type uint",
            "additionalProperties": false,
            "required": ["type"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 18446744073709551616
              },
              "type": {
                "const": "uint"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 18446744073709551616
                }
              }
            }
          },
          {
            "$comment": "type string / path",
            "additionalProperties": false,
            "required": ["type"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "type": "string"
              },
              "type": {
                "enum": ["string", "path"]
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "$comment": "type boolean",
            "additionalProperties": false,
            "required": ["type"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "type": "boolean"
              },
              "type": {
                "const": "bool"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "boolean"
                }
              }
            }
          },
          {
            "$comment": "type float",
            "additionalProperties": false,
            "required": ["type"],
            "properties": {
              "name": {
                "$ref": "#/definitions/03ea7/local/name"
              },
              "from-environment": {
                "$ref": "#/definitions/03ea7/local/from-environment"
              },
              "value": {
                "type": "number",
                "minimum": -1.79769e308,
                "maximum": 1.79769e308
              },
              "type": {
                "const": "float"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "number",
                  "minimum": -1.79769e308,
                  "maximum": 1.79769e308
                }
              }
            }
          }
        ],
        "examples": [
          {
            "name": "var",
            "value": -42
          },
          {
            "name": "my_string",
            "value": "implicit-type"
          },
          {
            "name": "var",
            "value": 422200000000.0,
            "type": "float"
          },
          {
            "name": "path_var",
            "value": "path/to/somewhere",
            "type": "path"
          },
          {
            "name": "uint_enum",
            "value": 43,
            "type": "uint",
            "options": [1, 43, 127]
          }
        ]
      }
    },
    "8e790": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Model",
        "description": "Represents an application used in a scenario",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/619f7/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          }
        },
        "examples": [
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"]
          },
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "37850": {
      "local": {
        "stepsize-in-sec": {
          "description": "step size in seconds",
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 1.79769e308
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [0, 0.0005, 1568714585, "${var_with_path}"]
        },
        "debug-output": {
          "description": "Are the debug outputs on",
          "anyOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [false, true, "${var_with_path}"]
        },
        "active-model-variables": {
          "description": "List of the FMU variables which should be exported",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        },
        "inactive-model-variables": {
          "description": "List of the FMU variables which should be excluded from the export",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["Variable1", "${var_with_path}"]
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup unit",
        "description": "Represents a functional mockup unit used in a scenario",
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "required": ["file-path", "stepsize-in-sec"],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/37850/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/37850/local/debug-output"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "active-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/37850/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/37850/local/debug-output"
              },
              "active-model-variables": {
                "$ref": "#/definitions/37850/local/active-model-variables"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "inactive-model-variables"
            ],
            "properties": {
              "when": {
                "$ref": "#/definitions/09e40/full"
              },
              "file-path": {
                "$ref": "#/definitions/8af01/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/37850/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/37850/local/debug-output"
              },
              "inactive-model-variables": {
                "$ref": "#/definitions/37850/local/inactive-model-variables"
              }
            }
          }
        ]
      }
    },
    "31be0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "XCP files",
        "description": "Absolute or relative path to an external xcpcfg file. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "anyOf": [
              {
                "$ref": "#/definitions/568cc/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/568cc/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.xcpcfg"
          },
          {
            "file-path": ["${path_in_variable}", "path/${name_in_variable}"]
          },
          {
            "file-path": "path/to/my.xcpcfg",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "c55d3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Advanced logging configurations",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "warn-overwritten-log-file": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          },
          "show-error-on-data-loss": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "default": true
          }
        },
        "examples": [
          {
            "warn-overwritten-log-file": false,
            "show-error-on-data-loss": true
          },
          {
            "warn-overwritten-log-file": true
          }
        ]
      }
    },
    "796db": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Node",
        "description": "Represents a simulation node used in a simulation",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "network-assignments"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/a10be/full"
          },
          "network-assignments": {
            "$ref": "#/definitions/f6782/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/b1f6d/full"
            },
            "description": "For assignment of modeling libraries to this simulation node"
          },
          "tcp-ip-stack": {
            "$ref": "#/definitions/dfa4a/full"
          }
        },
        "examples": [
          {
            "name": "mynode",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "file-path": "path/to/my_capl_script.can",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "network-assignments": [
              {
                "network": "my_can_network_1",
                "database-node": {
                  "database": "mydatabase",
                  "node": "mynode"
                }
              }
            ],
            "defines": ["mydefine1", "mydefine2"],
            "modeling-libraries": ["modeling/lib/1.vmodule", "${path_in_var}"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "3071b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Database",
        "description": "Absolute or relative path to an external database file (.dbc / .ldf / ...). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "network-name": {
            "type": "string"
          },
          "file-path": {
            "type": "string",
            "anyOf": [
              {
                "pattern": "^.*\\.[Aa][Rr][Xx][Mm][Ll]$"
              },
              {
                "pattern": "^.*\\.[Xx][Mm][Ll]$"
              },
              {
                "pattern": "^.*\\.[Dd][Bb][Cc]$"
              },
              {
                "pattern": "^.*\\.[Ll][Dd][Ff]$"
              },
              {
                "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
              }
            ],
            "examples": [
              "path/to/some.dbc",
              "path/to/some.arxml",
              "path/to/some.xml",
              "path/to/some.ldf",
              "path/${var_with_name}",
              "${var_with_path}"
            ]
          }
        },
        "examples": [
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.arxml",
            "network-name": "network_in_db"
          },
          {
            "name": "mydbname",
            "file-path": "path/to/some.dbc",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "fe7b6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN network",
        "description": "A Network using the CAN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "databases": {
            "$ref": "#/definitions/01ff2/full"
          },
          "baudrate": {
            "description": "Baudrate in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/0f9b3/full"
          }
        },
        "examples": [
          {
            "name": "my_can_network"
          },
          {
            "name": "my_can_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_can_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 42,
            "baudrate": 500000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "d92db": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD network",
        "description": "A Network using the CANFD protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "databases": {
            "$ref": "#/definitions/01ff2/full"
          },
          "mode": {
            "description": "Operation Mode setting (iso or non-iso Mode).",
            "anyOf": [
              {
                "type": "string",
                "enum": ["iso", "non-iso"],
                "default": "iso"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "arbitration-baudrate": {
            "description": "Baudrate for the arbitration phase of CAN FD in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "data-baudrate": {
            "description": "Baudrate for the data phase of CAN FD in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 1000000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mapping": {
            "$ref": "#/definitions/0f9b3/full"
          }
        },
        "examples": [
          {
            "name": "my_canfd_network"
          },
          {
            "name": "my_canfd_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_canfd_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 42,
            "mode": "iso",
            "arbitration-baudrate": 500000,
            "data-baudrate": 1000000,
            "mapping": "internal-simulator"
          }
        ]
      }
    },
    "69b41": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet network",
        "description": "A Network using the Ethernet protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "databases": {
            "$ref": "#/definitions/01ff2/full"
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/bd6e5/full"
          },
          "mapping": {
            "$ref": "#/definitions/0f9b3/full"
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 32. Value '0' is not allowed.",
            "anyOf": [
              {
                "$ref": "#/definitions/779cd/full"
              },
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 32
              }
            ]
          }
        },
        "examples": [
          {
            "name": "my_eth_network"
          },
          {
            "name": "my_eth_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_eth_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 12,
            "tcp-ip-stack-adapter": {
              "mac-address": "02:84:cf:3b:be:01"
            },
            "mapping": "external-sil-kit"
          },
          {
            "name": "my_eth_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 12,
            "mapping": "internal-simulator",
            "tcp-ip-stack-adapter": {
              "mtu": 1500,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.1",
                    "subnet-mask": "255.255.0.0"
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "dhcp"
              },
              "vlans": [
                {
                  "id": 42,
                  "priority": 0
                }
              ]
            }
          }
        ]
      }
    },
    "77df9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN replay block",
        "description": "A replay block for the CAN protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/79394/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/b8d33/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/c4168/full"
          },
          "send-tx-messages": {
            "description": "Replay the tx messages.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-rx-messages": {
            "description": "Replay the rx messages.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "send-tx-messages": true,
            "send-rx-messages": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "3cca7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Ethernet replay block",
        "description": "A replay block for the ethernet protocol.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "file-path"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/79394/full"
          },
          "replay-on-measurement-start": {
            "description": "Replay starts with measurement start",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "send-system-variables": {
            "description": "Send system variable values.",
            "anyOf": [
              {
                "type": "boolean",
                "default": true
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": [true, false, "${variable}"]
          },
          "start-timing-condition": {
            "$ref": "#/definitions/b8d33/full"
          },
          "channel-mapping": {
            "$ref": "#/definitions/c4168/full"
          }
        },
        "examples": [
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf"
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "when": "SCENARIO_NAME == \"MyScenario\""
          },
          {
            "name": "ReplayBlock",
            "file-path": "MyLoggingFile.blf",
            "replay-on-measurement-start": true,
            "send-system-variables": false,
            "start-timing-condition": {
              "condition": "immediately"
            },
            "channel-mapping": {
              "default-mapping": "as-in-original"
            }
          }
        ]
      }
    },
    "4909e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenario",
        "description": "A scenario with the option to define / override variables or defines",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
            "not": {
              "const": "Default"
            }
          },
          "variables": {
            "$ref": "#/definitions/f9fcb/full"
          },
          "defines": {
            "$ref": "#/definitions/f52d1/full"
          }
        },
        "examples": [
          {
            "name": "my_scenario_name"
          },
          {
            "name": "override_variables",
            "variables": [
              {
                "name": "three",
                "value": 3
              }
            ]
          },
          {
            "name": "override_defines",
            "defines": ["mydefine", "mydevine_with_value=42"]
          }
        ]
      }
    },
    "51b90": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Application Model",
        "description": "Represents an application used in a scenario",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/619f7/full"
          },
          "defines": {
            "$ref": "#/definitions/883aa/full"
          }
        },
        "examples": [
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"]
          },
          {
            "file-path": "path/to/my/file.can",
            "defines": ["mydefine1", "mydefine=2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "cd5c2": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Define",
        "description": "Defines to be passed to capl / vcdl.",
        "type": "object",
        "additionalProperties": false,
        "required": ["define"],
        "properties": {
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "define": {
            "anyOf": [
              {
                "$ref": "#/definitions/a8440/full"
              },
              {
                "$ref": "#/definitions/883aa/full"
              }
            ]
          }
        },
        "examples": [
          {
            "define": "mydefine1"
          },
          {
            "define": ["mydefine1", "mydefine2"]
          },
          {
            "define": ["mydefine1", "mydefine2"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "define": [
              "mydefine_with_value=42",
              "${var_with_define_name}=${var_with_define_value}"
            ]
          }
        ]
      }
    },
    "86b88": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Simulation Node",
        "description": "Represents a simulation node used in a simulation",
        "additionalProperties": false,
        "type": "object",
        "required": ["name", "network-assignments"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "file-path": {
            "$ref": "#/definitions/a10be/full"
          },
          "network-assignments": {
            "$ref": "#/definitions/34322/full"
          },
          "defines": {
            "$ref": "#/definitions/883aa/full"
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ee1ae/full"
            },
            "description": "For assignment of modeling libraries to this simulation node"
          }
        },
        "examples": [
          {
            "name": "mynode",
            "network-assignments": [
              {
                "network": "my_can_network_1"
              }
            ],
            "file-path": "path/to/my_capl_script.can",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "mynode",
            "file-path": "path/to/my_dotnet.cs",
            "network-assignments": [
              {
                "network": "my_can_network_1",
                "database-node": {
                  "database": "mydatabase",
                  "node": "mynode"
                },
                "modeling-libraries": ["modeling/lib/2.dll"]
              }
            ],
            "defines": ["mydefine1", "mydefine2"],
            "modeling-libraries": ["modeling/lib/1.dll", "${path_in_var}"],
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          }
        ]
      }
    },
    "00571": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAN network",
        "description": "A Network using the CAN protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "databases": {
            "$ref": "#/definitions/c2452/full"
          },
          "baudrate": {
            "description": "Baudrate in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "name": "my_can_network"
          },
          {
            "name": "my_can_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_can_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 42,
            "baudrate": 500000
          }
        ]
      }
    },
    "b0b65": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CANFD network",
        "description": "A Network using the CANFD protocol taking part in a simulation.",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "$ref": "#/definitions/038dc/full"
          },
          "when": {
            "$ref": "#/definitions/09e40/full"
          },
          "databases": {
            "$ref": "#/definitions/c2452/full"
          },
          "mode": {
            "description": "Operation Mode setting (iso or non-iso Mode).",
            "anyOf": [
              {
                "type": "string",
                "enum": ["iso", "non-iso"],
                "default": "iso"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "arbitration-baudrate": {
            "description": "Baudrate for the arbitration phase of CAN FD in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 500000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "data-baudrate": {
            "description": "Baudrate for the data phase of CAN FD in Baud.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 1000000
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "application-channel": {
            "description": "Index of the Application Channel. Each busytype should provide consecutive indices. Starts counting at 1. Value between 1 and 255. Value '0' is not allowed. Caution: CAN and CANFD share the Application Channels!",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 255,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "name": "my_canfd_network"
          },
          {
            "name": "my_canfd_network",
            "when": "SCENARIO_NAME == \"my_scenario_name\""
          },
          {
            "name": "my_canfd_network",
            "databases": ["DB_1", "DB_2"],
            "application-channel": 42,
            "mode": "iso",
            "arbitration-baudrate": 500000,
            "data-baudrate": 1000000
          }
        ]
      }
    },
    "d12ef": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Scenario",
        "description": "A scenario with the option to define / override variables or defines",
        "type": "object",
        "additionalProperties": false,
        "required": ["name"],
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
            "not": {
              "const": "Default"
            }
          },
          "variables": {
            "$ref": "#/definitions/f9fcb/full"
          },
          "defines": {
            "$ref": "#/definitions/883aa/full"
          }
        },
        "examples": [
          {
            "name": "my_scenario_name"
          },
          {
            "name": "override_variables",
            "variables": [
              {
                "name": "three",
                "value": 3
              }
            ]
          },
          {
            "name": "override_defines",
            "defines": ["mydefine", "mydevine_with_value=42"]
          }
        ]
      }
    },
    "d1985": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of an application model (can/canencr/cs/sln/py/vmodule). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Pp][Yy]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn][Ee][Nn][Cc][Rr]$"
          },
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "my_dotnet.cs",
          "my_python.py",
          "my_visual_studio.sln",
          "my_capl_file.can",
          "my_encrypted_capl_file.canencr",
          "my_module.vmodule",
          "${some_variable}"
        ]
      }
    },
    "038dc": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A C-identifier for this element (case sensitive)",
        "type": "string",
        "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
        "examples": ["myid", "THIS_IS_CASE_SENSITIVE", "__1_2_3_4_5__"]
      }
    },
    "8ab6a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "string",
        "oneOf": [
          {
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
          },
          {
            "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}[a-zA-Z0-9_]*$"
          }
        ],
        "examples": [
          "myid",
          "THIS_IS_CASE_SENSITIVE",
          "__1_2_3_4_5__",
          "${id_in_variable}"
        ]
      }
    },
    "d63e6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Define the mapping of application channels to an underlying layer. Connect the network either to simulated network (\"internal-simulator\") or to SIL Kit (\"external-sil-kit\"). \nThe default value is derived from global-settings/default-network-mapping.",
        "$ref": "#/definitions/85c8a/full"
      }
    },
    "a9048": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a replay file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[bB][lL][fF]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my.blf",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "159aa": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Timing conditions",
        "description": "Timing conditions for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "condition": {
            "description": "The condition when the replay shall start.",
            "oneOf": [
              {
                "const": "immediately",
                "description": "The first event of the replayed file occurs with measurement start."
              },
              {
                "const": "first-event-time",
                "description": "The original timestamp of the replayed file are used."
              },
              {
                "const": "delayed",
                "description": "The first event is delayed. Can be configured by the 'delayed-ms' element."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "delay-ms": {
            "description": "The delay in ms if the condition 'delayed' is selected. No effect otherwise.",
            "$ref": "#/definitions/230ce/full"
          }
        },
        "examples": [
          {
            "condition": "immediately"
          },
          {
            "condition": "first-event-time"
          },
          {
            "condition": "delayed",
            "delay-ms": 1000
          },
          {
            "condition": "${variable}"
          }
        ]
      }
    },
    "7d7e4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Channel mapping",
        "description": "The channel mapping for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "default-mapping": {
            "description": "The default mapping of a channel if it is not explicitly mapped.",
            "oneOf": [
              {
                "const": "as-in-original",
                "description": "The channel is mapped to itself if there is an active network."
              },
              {
                "const": "ignore-all",
                "description": "The channels are ignored by default."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mappings": {
            "title": "Explicit mappings",
            "description": "The explicitly mapped channels. Overwrites the default mapping for the source.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "title": "Map source channel",
                  "type": "object",
                  "description": "Mapping from application channel of the replay file to a target network.",
                  "additionalProperties": false,
                  "required": ["source-channel", "target-network"],
                  "properties": {
                    "source-channel": {
                      "description": "The source application channel from the replayed file.",
                      "$ref": "#/definitions/20152/full"
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "oneOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Map source network",
                  "type": "object",
                  "description": "Mapping from a named source network of the replay file to a named target network.",
                  "additionalProperties": false,
                  "required": ["source-network", "target-network"],
                  "properties": {
                    "source-network": {
                      "description": "The source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "oneOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Ignore source channel",
                  "type": "object",
                  "description": "Ignores an application channel of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-channel"],
                  "properties": {
                    "ignore-source-channel": {
                      "description": "The ignored source channel.",
                      "$ref": "#/definitions/20152/full"
                    }
                  }
                },
                {
                  "title": "Ignore source network",
                  "type": "object",
                  "description": "Ignores a named source network of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-network"],
                  "properties": {
                    "ignore-source-network": {
                      "description": "The ignored source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        },
        "examples": [
          {
            "default-mapping": "as-in-original"
          },
          {
            "default-mapping": "ignore-all",
            "mappings": [
              {
                "source-channel": 1,
                "target-network": "CAN1"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "source-network": "CAN1",
                "target-network": "CAN2"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "ignore-source-channel": 2
              },
              {
                "ignore-source-network": "CAN4"
              }
            ]
          }
        ]
      }
    },
    "c6ecb": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to an external database file (.arxml/.dbc/.ldf). Relative path specifications are resolved relative to the YAML configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Aa][Rr][Xx][Mm][Ll]$"
          },
          {
            "pattern": "^.*\\.[Dd][Bb][Cc]$"
          },
          {
            "pattern": "^.*\\.[Ll][Dd][Ff]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/some.dbc",
          "path/to/some.arxml",
          "path/to/some.ldf",
          "path/${var_with_name}",
          "${var_with_path}"
        ]
      }
    },
    "6c62c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Reference to external datasource files (.vcdl/.vcodm). Absolute or relative path. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][cC][dD][lL]$"
          },
          {
            "pattern": "^.*\\.[vV][cC][oO][dD][mM]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my.vcdl",
          "path/to/my.vcodm",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "d6fe8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Define to be passed to capl / vcdl.",
        "type": "string",
        "pattern": "^([a-zA-Z_]|([a-zA-Z_][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\})[a-zA-Z0-9_]*(=((0|[1-9][0-9]*)|(\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\})|[Tt]rue|[Ff]alse))?$",
        "examples": [
          "mydefine1",
          "mydefine2",
          "mydefine_with_value=42",
          "${var_with_define_name}=${var_with_define_value}"
        ]
      }
    },
    "60037": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Address configuration for an TCP/IP stack.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mac-address": {
            "$ref": "#/definitions/6b85b/full"
          },
          "mtu": {
            "$ref": "#/definitions/cb1c2/full"
          },
          "ipv4-settings": {
            "$ref": "#/definitions/4b907/full"
          },
          "ipv6-settings": {
            "$ref": "#/definitions/e391e/full"
          },
          "vlans": {
            "$ref": "#/definitions/f1175/full"
          }
        },
        "examples": [
          {
            "mac-address": "02:84:cf:3b:be:01"
          },
          {
            "mtu": 1500,
            "ipv4-settings": {
              "address-configuration": "static",
              "addresses": [
                {
                  "address": "192.168.0.1",
                  "subnet-mask": "255.255.0.0"
                }
              ]
            },
            "ipv6-settings": {
              "address-configuration": "dhcp"
            },
            "vlans": [
              {
                "id": 42,
                "priority": 0
              }
            ]
          }
        ]
      }
    },
    "f11ad": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Via the key slot configuration it is possible to transmit two start-up/sync frames. Thus an external start-up node is not required for the start-up of a flexray cluster.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slot-1": {
            "$ref": "#/definitions/00b39/full"
          },
          "slot-2": {
            "$ref": "#/definitions/00b39/full"
          }
        }
      }
    },
    "a51de": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Channel mapping",
        "description": "The channel mapping for a FlexRay replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "default-mapping": {
            "description": "The default mapping of a channel if it is not explicitly mapped.",
            "oneOf": [
              {
                "const": "as-in-original",
                "description": "All channels linked to the network this node is attached to are mapped."
              },
              {
                "const": "ignore-all",
                "description": "The channels are ignored by default."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mappings": {
            "title": "Explicit mappings",
            "description": "The explicitly mapped channels. Overwrites the default mapping for the source.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "title": "Map source network",
                  "type": "object",
                  "description": "Mapping of a named source network from the replay file to the network this node is linked to.",
                  "additionalProperties": false,
                  "required": ["source-network"],
                  "properties": {
                    "source-network": {
                      "description": "The source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    }
                  }
                },
                {
                  "title": "Map source channel",
                  "type": "object",
                  "description": "Mapping of an application channel from the replay file to the network this node is linked to.",
                  "additionalProperties": false,
                  "required": ["source-channel"],
                  "properties": {
                    "source-channel": {
                      "description": "The source application channel from the replayed file.",
                      "$ref": "#/definitions/20152/full"
                    }
                  }
                }
              ]
            }
          }
        },
        "examples": [
          {
            "default-mapping": "as-in-original"
          },
          {
            "default-mapping": "ignore-all",
            "mappings": [
              {
                "source-channel": 1
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "source-network": "flexray2"
              },
              {
                "source-channel": 3
              }
            ]
          }
        ]
      }
    },
    "3ebec": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a functional mockup unit (.fmu). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Ff][Mm][Uu]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "my_functional_mockup_unit.fmu",
          "Inputs/MyFmu.FMU",
          "${some_variable}"
        ]
      }
    },
    "db0d5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Global configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to \"operating-system\", the machines configuration is used. If set to \"canoe\", a custom configuration can be provided",
                "oneOf": [
                  {
                    "const": "operating-system",
                    "description": "If set to \"operating-system\", the machines configuration is used. Use \"canoe\" if settings should be manually provided."
                  }
                ],
                "default": "operating-system",
                "examples": ["canoe", "operating-system"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to \"operating-system\", the machines configuration is used. If set to \"canoe\", a custom configuration can be provided",
                "oneOf": [
                  {
                    "const": "canoe",
                    "description": "If set to \"canoe\", a custom configuration can be provided (remove other elements for option \"operating-system\")"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "default": "operating-system",
                "examples": ["canoe", "operating-system"]
              },
              "activate-routing": {
                "$ref": "#/definitions/698c3/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/6665e/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/8b747/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/64730/full"
              }
            }
          }
        ],
        "examples": [
          {
            "selected-stack": "canoe",
            "activate-routing": true,
            "tcp-delayed-ack": true,
            "ipv4-gateway": "192.168.0.33",
            "ipv6-gateway": "::1"
          },
          {
            "selected-stack": "operating-system"
          }
        ]
      }
    },
    "47aa6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vmodule file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "1030e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "integer",
        "minimum": 0,
        "maximum": 4294967295
      }
    },
    "c4a92": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a simulation node. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn][Ee][Nn][Cc][Rr]$"
          },
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my_capl_script.can",
          "path/to/my_encrypted_capl_file.canencr",
          "path/to/my_dotnet.cs",
          "path/to/my_visual_studio.sln",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "960ef": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of networks represented by this application.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/2ffc1/full"
        },
        "examples": [
          [
            {
              "network": "my_can_network_1"
            }
          ]
        ]
      }
    },
    "58c94": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vmodule modeling library. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "CANoeILNLVector.vmodule",
          "SomeIP_IL.vmodule",
          "AsrPDUIL2.vmodule",
          "OSEKNM01.vmodule",
          "DMOSEKNM.vmodule",
          "AsrNM30.vmodule",
          "AsrNM33.vmodule",
          "AsrUdpNm.vmodule",
          "AVB_IL.vmodule",
          "CANoeILNL_AUTOSAR_Eth.vmodule",
          "LINtp.vmodule",
          "SCC_ChargePoint.vmodule",
          "SCC_Monitor.vmodule",
          "SCC_Vehicle.vmodule",
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "dd53d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Simulation node configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to \"operating-system\", the machines configuration is used.\n If set to \"canoe\", the configuration on the global level is used (this requires globals-settings/ethernet/tcp-ip-stack/selected-stack to be set to \"canoe\").\n If set to \"individual\", a custom configuration can be provided.",
                "enum": ["operating-system", "canoe"],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to \"operating-system\", the machines configuration is used.\n If set to \"canoe\", the configuration on the global level is used (this requires globals-settings/ethernet/tcp-ip-stack/selected-stack to be set to \"canoe\").\n If set to \"individual\", a custom configuration can be provided.",
                "oneOf": [
                  {
                    "enum": ["individual"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              },
              "activate-routing": {
                "$ref": "#/definitions/698c3/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/6665e/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/8b747/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/64730/full"
              }
            }
          }
        ]
      }
    },
    "863d7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vsysvar file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][sS][yY][sS][vV][aA][rR]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my.vsysvar",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "c49a5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "integer",
        "minimum": -9223372036854775808,
        "maximum": 9223372036854775807
      }
    },
    "39ed5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "integer",
        "minimum": 0,
        "maximum": 18446744073709551615
      }
    },
    "f26f2": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "number",
        "minimum": -1.79769e308,
        "maximum": 1.79769e308
      }
    },
    "d5dc9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a xcp.yaml / xcpcfg file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Yy][Aa]?[Mm][Ll]$"
          },
          {
            "pattern": "^.*\\.[xX][cC][pP][cC][fF][gG]$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "path/to/my.xcp.yaml",
          "path/to/my.xcp.yml",
          "path/to/my.xcpcfg",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "56b2f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Global configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used. If set to canoe, a custom configuration can be provided",
                "anyOf": [
                  {
                    "const": "operating-system",
                    "description": "If set to operating-system, the machines configuration is used. (use 'canoe' if settings should be manually provided)"
                  }
                ],
                "examples": ["canoe", "operating-system"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used. If set to canoe, a custom configuration can be provided",
                "anyOf": [
                  {
                    "const": "canoe",
                    "description": "If set to canoe, a custom configuration can be provided. (remove other elements for option operating-system)"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["canoe", "operating-system"]
              },
              "activate-routing": {
                "$ref": "#/definitions/6d6c1/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/b4b72/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/a0f9c/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/e231b/full"
              }
            }
          }
        ],
        "examples": [
          {
            "selected-stack": "canoe",
            "activate-routing": true,
            "tcp-delayed-ack": true,
            "ipv4-gateway": "192.168.0.33",
            "ipv6-gateway": "::1"
          },
          {
            "selected-stack": "operating-system"
          }
        ]
      }
    },
    "dc7e6": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vsysvar file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][sS][yY][sS][vV][aA][rR]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.vsysvar",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "5349d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to an external database file (.arxml/.dbc/.ldf). Relative path specifications are resolved relative to the YAML configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Aa][Rr][Xx][Mm][Ll]$"
          },
          {
            "pattern": "^.*\\.[Dd][Bb][Cc]$"
          },
          {
            "pattern": "^.*\\.[Ll][Dd][Ff]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/some.dbc",
          "path/to/some.arxml",
          "path/to/some.ldf",
          "path/${var_with_name}",
          "${var_with_path}"
        ]
      }
    },
    "17e6a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
          },
          {
            "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}[a-zA-Z0-9_]*$"
          }
        ],
        "examples": [
          "myid",
          "THIS_IS_CASE_SENSITIVE",
          "__1_2_3_4_5__",
          "${id_in_variable}"
        ]
      }
    },
    "ad271": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Define the mapping of application channels to an underlying layer.",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "const": "internal-simulator",
            "description": "Connect application channel to simulated network."
          },
          {
            "const": "external-sil-kit",
            "description": "Connect application channel to SIL Kit."
          }
        ],
        "default": "internal-simulator",
        "examples": ["internal-simulator", "external-sil-kit"]
      }
    },
    "bd6e5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Address configuration for an TCP/IP stack.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mac-address": {
            "$ref": "#/definitions/04e4b/full"
          },
          "mtu": {
            "$ref": "#/definitions/af2c7/full"
          },
          "ipv4-settings": {
            "$ref": "#/definitions/952c9/full"
          },
          "ipv6-settings": {
            "$ref": "#/definitions/0cca7/full"
          },
          "vlans": {
            "$ref": "#/definitions/8d980/full"
          }
        },
        "examples": [
          {
            "mac-address": "02:84:cf:3b:be:01"
          },
          {
            "mtu": 1500,
            "ipv4-settings": {
              "address-configuration": "static",
              "addresses": [
                {
                  "address": "192.168.0.1",
                  "subnet-mask": "255.255.0.0"
                }
              ]
            },
            "ipv6-settings": {
              "address-configuration": "dhcp"
            },
            "vlans": [
              {
                "id": 42,
                "priority": 0
              }
            ]
          }
        ]
      }
    },
    "a7419": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Via the key slot configuration it is possible to transmit two start-up/sync frames. Thus an external start-up node is not required for the start-up of a flexray cluster.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slot-1": {
            "$ref": "#/definitions/34d39/full"
          },
          "slot-2": {
            "$ref": "#/definitions/34d39/full"
          }
        }
      }
    },
    "a19ff": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a simulation node. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn][Ee][Nn][Cc][Rr]$"
          },
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my_capl_script.can",
          "path/to/my_encrypted_capl_file.canencr",
          "path/to/my_dotnet.cs",
          "path/to/my_visual_studio.sln",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "d0551": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of networks represented by this application.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/9a1f9/full"
        },
        "examples": [
          [
            {
              "network": "my_can_network_1"
            }
          ]
        ]
      }
    },
    "172e4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vmodule modeling library. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "CANoeILNLVector.vmodule",
          "SomeIP_IL.vmodule",
          "AsrPDUIL2.vmodule",
          "OSEKNM01.vmodule",
          "DMOSEKNM.vmodule",
          "AsrNM30.vmodule",
          "AsrNM33.vmodule",
          "AsrUdpNm.vmodule",
          "AVB_IL.vmodule",
          "CANoeILNL_AUTOSAR_Eth.vmodule",
          "LINtp.vmodule",
          "SCC_ChargePoint.vmodule",
          "SCC_Monitor.vmodule",
          "SCC_Vehicle.vmodule",
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "6a522": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Simulation node configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used.\n If set to canoe, the configuration on the global level is used (this requires globals-settings/ethernet/tcp-ip-stack/selected-stack to be set to canoe).\n If set to individual, a custom configuration can be provided",
                "enum": ["operating-system", "canoe"],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used.\n If set to canoe, the configuration on the global level is used (this requires globals-settings/ethernet/tcp-ip-stack/selected-stack to be set to canoe).\n If set to individual, a custom configuration can be provided",
                "anyOf": [
                  {
                    "enum": ["individual"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              },
              "activate-routing": {
                "$ref": "#/definitions/6d6c1/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/b4b72/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/a0f9c/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/e231b/full"
              }
            }
          }
        ]
      }
    },
    "4de3d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Reference to external datasource files (.vcdl/.vcodm). Absolute or relative path. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][cC][dD][lL]$"
          },
          {
            "pattern": "^.*\\.[vV][cC][oO][dD][mM]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.vcdl",
          "path/to/my.vcodm",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "b8a7b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of an application model (can/canencr/cs/sln/py/vmodule). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Pp][Yy]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn][Ee][Nn][Cc][Rr]$"
          },
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "my_dotnet.cs",
          "my_python.py",
          "my_visual_studio.sln",
          "my_capl_file.can",
          "my_encrypted_capl_file.canencr",
          "my_module.vmodule",
          "${some_variable}"
        ]
      }
    },
    "81bab": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vmodule file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "568cc": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a xcpcfg file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[xX][cC][pP][cC][fF][gG]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.xcpcfg",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "a220f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a YAML file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Yy][Aa]?[Mm][Ll]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.yaml",
          "path/to/my.yml",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "8af01": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a functional mockup unit (.fmu). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Ff][Mm][Uu]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "my_functional_mockup_unit.fmu",
          "Inputs/MyFmu.FMU",
          "${some_variable}"
        ]
      }
    },
    "79394": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a replay file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[bB][lL][fF]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.blf",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "0a52d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Timing conditions",
        "description": "Timing conditions for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "condition": {
            "description": "The condition when the replay shall start.",
            "anyOf": [
              {
                "const": "immediately",
                "description": "The first event of the replayed file occurs with measurement start."
              },
              {
                "const": "first-event-time",
                "description": "The original timestamp of the replayed file are used."
              },
              {
                "const": "delayed",
                "description": "The first event is delayed. Can be configured by the 'delayed-ms' element."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "delay-ms": {
            "description": "The delay in ms if the condition 'delayed' is selected. No effect otherwise.",
            "$ref": "#/definitions/0cd26/full"
          }
        },
        "examples": [
          {
            "condition": "immediately"
          },
          {
            "condition": "first-event-time"
          },
          {
            "condition": "delayed",
            "delay-ms": 1000
          },
          {
            "condition": "${variable}"
          }
        ]
      }
    },
    "8451c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Channel mapping",
        "description": "The channel mapping for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "default-mapping": {
            "description": "The default mapping of a channel if it is not explicitly mapped.",
            "anyOf": [
              {
                "const": "as-in-original",
                "description": "The channel is mapped to itself if there is an active network."
              },
              {
                "const": "ignore-all",
                "description": "The channels are ignored by default."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mappings": {
            "title": "Explicit mappings",
            "description": "The explicitly mapped channels. Overwrites the default mapping for the source.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "title": "Map source channel",
                  "type": "object",
                  "description": "Mapping from application channel of the replay file to a target network.",
                  "additionalProperties": false,
                  "required": ["source-channel", "target-network"],
                  "properties": {
                    "source-channel": {
                      "description": "The source application channel from the replayed file.",
                      "$ref": "#/definitions/f06ea/full"
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "anyOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Map source network",
                  "type": "object",
                  "description": "Mapping from a named source network of the replay file to a named target network.",
                  "additionalProperties": false,
                  "required": ["source-network", "target-network"],
                  "properties": {
                    "source-network": {
                      "description": "The source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "anyOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Ignore source channel",
                  "type": "object",
                  "description": "Ignores an application channel of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-channel"],
                  "properties": {
                    "ignore-source-channel": {
                      "description": "The ignored source channel.",
                      "$ref": "#/definitions/f06ea/full"
                    }
                  }
                },
                {
                  "title": "Ignore source network",
                  "type": "object",
                  "description": "Ignores a named source network of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-network"],
                  "properties": {
                    "ignore-source-network": {
                      "description": "The ignored source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        },
        "examples": [
          {
            "default-mapping": "as-in-original"
          },
          {
            "default-mapping": "ignore-all",
            "mappings": [
              {
                "source-channel": 1,
                "target-network": "CAN1"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "source-network": "CAN1",
                "target-network": "CAN2"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "ignore-source-channel": 2
              },
              {
                "ignore-source-network": "CAN4"
              }
            ]
          }
        ]
      }
    },
    "b1f6d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vmodule file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "CANoeILNLVector.vmodule",
          "SomeIP_IL.vmodule",
          "AsrPDUIL2.vmodule",
          "OSEKNM01.vmodule",
          "DMOSEKNM.vmodule",
          "AsrNM30.vmodule",
          "AsrNM33.vmodule",
          "AsrUdpNm.vmodule",
          "AVB_IL.vmodule",
          "CANoeILNL_AUTOSAR_Eth.vmodule",
          "SCC_ChargePoint.vmodule",
          "SCC_Monitor.vmodule",
          "SCC_Vehicle.vmodule",
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "b73a4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Global configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used. If set to canoe, a custom configuration can be provided",
                "anyOf": [
                  {
                    "const": "operating-system",
                    "description": "If set to operating-system, the machines configuration is used. (use 'canoe' if settings should be manually provided)"
                  }
                ],
                "examples": ["canoe", "operating-system"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used. If set to canoe, a custom configuration can be provided",
                "anyOf": [
                  {
                    "const": "canoe",
                    "description": "If set to canoe, a custom configuration can be provided. (remove other elements for option operating-system)"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["canoe", "operating-system"]
              },
              "activate-routing": {
                "$ref": "#/definitions/6d6c1/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/b4b72/full"
              },
              "timestamp-option-RFC1323": {
                "$ref": "#/definitions/31725/full"
              },
              "ttl": {
                "$ref": "#/definitions/ee197/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/a0f9c/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/e231b/full"
              }
            }
          }
        ]
      }
    },
    "619f7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of an application model (can/cs/sln/py/vmodule). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Pp][Yy]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "my_dotnet.cs",
          "my_python.py",
          "my_visual_studio.sln",
          "my_caplfile.can",
          "my_module.vmodule",
          "${some_variable}"
        ]
      }
    },
    "a10be": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a simulation node.  Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Cc][Aa][Nn]$"
          },
          {
            "pattern": "^.*\\.[Cc][Ss]$"
          },
          {
            "pattern": "^.*\\.[Ss][Ll][Nn]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my_capl_script.can",
          "path/to/my_dotnet.cs",
          "path/to/my_visual_studio.sln",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "f6782": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of network nodes represented by this application",
        "type": "array",
        "items": {
          "$ref": "#/definitions/2ae5f/full"
        },
        "examples": [
          [
            {
              "network": "my_can_network_1"
            }
          ],
          [
            {
              "network": "my_can_network_1",
              "lin-role": "master"
            },
            {
              "network": "my_can_network_1",
              "lin-role": ["master", "config-tester"]
            },
            {
              "network": "my_can_network_1",
              "database-node": {
                "database": "mydatabase",
                "node": "mynode"
              }
            }
          ]
        ]
      }
    },
    "dfa4a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Simulation node configuration for the TCP/IP stack.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used.\n If set to canoe, the configuration on the global level is used (this requires globals-settings/ethernet-settings/tcp-ip-stack/selected-stack to be set to canoe).\n If set to individual, a custom configuration can be provided",
                "enum": ["operating-system", "canoe"],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["selected-stack"],
            "properties": {
              "selected-stack": {
                "description": "If set to operating-system, the machines configuration is used.\n If set to canoe, the configuration on the global level is used (this requires globals-settings/ethernet-settings/tcp-ip-stack/selected-stack to be set to canoe).\n If set to individual, a custom configuration can be provided",
                "anyOf": [
                  {
                    "enum": ["individual"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "default": "individual",
                "examples": ["operating-system", "canoe", "individual"]
              },
              "activate-routing": {
                "$ref": "#/definitions/6d6c1/full"
              },
              "tcp-delayed-ack": {
                "$ref": "#/definitions/b4b72/full"
              },
              "timestamp-option-RFC1323": {
                "$ref": "#/definitions/31725/full"
              },
              "ttl": {
                "$ref": "#/definitions/ee197/full"
              },
              "ipv4-gateway": {
                "$ref": "#/definitions/a0f9c/full"
              },
              "ipv6-gateway": {
                "$ref": "#/definitions/e231b/full"
              }
            }
          }
        ]
      }
    },
    "01ff2": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A list of C-identifiers for referenced elements (case sensitive)",
        "type": "array",
        "items": {
          "$ref": "#/definitions/17e6a/full"
        },
        "examples": [
          ["myid"],
          ["THIS_IS_CASE_SENSITIVE", "__1_2_3_4_5__"],
          ["${id_in_variable}", "prefix_${infix_in_variable}_suffix"]
        ]
      }
    },
    "0f9b3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Define the mapping of application channels to an underlying layer",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "const": "internal-simulator",
            "description": "Connect application channel to simulated network."
          },
          {
            "const": "external-sil-kit",
            "description": "Connect application channel to SIL Kit."
          }
        ],
        "default": "internal-simulator",
        "examples": ["internal-simulator", "external-sil-kit"]
      }
    },
    "b8d33": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Timing conditions",
        "description": "Timing conditions for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "condition": {
            "description": "The condition when the replay shall start.",
            "anyOf": [
              {
                "const": "immediately",
                "description": "The first event of the replayed file occurs with measurement start."
              },
              {
                "const": "first-event-time",
                "description": "The original timestamp of the replayed file are used."
              },
              {
                "const": "delayed",
                "description": "The first event is delayed. Can be configured by the 'delayed-ms' element."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "delay-ms": {
            "description": "The delay in ms if the condition 'delayed' is selected. No effect otherwise.",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775807,
                "default": 0
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          }
        },
        "examples": [
          {
            "condition": "immediately"
          },
          {
            "condition": "first-event-time"
          },
          {
            "condition": "delayed",
            "delay-ms": 1000
          },
          {
            "condition": "${variable}"
          }
        ]
      }
    },
    "c4168": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Channel mapping",
        "description": "The channel mapping for a replay block.",
        "type": "object",
        "additionalProperties": false,
        "required": [],
        "properties": {
          "default-mapping": {
            "description": "The default mapping of a channel if it is not explicitly mapped.",
            "anyOf": [
              {
                "const": "as-in-original",
                "description": "The channel is mapped to itself if there is an active network."
              },
              {
                "const": "ignore-all",
                "description": "The channels are ignored by default."
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ]
          },
          "mappings": {
            "title": "Explicit mappings",
            "description": "The explicitly mapped channels. Overwrites the default mapping for the source.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "title": "Map source channel",
                  "type": "object",
                  "description": "Mapping from application channel of the replay file to a target network.",
                  "additionalProperties": false,
                  "required": ["source-channel", "target-network"],
                  "properties": {
                    "source-channel": {
                      "description": "The source application channel from the replayed file.",
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 65535,
                          "default": 0
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "anyOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Map source network",
                  "type": "object",
                  "description": "Mapping from a named source network of the replay file to a named target network.",
                  "additionalProperties": false,
                  "required": ["source-network", "target-network"],
                  "properties": {
                    "source-network": {
                      "description": "The source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    },
                    "target-network": {
                      "description": "The target network name.",
                      "anyOf": [
                        {
                          "$ref": "#/definitions/038dc/full"
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Ignore source channel",
                  "type": "object",
                  "description": "Ignores an application channel of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-channel"],
                  "properties": {
                    "ignore-source-channel": {
                      "description": "The ignored source channel.",
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 65535,
                          "default": 0
                        },
                        {
                          "$ref": "#/definitions/779cd/full"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "Ignore source network",
                  "type": "object",
                  "description": "Ignores a named source network of the replay file.",
                  "additionalProperties": false,
                  "required": ["ignore-source-network"],
                  "properties": {
                    "ignore-source-network": {
                      "description": "The ignored source network name. Only works if the replay file was created by CANoe and contains the relevant metadata.",
                      "type": "string"
                    }
                  }
                }
              ]
            }
          }
        },
        "examples": [
          {
            "default-mapping": "as-in-original"
          },
          {
            "default-mapping": "ignore-all",
            "mappings": [
              {
                "source-channel": 1,
                "target-network": "CAN1"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "source-network": "CAN1",
                "target-network": "CAN2"
              }
            ]
          },
          {
            "default-mapping": "as-in-original",
            "mappings": [
              {
                "ignore-source-channel": 2
              },
              {
                "ignore-source-network": "CAN4"
              }
            ]
          }
        ]
      }
    },
    "883aa": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of defines to be passed to capl / vcdl.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/a8440/full"
        },
        "examples": [
          ["mydefine1", "mydefine2"],
          [
            "mydefine_with_value=42",
            "${var_with_define_name}=${var_with_define_value}"
          ]
        ]
      }
    },
    "a8440": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Define to be passed to capl / vcdl.",
        "type": "string",
        "pattern": "^([a-zA-Z_]|([a-zA-Z_][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\})[a-zA-Z0-9_]*(=((0|[1-9][0-9]*)|(\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\})|(\"([^\"\\\\]|\\\\\"|\\\\\\\\)*\")|[Tt]rue|[Ff]alse))?$",
        "examples": [
          "mydefine1",
          "mydefine2",
          "mydefine_with_value=42",
          "${var_with_define_name}=${var_with_define_value}"
        ]
      }
    },
    "34322": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of network nodes represented by this application",
        "type": "array",
        "items": {
          "$ref": "#/definitions/b2479/full"
        },
        "examples": [
          [
            {
              "network": "my_can_network_1"
            }
          ],
          [
            {
              "network": "my_can_network_1",
              "modeling-libraries": [
                "modeling/lib/1.dll",
                "${path_in_var}",
                "path/${name_in_var}"
              ]
            },
            {
              "network": "my_can_network_1",
              "lin-role": "master"
            },
            {
              "network": "my_can_network_1",
              "lin-role": ["master", "config-tester"]
            },
            {
              "network": "my_can_network_1",
              "database-node": {
                "database": "mydatabase",
                "node": "mynode"
              }
            }
          ]
        ]
      }
    },
    "ee1ae": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a dll or vmodule file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Dd][Ll]{2}$"
          },
          {
            "pattern": "^.*\\.[vV][mM][oO][dD][uU][lL][eE]$"
          },
          {
            "pattern": "^.*\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}$"
          }
        ],
        "examples": [
          "path/to/my.dll",
          "path/to/my.vmodule",
          "${path_in_variable}",
          "path/${name_in_variable}"
        ]
      }
    },
    "c2452": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A list of C-identifiers for referenced elements (case sensitive)",
        "type": "array",
        "items": {
          "$ref": "#/definitions/e4921/full"
        },
        "examples": [
          ["myid"],
          ["THIS_IS_CASE_SENSITIVE", "__1_2_3_4_5__"],
          ["${id_in_variable}", "prefix_${infix_in_variable}_suffix"]
        ]
      }
    },
    "230ce": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$ref": "#/definitions/4f5d5/full",
        "default": 0
      }
    },
    "20152": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$ref": "#/definitions/37aed/full",
        "default": 0
      }
    },
    "6b85b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "MAC-Address of the current TcpIpStack (cannot be a multicast address)",
        "type": "string",
        "oneOf": [
          {
            "pattern": "[0-9a-fA-F][02468aceACE](:[0-9a-fA-F]{2}){5}"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "02:84:cf:3b:be:01",
          "aa:bb:cc:dd:ee:ff",
          "AA:BB:CC:DD:EE:FF"
        ]
      }
    },
    "cb1c2": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Maximum Transmission Unit.",
        "oneOf": [
          {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "default": 1500
      }
    },
    "4b907": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configurations for IPv4.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration"],
            "properties": {
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "examples": ["dhcp", "static", "linked-local"],
                "oneOf": [
                  {
                    "enum": ["dhcp", "linked-local"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration", "addresses"],
            "properties": {
              "addresses": {
                "$ref": "#/definitions/87cf9/full"
              },
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "oneOf": [
                  {
                    "const": "static"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["dhcp", "static", "linked-local"]
              }
            }
          }
        ],
        "examples": [
          {
            "address-configuration": "dhcp"
          },
          {
            "address-configuration": "static",
            "addresses": [
              {
                "address": "192.168.0.2",
                "subnet-mask": "255.255.255.0"
              },
              {
                "address": "192.168.0.3",
                "subnet-prefix-length": 24
              }
            ]
          }
        ]
      }
    },
    "e391e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configurations for IPv6.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration"],
            "properties": {
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "examples": ["dhcp", "static"],
                "oneOf": [
                  {
                    "enum": ["dhcp", "linked-local"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration", "addresses"],
            "properties": {
              "addresses": {
                "$ref": "#/definitions/2d92f/full"
              },
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "oneOf": [
                  {
                    "const": "static"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["dhcp", "static"]
              }
            }
          }
        ],
        "examples": [
          {
            "address-configuration": "dhcp"
          },
          {
            "address-configuration": "static",
            "addresses": [
              {
                "address": "1234::abce",
                "subnet-prefix-length": 42
              },
              {
                "address": "1234::abcf",
                "subnet-prefix-length": 24
              }
            ]
          }
        ]
      }
    },
    "f1175": {
      "local": {
        "vlan-settings": {
          "type": "object",
          "description": "Defines a VLAN with its relevant settings.",
          "additionalProperties": false,
          "required": ["id", "priority"],
          "properties": {
            "id": {
              "description": "Id of the current VLAN.",
              "oneOf": [
                {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 4094
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "$comment": "reason for 4094: see https://en.wikipedia.org/wiki/IEEE_802.1Q - VLAN identifier (VID)",
              "examples": [1, 2, 3, 4, 4094]
            },
            "priority": {
              "description": "Priority of the current VLAN.",
              "oneOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 7
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "examples": [0, 1, 2, 3, 4, 5, 6, 7]
            },
            "ipv4-settings": {
              "$ref": "#/definitions/4b907/full"
            },
            "ipv6-settings": {
              "$ref": "#/definitions/e391e/full"
            }
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A list of VLANs with their relevant settings.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/f1175/local/vlan-settings"
        },
        "maxItems": 4094,
        "examples": [
          [
            {
              "id": 42,
              "priority": 0
            }
          ],
          [
            {
              "id": 24,
              "priority": 0,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.2",
                    "subnet-mask": "255.255.255.0"
                  },
                  {
                    "address": "192.168.0.3",
                    "subnet-prefix-length": 24
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "1234::abce",
                    "subnet-prefix-length": 42
                  },
                  {
                    "address": "1234::abcf",
                    "subnet-prefix-length": 24
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "00b39": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configuration of a key slot node.",
        "type": "object",
        "additionalProperties": false,
        "required": ["mode"],
        "properties": {
          "mode": {
            "description": "Key slot operating modes. \n\"automatic\": The key slot is possibly active. Any active frame in the Tx buffer will be selected for this key slot, if marked as start-up and/or sync frame. \n\"off\": The key slot is not used. \n\"manual\":Explicit definition of the key slot properties.  If set to \"manual\" the properties \"usage\", \"slot\", \"mask\" and \"leading-cold-start\" are mandatory.",
            "default": "automatic",
            "oneOf": [
              {
                "const": "automatic"
              },
              {
                "const": "off"
              },
              {
                "const": "manual"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["manual", "automatic"]
          },
          "usage": {
            "oneOf": [
              {
                "enum": ["startup", "sync"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "The frame in this slot can be send as start-up or only as sync frame. Only allowed if property \"mode\" is set to \"manual\".",
            "default": "startup"
          },
          "slot": {
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 2047,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "Explicit slot number of the static segment that will be used as the key slot. Only allowed if property \"mode\" is set to \"manual\"."
          },
          "mask": {
            "oneOf": [
              {
                "enum": ["A", "B", "AB"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "Explicit channel mask used for the key slot. Only allowed if property \"mode\" is set to \"manual\".",
            "default": "A"
          },
          "leading-cold-start": {
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "If deactivated the key slot can only act as a following start-up or integrating sync frame. Only allowed if property \"mode\" is set to \"manual\".",
            "default": true
          }
        },
        "allOf": [
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["mode"],
              "properties": {
                "mode": {
                  "const": "manual"
                }
              }
            },
            "then": {
              "required": ["usage", "slot", "mask", "leading-cold-start"],
              "properties": {
                "mask": true,
                "usage": true,
                "slot": true,
                "leading-cold-start": true
              }
            }
          },
          {
            "$comment": "prune-node-from-doc",
            "if": {
              "required": ["mode"],
              "properties": {
                "mode": {
                  "anyOf": [
                    {
                      "const": "off"
                    },
                    {
                      "const": "automatic"
                    }
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "usage": false,
                "slot": false,
                "mask": false,
                "leading-cold-start": false
              }
            }
          }
        ],
        "examples": [
          {
            "mode": "automatic"
          },
          {
            "mode": "manual",
            "usage": "startup",
            "slot": 2,
            "mask": "A",
            "leading-cold-start": true
          }
        ]
      }
    },
    "698c3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Activates TCP Routing",
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "default": false
      }
    },
    "6665e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Activates the TCP Delayed Ack Option.",
        "oneOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "type": "boolean"
          }
        ],
        "default": true
      }
    },
    "8b747": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv4-Address of the Gateway",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/6f0a1/full"
          }
        ],
        "default": "0.0.0.0"
      }
    },
    "64730": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv6-Address of the Gateway",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/eaee8/full"
          }
        ],
        "default": "::1"
      }
    },
    "2ffc1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A network node represented by this application.",
        "type": "object",
        "additionalProperties": false,
        "required": ["network"],
        "properties": {
          "network": {
            "$ref": "#/definitions/8ab6a/full",
            "description": "Assign the simulation node to a network.",
            "examples": ["network_name"]
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/60037/full"
          }
        },
        "examples": [
          {
            "network": "my_can_network_1"
          }
        ]
      }
    },
    "6d6c1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Activates TCP Routing",
        "anyOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "default": false
      }
    },
    "b4b72": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Activates the TCP Delayed Ack Option.",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "type": "boolean"
          }
        ],
        "default": true
      }
    },
    "a0f9c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv4-Address of the Gateway",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/ea732/full"
          }
        ],
        "default": "0.0.0.0"
      }
    },
    "e231b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv6-Address of the Gateway",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/bbbd7/full"
          }
        ],
        "default": "::1"
      }
    },
    "04e4b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "MAC-Address of the current TcpIpStack. (Can't be a multicast address.)",
        "type": "string",
        "anyOf": [
          {
            "pattern": "[0-9a-fA-F][02468aceACE](:[0-9a-fA-F]{2}){5}"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "02:84:cf:3b:be:01",
          "aa:bb:cc:dd:ee:ff",
          "AA:BB:CC:DD:EE:FF"
        ]
      }
    },
    "af2c7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Maximum Transmission Unit.",
        "anyOf": [
          {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "default": 1500
      }
    },
    "952c9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configurations for IPv4.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration"],
            "properties": {
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "examples": ["dhcp", "static", "linked-local"],
                "anyOf": [
                  {
                    "enum": ["dhcp", "linked-local"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration", "addresses"],
            "properties": {
              "addresses": {
                "$ref": "#/definitions/91edd/full"
              },
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "anyOf": [
                  {
                    "const": "static"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["dhcp", "static", "linked-local"]
              }
            }
          }
        ],
        "examples": [
          {
            "address-configuration": "dhcp"
          },
          {
            "address-configuration": "static",
            "addresses": [
              {
                "address": "192.168.0.2",
                "subnet-mask": "255.255.255.0"
              },
              {
                "address": "192.168.0.3",
                "subnet-prefix-length": 24
              }
            ]
          }
        ]
      }
    },
    "0cca7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configurations for IPv6.",
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration"],
            "properties": {
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "examples": ["dhcp", "static"],
                "anyOf": [
                  {
                    "enum": ["dhcp", "linked-local"]
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["address-configuration", "addresses"],
            "properties": {
              "addresses": {
                "$ref": "#/definitions/66666/full"
              },
              "address-configuration": {
                "description": "Defines how the addresses are configured. Use 'static' to configure them manually with the 'addresses' property or use 'dhcp' for automatic configuration.",
                "anyOf": [
                  {
                    "const": "static"
                  },
                  {
                    "$ref": "#/definitions/779cd/full"
                  }
                ],
                "examples": ["dhcp", "static"]
              }
            }
          }
        ],
        "examples": [
          {
            "address-configuration": "dhcp"
          },
          {
            "address-configuration": "static",
            "addresses": [
              {
                "address": "1234::abce",
                "subnet-prefix-length": 42
              },
              {
                "address": "1234::abcf",
                "subnet-prefix-length": 24
              }
            ]
          }
        ]
      }
    },
    "8d980": {
      "local": {
        "vlan-settings": {
          "type": "object",
          "description": "Defines a VLAN with its relevant settings.",
          "additionalProperties": false,
          "required": ["id", "priority"],
          "properties": {
            "id": {
              "description": "Id of the current VLAN.",
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 4094
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "$comment": "reason for 4094: see https://en.wikipedia.org/wiki/IEEE_802.1Q - VLAN identifier (VID)",
              "examples": [1, 2, 3, 4, 4094]
            },
            "priority": {
              "description": "Priority of the current VLAN.",
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 7
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "examples": [0, 1, 2, 3, 4, 5, 6, 7]
            },
            "ipv4-settings": {
              "$ref": "#/definitions/952c9/full"
            },
            "ipv6-settings": {
              "$ref": "#/definitions/0cca7/full"
            }
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A list of VLANs with their relevant settings.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/8d980/local/vlan-settings"
        },
        "maxItems": 4094,
        "examples": [
          [
            {
              "id": 42,
              "priority": 0
            }
          ],
          [
            {
              "id": 24,
              "priority": 0,
              "ipv4-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "192.168.0.2",
                    "subnet-mask": "255.255.255.0"
                  },
                  {
                    "address": "192.168.0.3",
                    "subnet-prefix-length": 24
                  }
                ]
              },
              "ipv6-settings": {
                "address-configuration": "static",
                "addresses": [
                  {
                    "address": "1234::abce",
                    "subnet-prefix-length": 42
                  },
                  {
                    "address": "1234::abcf",
                    "subnet-prefix-length": 24
                  }
                ]
              }
            }
          ]
        ]
      }
    },
    "34d39": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Configuration of a key slot node.",
        "type": "object",
        "additionalProperties": false,
        "required": ["mode"],
        "properties": {
          "mode": {
            "description": "Key slot operating modes. \n'automatic': The key slot is possibly active. Any active frame in the Tx buffer will be selected for this key slot, if marked as start-up and/or sync frame. \n'off': The key slot is not used. \n'manual':Explicit definition of the key slot properties.",
            "default": "automatic",
            "oneOf": [
              {
                "const": "automatic"
              },
              {
                "const": "off"
              },
              {
                "const": "manual"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "examples": ["manual", "automatic"]
          },
          "usage": {
            "oneOf": [
              {
                "enum": ["startup", "sync"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "The frame in this slot can be send as start-up or only as sync frame.",
            "default": "startup"
          },
          "slot": {
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 2047,
                "default": 1
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "Explicit slot number of the static segment that will be used as the key slot."
          },
          "mask": {
            "oneOf": [
              {
                "enum": ["A", "B", "AB"]
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "Explicit channel mask used for the key slot.",
            "default": "A"
          },
          "leading-cold-start": {
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/definitions/779cd/full"
              }
            ],
            "description": "If deactivated the key slot can only act as a following start-up or integrating sync frame.",
            "default": true
          }
        },
        "allOf": [
          {
            "if": {
              "required": ["mode"],
              "properties": {
                "mode": {
                  "const": "manual"
                }
              }
            },
            "then": {
              "required": ["usage", "slot", "mask", "leading-cold-start"],
              "properties": {
                "mask": true,
                "usage": true,
                "slot": true,
                "leading-cold-start": true
              }
            }
          },
          {
            "if": {
              "required": ["mode"],
              "properties": {
                "mode": {
                  "anyOf": [
                    {
                      "const": "off"
                    },
                    {
                      "const": "automatic"
                    }
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "usage": false,
                "slot": false,
                "mask": false,
                "leading-cold-start": false
              }
            }
          }
        ],
        "examples": [
          {
            "mode": "automatic"
          },
          {
            "mode": "manual",
            "usage": "startup",
            "slot": 2,
            "mask": "A",
            "leading-cold-start": true
          }
        ]
      }
    },
    "9a1f9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A network node represented by this application.",
        "type": "object",
        "additionalProperties": false,
        "required": ["network"],
        "properties": {
          "network": {
            "$ref": "#/definitions/17e6a/full",
            "description": "Assign the simulation node to a network.",
            "examples": ["network_name"]
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/bd6e5/full"
          }
        },
        "examples": [
          {
            "network": "my_can_network_1"
          }
        ]
      }
    },
    "0cd26": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$ref": "#/definitions/6daff/full",
        "default": 0
      }
    },
    "f06ea": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$ref": "#/definitions/81058/full",
        "default": 0
      }
    },
    "31725": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Timestamp Option for TCP (RFC1323).",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "type": "boolean"
          }
        ],
        "default": true
      }
    },
    "ee197": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Time To Live.",
        "default": 64,
        "anyOf": [
          {
            "type": "integer",
            "minimum": 0
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ]
      }
    },
    "2ae5f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A network node represented by this application.",
        "type": "object",
        "additionalProperties": false,
        "required": ["network"],
        "properties": {
          "network": {
            "$ref": "#/definitions/17e6a/full",
            "description": "For assignment of this NetworkNode to a Network.",
            "examples": ["network_name"]
          },
          "database-node": {
            "$ref": "#/definitions/21023/full"
          },
          "lin-role": {
            "anyOf": [
              {
                "$ref": "#/definitions/183d9/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/183d9/full"
                }
              }
            ]
          },
          "tcp-ip-stack-adapter": {
            "$ref": "#/definitions/bd6e5/full"
          }
        },
        "examples": [
          {
            "network": "my_can_network_1"
          },
          {
            "network": "my_can_network_1",
            "lin-role": "master"
          },
          {
            "network": "my_can_network_1",
            "lin-role": ["master", "config-tester"]
          },
          {
            "network": "my_can_network_1",
            "database-node": {
              "database": "mydatabase",
              "node": "mynode"
            }
          }
        ]
      }
    },
    "b2479": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A network node represented by this application.",
        "type": "object",
        "additionalProperties": false,
        "required": ["network"],
        "properties": {
          "network": {
            "type": "string",
            "description": "For assignment of this NetworkNode to a Network.",
            "examples": ["network_name"]
          },
          "modeling-libraries": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ee1ae/full"
            },
            "description": "For assignment of modeling libraries to this NetworkNode"
          },
          "database-node": {
            "$ref": "#/definitions/9acfe/full"
          },
          "lin-role": {
            "anyOf": [
              {
                "$ref": "#/definitions/183d9/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/183d9/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "network": "my_can_network_1"
          },
          {
            "network": "my_can_network_1",
            "modeling-libraries": [
              "modeling/lib/1.dll",
              "${path_in_var}",
              "path/${name_in_var}"
            ]
          },
          {
            "network": "my_can_network_1",
            "lin-role": "master"
          },
          {
            "network": "my_can_network_1",
            "lin-role": ["master", "config-tester"]
          },
          {
            "network": "my_can_network_1",
            "database-node": {
              "database": "mydatabase",
              "node": "mynode"
            }
          }
        ]
      }
    },
    "e4921": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "A C-identifier for a referenced element (case sensitive)",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
          },
          {
            "pattern": "^([a-zA-Z_][a-zA-Z0-9_]*)?\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}[a-zA-Z0-9_]*$"
          }
        ],
        "examples": [
          "myid",
          "THIS_IS_CASE_SENSITIVE",
          "__1_2_3_4_5__",
          "${id_in_variable}"
        ]
      }
    },
    "4f5d5": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/815f9/full"
          }
        ]
      }
    },
    "37aed": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/09338/full"
          }
        ]
      }
    },
    "87cf9": {
      "local": {
        "ipv4-subnet-mask": {
          "description": "Subnet mask of an IPv4 Address",
          "oneOf": [
            {
              "$ref": "#/definitions/6f0a1/full"
            }
          ],
          "examples": [
            "255.255.255.0",
            "255.255.0.0",
            "255.240.0.0",
            "255.0.0.0"
          ]
        },
        "ipv4-subnet-prefix-length": {
          "description": "Subnet prefix of an IPv4 Address",
          "oneOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 32
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [0, 24, 16, 12, 8, 32]
        },
        "ipv4-with-subnet": {
          "type": "object",
          "oneOf": [
            {
              "additionalProperties": false,
              "required": ["address", "subnet-mask"],
              "properties": {
                "address": {
                  "$ref": "#/definitions/6f0a1/full"
                },
                "subnet-mask": {
                  "$ref": "#/definitions/87cf9/local/ipv4-subnet-mask"
                }
              }
            },
            {
              "additionalProperties": false,
              "required": ["address", "subnet-prefix-length"],
              "properties": {
                "address": {
                  "$ref": "#/definitions/6f0a1/full"
                },
                "subnet-prefix-length": {
                  "$ref": "#/definitions/87cf9/local/ipv4-subnet-prefix-length"
                }
              }
            }
          ]
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of IPv4 addresses with their subnet definition",
        "type": "array",
        "items": {
          "$ref": "#/definitions/87cf9/local/ipv4-with-subnet"
        },
        "examples": [
          [
            {
              "address": "192.168.0.2",
              "subnet-mask": "255.255.255.0"
            }
          ],
          [
            {
              "address": "192.168.0.3",
              "subnet-prefix-length": 24
            }
          ]
        ]
      }
    },
    "2d92f": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of IPv6 addresses with their subnet definition",
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "required": ["address", "subnet-prefix-length"],
          "properties": {
            "address": {
              "$ref": "#/definitions/eaee8/full"
            },
            "subnet-prefix-length": {
              "description": "Subnetprefix of an IPv6 Address",
              "oneOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 128
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "examples": [0, 48, 128]
            }
          }
        },
        "examples": [
          [
            {
              "address": "1234::abce",
              "subnet-prefix-length": 42
            }
          ],
          [
            {
              "address": "1234::abcf",
              "subnet-prefix-length": 24
            }
          ]
        ]
      }
    },
    "6f0a1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv4 address",
        "type": "string",
        "oneOf": [
          {
            "pattern": "((1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.){3}(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": ["127.0.0.1", "192.168.0.0", "172.16.0.0", "10.0.0.0"]
      }
    },
    "eaee8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv6 address",
        "type": "string",
        "oneOf": [
          {
            "pattern": "^([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7}|:(:[0-9A-Fa-f]{1,4}){1,7}|([0-9A-Fa-f]{1,4}:){1,7}:|::|([0-9A-Fa-f]{1,4}:){1}(:[0-9A-Fa-f]{1,4}){1,6}|([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5}|([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4}|([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3}|([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2}|([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}){1})$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "1234:0000:0000:0000:0000:0000:0000:abcd",
          "1234::abcd",
          "::1"
        ]
      }
    },
    "ea732": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv4 address",
        "type": "string",
        "anyOf": [
          {
            "pattern": "((1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.){3}(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": ["127.0.0.1", "192.168.0.0", "172.16.0.0", "10.0.0.0"]
      }
    },
    "bbbd7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "IPv6 address",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7}|:(:[0-9A-Fa-f]{1,4}){1,7}|([0-9A-Fa-f]{1,4}:){1,7}:|::|([0-9A-Fa-f]{1,4}:){1}(:[0-9A-Fa-f]{1,4}){1,6}|([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5}|([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4}|([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3}|([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2}|([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}){1})$"
          },
          {
            "$ref": "#/definitions/779cd/full"
          }
        ],
        "examples": [
          "1234:0000:0000:0000:0000:0000:0000:abcd",
          "1234::abcd",
          "::1"
        ]
      }
    },
    "91edd": {
      "local": {
        "ipv4-subnet-mask": {
          "description": "Subnet mask of an IPv4 Address",
          "anyOf": [
            {
              "$ref": "#/definitions/ea732/full"
            }
          ],
          "examples": [
            "255.255.255.0",
            "255.255.0.0",
            "255.240.0.0",
            "255.0.0.0"
          ]
        },
        "ipv4-subnet-prefix-length": {
          "description": "Subnet prefix of an IPv4 Address",
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 32
            },
            {
              "$ref": "#/definitions/779cd/full"
            }
          ],
          "examples": [0, 24, 16, 12, 8, 32]
        },
        "ipv4-with-subnet": {
          "type": "object",
          "anyOf": [
            {
              "additionalProperties": false,
              "required": ["address", "subnet-mask"],
              "properties": {
                "address": {
                  "$ref": "#/definitions/ea732/full"
                },
                "subnet-mask": {
                  "$ref": "#/definitions/91edd/local/ipv4-subnet-mask"
                }
              }
            },
            {
              "additionalProperties": false,
              "required": ["address", "subnet-prefix-length"],
              "properties": {
                "address": {
                  "$ref": "#/definitions/ea732/full"
                },
                "subnet-prefix-length": {
                  "$ref": "#/definitions/91edd/local/ipv4-subnet-prefix-length"
                }
              }
            }
          ]
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of IPv4 addresses with their subnet definition",
        "type": "array",
        "items": {
          "$ref": "#/definitions/91edd/local/ipv4-with-subnet"
        },
        "examples": [
          [
            {
              "address": "192.168.0.2",
              "subnet-mask": "255.255.255.0"
            }
          ],
          [
            {
              "address": "192.168.0.3",
              "subnet-prefix-length": 24
            }
          ]
        ]
      }
    },
    "66666": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "List of IPv6 addresses with their subnet definition",
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "required": ["address", "subnet-prefix-length"],
          "properties": {
            "address": {
              "$ref": "#/definitions/bbbd7/full"
            },
            "subnet-prefix-length": {
              "description": "Subnetprefix of an IPv6 Address",
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 128
                },
                {
                  "$ref": "#/definitions/779cd/full"
                }
              ],
              "examples": [0, 48, 128]
            }
          }
        },
        "examples": [
          [
            {
              "address": "1234::abce",
              "subnet-prefix-length": 42
            }
          ],
          [
            {
              "address": "1234::abcf",
              "subnet-prefix-length": 24
            }
          ]
        ]
      }
    },
    "6daff": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/815f9/full"
          }
        ]
      }
    },
    "81058": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "anyOf": [
          {
            "$ref": "#/definitions/779cd/full"
          },
          {
            "$ref": "#/definitions/09338/full"
          }
        ]
      }
    },
    "21023": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Reference to a certain node from a database",
        "type": "object",
        "additionalProperties": false,
        "required": ["node", "database"],
        "properties": {
          "node": {
            "type": "string",
            "description": "The node from the database",
            "examples": ["node_name"]
          },
          "database": {
            "$ref": "#/definitions/17e6a/full",
            "description": "The database"
          }
        },
        "examples": [
          {
            "database": "mydatabase",
            "node": "mynode"
          }
        ]
      }
    },
    "183d9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Role of a node in a LIN network.",
        "type": "string",
        "enum": ["master", "slave", "config-tester"],
        "examples": ["master", "slave", "config-tester"]
      }
    },
    "9acfe": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Reference to a certain node from a database",
        "type": "object",
        "additionalProperties": false,
        "required": ["node", "database"],
        "properties": {
          "node": {
            "type": "string",
            "description": "The node from the database",
            "examples": ["node_name"]
          },
          "database": {
            "$ref": "#/definitions/e4921/full",
            "description": "The database"
          }
        },
        "examples": [
          {
            "database": "mydatabase",
            "node": "mynode"
          }
        ]
      }
    },
    "815f9": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "integer",
        "minimum": 0,
        "maximum": 9223372036854775807
      }
    },
    "09338": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "integer",
        "minimum": 0,
        "maximum": 65535
      }
    }
  }
}
