Skip to main content

Execution flow

Aqua's main goal is to express how the execution flows: moves from peer to peer, forks to parallel flows and then joins back, uses data from one step in another.

As the foundation of Aqua is based on π-calculus, finally flow is decomposed into sequential (seq, .), conditional (xor, +), parallel (par, |) computations and iterations based on data (!P). For each basic way to organize the flow, Aqua follows a set of rules to execute the operations:

  • What data is available for use?
  • What data is exported and can be used below?
  • How errors and failures are handled?

These rules form a contract, as in design-by-contract programming.