4 Scheduler

The workflow is represented as a set of Nodes and Connections. Each Node has an associated operation, input and output ports, status and timeout. Timeout is defined as the maximal time that the software is allowed to spend on the requested operation. The status can be one of the following:

  1. waiting
  2. running
  3. completed
  4. failed

On loading from file or on the construction of a workflow all nodes have ’waiting’ status. When the node is being executed its status is changed to ’running’. The node gets given ’completed’ status if no errors occurred during its execution otherwise it gets ’failed’ status. Each node is executed in a separate thread and several nodes can be simultaneously executed. A Node can be executed if its status is ’waiting’ and as soon as data is available on all its input ports. Once execution is completed results are sent through output connections to their destination nodes.