introduction details downloads links contact
linking up analogue devices switches counting actors sequencing prioritising
Actor-lab is a time-based language. All processing takes place concurrently (as far as the user is concerned) as each actor has its own process thread. Consequently messages that are not delayed are all sent ‘at the same time’. It also means that each actor effectively has its own clock, and script messages that are to be delayed are individually time-stamped, with respect to the event that initiated them, and sent at the appropriate time. (Unless meta-commands cause the actor to be disabled at the time that the message should be sent, cf the prioritising section.)

It is easy to create a sequence of timed events in
actor-lab, but it is very important that users understand that all the delays in a script are with respect to the original BEGIN message. Because the script is of necessity an ordered list (and the editor keeps it in order if delay timings are changed), it is possible to misread the delay times as having a cumulative effect. The ‘3 lights’ demo is quite effective at communicating the correct interpretation. One light turns on at the same time as the previous one goes off, and not 4 seconds later: