{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "JSON Schema for VecNet Experiment Specification",
    "type": "object",
    "properties": {
        "name": {
            "description": "User-defined name of the Experiment",
            "type": "string"
        },
        "description": {
            "description": "User-defined description of the Experiment",
            "type": "string"
        },
        "base": {
            "description": "Experiment Template (Experiment Base). Template or boilerplate for the scenario xml files. Includes placeholders that will be replaced with actual parameter values.",
            "type": "string"
        },
        "basefile": {
            "description": "Filename that will be used as Experiment Template. Can't be used together with base",
            "type": "string"
        },
        "sweeps": {
            "description": "Sweeps",
            "type": "object",
            "properties": {
                "^*$": {
                    "description": "List of arms in this sweep",
                    "type": "object",
                    "properties": {
                        "^*$": {
                            "description": "List of parameter placeholders that comprise this arm",
                            "type": "object",
                            "properties": {
                                "^@*@$": {
                                    "type": "string",
                                    "description": "Value for parameter placeholder applied when this arm is used"
                                }
                            }
                        }
                    }
                }
            }
        },
        "combinations": {
            "oneof": [
                {
                    "title": "Combinations",
                    "description": "Definition of combinations of sweeps that will be generated by Experiment Creator. All combinations of sweeps are listed if array represenation is used",
                    "type": "array",
                    "items": {
                        "type": "array"
                    }
                },
                {
                    "title": "Combinations",
                    "description": "Definition of combinations of sweeps that will be generated by Experiment Creator. Cross-product of arrays is used as list of scenarios",
                    "type": "object",
                    "properties": {}
                }
            ]
        }
    }
}