-
Notifications
You must be signed in to change notification settings - Fork 199
/
manifest-schema.json
99 lines (98 loc) · 3.65 KB
/
manifest-schema.json
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{
"type" : "object",
"required": ["specifications"],
"additionalProperties": false,
"properties" : {
"specifications" : {
"type": "array",
"items": {
"type": "object",
"required": ["title", "description", "sources", "authors", "path", "tags", "modules"],
"additionalProperties": false,
"properties": {
"path": {"type": "string"},
"title": {"type": "string"},
"description": {"type": "string"},
"sources": {
"type": "array",
"items": {"type": "string"}
},
"authors": {
"type": "array",
"items": {"type": "string"}
},
"tags": {
"type": "array",
"items": {"enum": ["beginner", "intermediate", "ewd"]}
},
"modules": {
"type": "array",
"items": {
"type": "object",
"required": ["path", "communityDependencies", "tlaLanguageVersion", "features", "models"],
"additionalProperties": false,
"properties": {
"path": {"type": "string"},
"communityDependencies": {
"type": "array",
"items": {"type": "string"}
},
"tlaLanguageVersion": {"type": "number"},
"features": {
"type": "array",
"items": {"enum": ["pluscal", "proof"]}
},
"models": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["path", "runtime", "size", "mode", "features", "result"],
"properties": {
"path": {"type": "string"},
"runtime": {
"type": "string",
"pattern": "^(([0-9][0-9]:[0-9][0-9]:[0-9][0-9])|unknown)$"
},
"size": {"enum": ["small", "medium", "large", "unknown"]},
"distinctStates": {"type": "integer"},
"totalStates": {"type": "integer"},
"stateDepth": {"type": "integer"},
"mode": {
"oneOf": [
{
"enum": ["exhaustive search", "generate", "symbolic"]
},
{
"type": "object",
"additionalProperties": false,
"required": ["simulate"],
"properties": {
"simulate": {
"type": "object",
"additionalProperties": false,
"required": ["traceCount"],
"properties": {
"traceCount": {"type": "number"}
}
}
}
}
]
},
"features": {
"type": "array",
"items": {"enum": ["liveness", "symmetry", "view", "alias", "state constraint", "ignore deadlock"]}
},
"result": {"enum": ["success", "assumption failure", "deadlock failure", "safety failure", "liveness failure", "unknown"]}
}
}
}
}
}
}
}
}
}
}
}