{ "$id": "http://download.gebrproject.com/pub/schema/program.schema", "title": "Program", "description": "A command-line oriented program", "type": "object", "properties": { "title": { "description": "Short title for program", "type": "string", "maxLength": 40 }, "description": { "$ref": "/pub/schema/desc.schema" }, "credits": { "description": "Credits for the program", "type": "array", "items": { "$ref": "/pub/schema/person.schema" } }, "executable": { "description": "Basename for executable file", "type": "string" }, "io": { "description": "IO behaviour for the program, concerning standard input/ouput", "type": "object", "properties": { "stdin": { "type": "boolean"}, "stdout": { "type": "boolean"}, "stderr": { "type": "boolean"} }, "required": ["stdin", "stdout", "stderr"], "additionalProperties": false }, "parallel": { "description": "Parallel capabilities", "type": "array", "items": { "enum": [ "none", "mpi", "openmp", "gpu" ] } }, "parameters": { "description": "List of parameters", "type": "array", "items": { "$ref": "/pub/schema/parameter.schema" } } }, "required": [ "title", "description", "credits", "executable", "io" ], "additionalProperties": false }