|UML Representation: Signal. Also commonly represented as a class stereotyped <<signal>>.
Signals are used to define entities for asynchronous messaging. They are suitable for communication in distributed and
concurrent systems. Avoid naming signals in a 'receiver-specific' manner - this limits their generality and usefulness,
bearing in mind that signals may be broadcasted to a set of objects. The important thing is to communicate the
interesting occurrence the sender has detected (which prompted it to send the signal). A signal may also have a list of
parameters which are represented as its attributes. Operations may be provided on a signal to access these
Since Signals are a specialization of Work product: Event, signal tailoring is dependent on the tailoring for Work
product: Event. For example, the Work product: Event information can be captured in textual form (such as a table in
the Software Architecture Document), while the Signal-specific properties are captured in a visual model.