Cohesive Systems logoCOHESIVE SYSTEMS

Search Cohesive Systems

Ready

Search Cohesive Systems

Find product pages, building blocks, technical articles, and graph definitions.

Flow Operators

Flow operators are compositional structures that transform, select, divide, combine, order, or distribute values moving through flow views.

An operator describes graph structure and declared interpretation, not a specific framework callback or broker feature. Operators may appear inside a finite process activation, a projection pipeline, a stream processor, an integration flow, or a runtime data path.

Operator Families

  • Transform maps one shaped value into another while preserving or explicitly changing meaning.
  • Filter selects or projects values under a declared predicate, policy, or shape.
  • Enrich combines a carried value with explicit observations or referenced material.
  • Split maps one composite input into correlated parts. It is distinct from the control-activation side of fork and join.
  • Aggregate or join combines correlated parts under a completeness, window, quorum, or terminal rule. Value aggregation is distinct from a control-flow join even when one process node performs both.
  • Resequence emits admitted values according to a declared ordering space.
  • Scatter-gather distributes related requests or work and combines selected replies or results.
  • Composed processing connects several operators while preserving the identity and completion rule of the larger flow.

Split, aggregation, and scatter-gather require explicit correlation, cardinality, completion, timeout, duplicate, missing-part, late-part, cancellation, and failure meanings. An aggregator cannot infer completeness merely because no more messages are currently visible. Temporal completeness states how windows, watermarks, triggers, and late-input policy qualify that decision for time-bounded asynchronous input. Without a rule for a missing, skipped, cancelled, or failed part, the operator can create a structural deadlock. A resequencer cannot wait indefinitely without a gap, expiration, or recovery policy.

Aggregation is distinct from multiplexing. Aggregation combines several values into a new composite value under a semantic or structural completion rule; multiplexing lets distinguishable logical flows share a locus while retaining their identities.

Operators that make business decisions belong inside an authorized transition model or process graph, not as hidden adapter callbacks. Pure structural transformation may be lowered into broker rules, stream processors, generated code, workflow nodes, queries, or in-process functions when their semantics and guarantees correspond.

An operator's transformation meaning is distinct from its interaction-control role. The same transform can accept pushed input and push output, fetch input and expose output for downstream fetch, buffer between two active participants, or actively fetch and push as a driver. Those choices affect cadence, buffering, latency, scheduling, backpressure, and recovery without redefining the transform itself, so executable flow views should declare both the operator and its per-port activity where the distinction is operationally significant.

External References

Related concepts: enterprise integration patterns, flow views, process graphs, fork and join, transition models, routing models, multiplexing and demultiplexing, messages and envelopes, interaction channels, interaction control flow, shape, observation, correlation and conversations, ordering, consistent cuts, temporal completeness, deadlock and livelock, compositionality.