@@ -5,25 +5,24 @@ layout: default
5
5
parent : Schema & Glossary
6
6
---
7
7
8
- WORK IN PROGRESS - NOT READY
9
-
10
8
# Workbench
11
9
12
10
A workbench consists of the concrete components implemented from the abstract components of the toolbox.
13
11
12
+ A workbench contains the following:
13
+ - ** Processors** : The implementations of blocks
14
+ - ** Wires** : The implementations of spaces which are passed from one processor terminal to another processor port
15
+ - ** Systems** : The definitions of wires and processors that form unique systems
14
16
15
17
## Schema
16
18
17
19
The top level schema of a workbench is:
18
20
19
- ``` json
20
- {
21
- "ID" : " string (required)" ,
22
- "Parent" : " block_id (required)" ,
23
- "Name" : " string (required)" ,
24
- "Description" : " string (optional)" ,
25
- "Ports" : " array[Space] (must match parent block Domain)" ,
26
- "Terminals" : " array[Space] (must match parent block Codomain)"
21
+ ```
22
+ object {
23
+ Processors: array[Processor] (required)
24
+ Wires: array[Wire] (required)
25
+ Systems: array[System] (required)
27
26
}
28
27
```
29
28
@@ -32,39 +31,46 @@ And the children schemas are as follows below.
32
31
### Processor Schema
33
32
34
33
35
- ``` json
36
- {
37
- "ID" : " string (required)" ,
38
- "Parent" : " block_id (required)" ,
39
- "Name" : " string (required)" ,
40
- "Description" : " string (optional)" ,
41
- "Ports" : " array[Space] (must match parent block Domain)" ,
42
- "Terminals" : " array[Space] (must match parent block Codomain)"
43
- }
34
+ ```
35
+ object {
36
+ ID: string (required)
37
+ Name: string (required)
38
+ Description: string
39
+ Parent: string (required)
40
+ Ports: array[string]
41
+ Terminals: array[string] (required)
42
+ Subsystem: object {
43
+ System ID: string (required)
44
+ Wires: array[string] (required)
45
+ }
46
+ }
44
47
```
45
48
46
49
### Wire Schema
47
50
48
- ``` json
49
- {
50
- "ID" : " string (required)" ,
51
- "Parent" : " space_id (required)" ,
52
- "Name" : " string (optional)" ,
53
- "Description" : " string (optional)" ,
54
- "Source" : " tuple(processor_id, int) (must be valid terminal)" ,
55
- "Destination" : " tuple(processor_id, int) (must be valid port)"
56
- }
51
+ ```
52
+ object {
53
+ ID: string (required)
54
+ Parent: string (required)
55
+ Source: object {
56
+ Processor: string
57
+ Index: integer
58
+ }
59
+ Target: object {
60
+ Processor: string
61
+ Index: integer
62
+ }
63
+ }
57
64
```
58
65
59
66
### System Schema
60
67
61
- ``` json
62
- {
63
- "ID" : " string (required)" ,
64
- "Parent" : " space_id (required)" ,
65
- "Name" : " string (optional)" ,
66
- "Description" : " string (optional)" ,
67
- "Source" : " tuple(processor_id, int) (must be valid terminal)" ,
68
- "Destination" : " tuple(processor_id, int) (must be valid port)"
69
- }
68
+ ```
69
+ object {
70
+ ID: string (required)
71
+ Name: string (required)
72
+ Description: string
73
+ Processors: array[string] (required)
74
+ Wires: array[string] (required)
75
+ }
70
76
```
0 commit comments