
Ts = Pass(op, Ts1, Ps1, …, Tsn, Psn), where:
|   | op is the operator along with any arguments |
|   | Tsi is the set of tuples that have arrived from the i-th input |
|   | Psi is the set of punctuation that has arrived from the i-th input |
|   | Ts is the set of tuples that can be output from the operator. |
op(Ts1, …, Tsn). Note
that pass invariants define all tuples so far that can be output. In practice, pass
invariants are implemented incrementally, to calculate additional tuples based
on each new tuple or punctuation received. We explore two operators: Set Difference and Sort.
|   | Pass(SetDiff, Ts1, Ps1,
Ts2, Ps2) = {t | t Î Ts1
Ù t Î Ts2
Ù SetMatch(t, Ps2) } |
|   | Pass(SortA, Ts, Ps) =
Sort{ t Î Ts | SetMatch(t, Initial(SortA, Ps)) } | |
|   |   | Initial(SortA, Ps) = maximal contiguous subset Ps' of Ps |
|
Last modified by Pete Tucker on 26 August 2005.