Programming a plurality of states having respective threads is achieved by
an event engine and a computer controlled GUI causing the event engine to
monitor a signal and execute an action based thereon. The GUI programs an
event and several states and causes the event engine to traverse between
the states upon reaching the event. The GUI further programs a logic
chain which unifies the threads. A method unifies several threads by
selecting and executing a logic operation. The method further configures
several states and causes traversing between them. The GUI may be
deployed co-functionally with debuggers, logic analyzers, scopes,
utilities, and software development tools. The results of the GUI are
automatically transformed into program code which programs the event
engine to operate during debug of a device under test by monitoring for
events and taking action based thereon.