|This article does not cite any references or sources. (July 2008)|
The word signal is used instead of the word dataflow in documentation of such libraries as Qt, GTK+ and libsigc++. The time instants when the signal value (or dataflow value) changes correspond to events in event-driven programming.
Synchronous signal programming
In software development, a signal can mean synchronous events (sequences of samples, video frames, etc., with constant sample rate or frame rate) rather than asynchronous events, while the word event and data flow is often used for asynchronous event queues, but this is by no means universal. Especially in telecommunications, electrical engineering and signal processing, a digital signal is a sampled representation of an analog physical entity.
One application of synchronous signal programming is observer pattern.
Asynchronous signal programming
In databases and operational systems, a signal is a sequence or flow of messages within a message passing architecture that a software agent can subscribe on. Note that these signals are asynchronous. Also signal programming is used in a narrow sense of programming with Unix signals such as SIGTERM, SIGSEGV, SIGPOLL etc.