Workbench

A workbench consists of the concrete components implemented from the abstract components of the toolbox.

A workbench contains the following:

  • Processors: The implementations of blocks
  • Wires: The implementations of spaces which are passed from one processor terminal to another processor port
  • Systems: The definitions of wires and processors that form unique systems

Schema

The top level schema of a workbench is:

object {
  Processors: array[Processor] (required)
  Wires: array[Wire] (required)
  Systems: array[System] (required)
}

And the children schemas are as follows below.

Processor Schema

object {
  ID: string (required)
  Name: string (required)
  Description: string
  Parent: string (required)
  Ports: array[string] (required)
  Terminals: array[string] (required)
  Subsystem: object {
    System ID: string (required)
    Port Mappings: array[object {
      Processor: string (required)
      Index: integer (required)
    }] (required)
    Terminal Mappings: array[object {
      Processor: string (required)
      Index: integer (required)
    }] (required)
  }
}

Wire Schema

object {
    ID: string (required)
    Parent: string (required)
    Source: object {
      Processor: string
      Index: integer
    }
    Target: object {
      Processor: string
      Index: integer
    }
  }

System Schema

object {
    ID: string (required)
    Name: string (required)
    Description: string
    Processors: array[string] (required)
    Wires: array[string] (required)
  }

Table of contents