The present invention provides an array of parallel programmable
processing engines interconnected by a switching network. At least some
of the processing engines execute a thread, and at least some threads
communicate with each other through communication objects either
internally within one processing engine or through the network. A
scheduling step of the parallel programmable processing engines is
initiated by one or more events, an event being defined by a change of a
state variable of a communication object. The array comprises: means
for scheduling a scheduling step of the processing engines, the
scheduling means comprising means for executing at least a first set of
threads in parallel, means for updating state values of communications
objects in response to the parallel executing step, and means for
repeatedly and sequentially scheduling the executing means and the
updating means until no more events occur. The present invention also
provides a deterministic method of operating such an array.