Intelligent Real-time Interactive Systems Toolkit
An IrisTK system (iristk.system.IrisSystem) consists of a number of modules (subclasses of iristk.system.IrisModule) that send and receive events. Events can represent anything that updates the system, typically some action that the user has done which is perceived by a module in the system or an action that some module wants some other module to execute. By default, IrisSystem relays all events to all modules and it is up to each module whether to process the event or not.
Each event (iristk.system.Event) has a name and a set of parameters. By convention, the name of events starts with one of the following types:
Sense events are typically created by sensor modules (speech recognizers, face trackers, etc). These are typically picked up by a Flow module that models the interaction and give rise to system behaviour. Thus, the Flow generate Action events which are then picked up by actuator modules (speech synthesis, facial animation, etc). The actuator modules send monitor events when executing actions. Such signals are essential to real-time systems, since they allow other modules to know when actions have been performed or are about to be performed, which facilitates synchronization, sequencing and interruptions of actions.
The following illustration shows how different kinds of events typically may be sent and picked up by modules:
Modules are free to invent their own events, but some events are standardized in IrisTK (see Events).
Copyright © Gabriel Skantze, 2013-