Jump to content

Signal programming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mange01 (talk | contribs) at 15:01, 23 January 2010 (Extended). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Signal programming is used in the same sense as dataflow programming, and is similar to event-driven programming.

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 corresponds to events in event-driven programming.

The signal flow is described in a signal-flow chart or a data-flow diagram.

Synchronous signal programming

In the wider software development community the word signal is sometimes used especially to denote synchronous events (sequences of samples, video frames, etc, with constant sample rate or frame rate) rather than asynchronous events, while the word event 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. In telecommunications, signalling means asynchronous metadata information exchange, for example of telephone numbers.

One application of synchronous signal programming is observer pattern.

Asynchrnous 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 etc.