aqua-book/language/flow
2022-06-27 12:55:59 +00:00
..
conditional.md GitBook: [#142] 0.7.4 2022-06-27 12:55:59 +00:00
iterative.md GitBook: [#139] fixes 2022-05-05 12:51:16 +00:00
parallel.md GitBook: [#139] fixes 2022-05-05 12:51:16 +00:00
README.md GitBook: [#129] Registry: Resources API 2022-04-26 06:53:56 +00:00
sequential.md GitBook: [#142] 0.7.4 2022-06-27 12:55:59 +00:00

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.