I am most interested in breaking things down to their most atomic form. From that perspective, FBP and discrete-event-based components have the same roots.

The deepest roots are:

1) concurrency
2) isolation.

If you have both, then you can plug components together like LEGO blocks and it “doesn’t matter” how you implement components (pure functions, stateful, etc. - it’s all hidden from view via isolation).

See Also