A Control system is a Synapse component that is used to coordinate signal flow between blocks and trigger updates. They receive a construct of blocks and links in the form of a molecule on which they are free to operate. Although exactly what they do is only defined by the control system it self, this usually means extracting signals from various sources and feed the blocks in turn according to the manner in which they are linked and trigger updates at suitable intervals.
Control systems are activated with the control system menu buttons found in training mode.
Play runs the control system indefinite.
Pause pauses a running control system .
Stop equivalent to pause + reset.
Step epoch runs the control system for one epoch (or until the end of the current epoch).
Step sample runs the control system for one sample or usually one batch length.
Reset Resets the control system and also all the blocks in the topology, obliterating any learned patterns.
The exact actions of a control system can vary greatly, but they all have a few things in common. All control systems work against a structure of interconnected blocks. The anatomy of a block looks like this: Image:Block.png|thumb|140px|none]].
Blocks allow for a forward pass and a backward pass and two update schemes. All control systems should handle all forward-propagators but does not have to be compatible with all back-propagators and update rules. To determine weather a block contains incompatible components and to see if all blocks in the structure are connected in a sensible way (with respect to the function of the control system) is also part of the what all control systems are capable of. They also have a repair policy that governs what to do in case of incompatible block parts.
Although any conceivable order in which to run blocks (forwards and backwards) could be used by a control system it is still responsible for transporting the signal to each block and to extract it at the other end.
Control systems govern signal flow and must therefor adhere to the concepts of samples and epochs and provide functionality for stepping one sample or epoch at the time or to run continuously. Control systems also have a switch to prevent any learning (or at least to prevent all calls to the learning rules).
The control systems settings are accessible in design and training mode. By selecting the work area (clicking on the white background, not on any block) the settings will appear in the settings browser. At the top, under the Control System group you will find a setting called Control System. By default Static XProp will be selected, but you can change control system by using this setting. The rest of the control system settings will appear below.
The control system GUI is accessible in training mode. By default it is located at the left hand side of the application window.