When a k-Sequencer receives signals on b and more than one a_i, it produces a signal on exactly one of the c_i-outputs (the others are delayed till the next b input arrives). The specification leaves the choice open. Often there is a fairness requirement on this choice: if a choice situation arises `infinitely often' then both outputs are chosen `infinitely often'.
Each pair of terminals (a_i, c_i) can be viewed as one passive 2-phase handshake port. A k-Sequencer `sequences' handshakes on its handshake ports in syncrhony with signals on the b input. The b input is also referred to as next input.


Specification in Verdect:
define S( a0?, .., a(k-1)?, b?, c0!,.., c(k-1)! ) =
pref *[ a0?; c0! ]
|| ...
|| pref *[ a(k-1)?; c(k-1)! ]
|| pref *[ b?; (c0! | ... | c(k-1)! ) ]
end
Also available through this linkSpecification in DI Algebra:
I = { a0, .. ,a(k-1)?, b? }
O = { c0!, .. , c(k-1)! }
S_k = b?; [ a0? -> c0!; S_k, ... , a(k-1)? -> c(k-1)!; S_k ]
Also available through this link.Specification in DI Algebra:
# Generated by expexp.pl
NAME ="S"
I = { a0?, b?, a1?, a2? }
O = { c0!, c1!, c2! }
S_3 = b?;[
a0? -> c0!;S_3
, a1? -> c1!;S_3
, a2? -> c2!;S_3
]
Also available through this link.
The roles of subscripts i can be permuted (on a and c simultaneously).
The k-Sequencer satisfies Rules Y' and Z^in, but not Z^out (choice between c outputs).

No information available
No information available
No information available
Section 6.2.6 of [Ebergen89] presents decomposition 4 (without k-mixers, RGDA Arbiters, or Non-Receptive Mixers as stepping stones).