2.json 2.16 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Experiment v2 descriptor",
  "description": "This schema defines the properties of a v2 experiment",

  "type": "object",

  "properties": {

    "description": { "$ref": "../common/1.json#/definitions/description" },

    "datasets": {
      "$ref": "common.json#/definitions/datasets"
    },

    "blocks": {
      "$ref": "common.json#/definitions/blocks"
    },

    "loops": {
      "type": "object",
      "patternProperties": {
        "^[a-zA-Z_][a-zA-Z0-9_-]*$": { "$ref": "#/definitions/loop" }
      },
      "uniqueItems": true,
      "additionalProperties": false
    },

    "analyzers": {
      "$ref": "common.json#/definitions/analyzers"
    },

    "globals": {
      "$ref": "common.json#/definitions/globals"
    },

    "schema_version": { "$ref": "../common/1.json#/definitions/version" }

  },

  "required": [
    "datasets",
    "blocks",
    "analyzers",
    "globals"
  ],

  "additionalProperties": false,

  "definitions": {

    "loop": {
      "type": "object",
      "properties": {
        "algorithm": { "$ref": "../common/1.json#/definitions/reference" },
        "parameters": { "$ref": "common.json#/definitions/parameter_set" },
        "inputs": { "$ref": "common.json#/definitions/connection_map" },
58
        "outputs": { "$ref": "common.json#/definitions/connection_map" },
59 60
        "queue":  { "$ref": "common.json#/definitions/queue" },
        "environment":  { "$ref": "common.json#/definitions/environment" },
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
        "nb_slots": { "$ref": "common.json#/definitions/slots" },
        "loop_algorithm": { "$ref": "../common/1.json#/definitions/reference" },
        "loop_parameters": { "$ref": "common.json#/definitions/parameter_set" },
        "loop_inputs": { "$ref": "common.json#/definitions/connection_map" },
        "loop_outputs": { "$ref": "common.json#/definitions/connection_map" },
        "loop_environment":  { "$ref": "common.json#/definitions/environment" }
      },
      "required": [
        "algorithm",
        "inputs",
        "outputs",
        "loop_algorithm",
        "loop_inputs",
        "loop_outputs"
      ],
      "additionalProperties": false
77 78 79 80 81
    }

  }

}