Advanced Topics

Diagram

You can use d3 and graphviz for diagramming.

Error Handling

The equivalent of an infinite loop for Flow Based approaches seems to be an infinite cycle within the Data Flow. This is also a problem with the Nodes being called repeatedly, even if it exits after processing, which would be equivalent to Stack Overflow. Then there are Exceptions and Deadlocks.

Open Problems,

Detect cycles at the graph level ?
What if a component goes berserk, who raises the exception then ?
How can exceptions and the faulty data pathways be represented visually ?
Should FBP depend on host-provided exceptions ?
Should you stop all flow or Ignore and do something else ?

Dynamic Nodes

You can create anonymous nodes and update the graph live, even after taking user input.

Supervising Nodes

Lets assume a component A fails, is there some mechanism for restarting the component A and all its connected components ?

Others,

  • Debugging

  • Tracing

  • Profiling

  • Relay Nodes

  • Serialization

  • Memory Leaks

  • Data Racing

  • Process Control

  • Syntax, DSL

  • Type Checking

  • Partial Nodes

  • Recursion

  • Dynamic Nodes

  • Timers

  • Complex Loops

  • Multiplexing