An InputSynchronizationConstraint 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 stimulus occurrences that have the same color as each particular response occurrence. It is the latest of these stimulus 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 OutputSynchronizationConstraint is obtained.<br/><br/>Constraints:<br/>[1] All scopes must reference one common response event.<br/><br/>Semantics:<br/>A system behavior satisfies an InputSynchronizationConstraint c if and only if<br/>for each occurrence y in c.scope(1).response,<br/> there is a time t such that for each c.scope index i,<br/> there is an occurrence x in c.scope(i).stimulus such that<br/> y.color = x.color<br/> and<br/> x is maximal in c.scope(i).stimulus with that color<br/> and<br/> 0 #lt;= x - t #lt;= c.tolerance<br/>