An OutputSynchronizationConstraint defines how far apart the responses that belong to a certain stimulus may occur.<br/><br/>This constraint provides an alternative to the ordinary SynchronizationConstraint for situations where the causal relation between event occurrences must be taken into account. It differs from the SynchronizationConstraint in that it applies to a set of event chains, and only looks at the response occurrences that have the same color as each particular stimulus occurrence. It is the earliest of these response occurrences for each chain that are required to lie no more than tolerance time units apart. If the roles of stimuli and responses are swapped, an InputSynchronizationConstraint is obtained.<br/><br/>Constraints:<br/>[1] All scopes must reference one common stimulus event.<br/><br/>Semantics:<br/>A system behavior satisfies an OutputSynchronizationConstraint c if and only if<br/>for each occurrence x in c.scope(1).stimulus,<br/> there is a time t such that for each c.scope index i,<br/> there is an occurrence y in c.scope(i).response such that<br/> y.color = x.color<br/> and<br/> y is minimal in c.scope(i).response with that color<br/> and<br/> 0 #lt;= y - t #lt;= c.tolerance<br/>