Glossary¶
- causal vector
A list of references to events (via their event ids) which caused a given event.
See Event for more.
- channel
- A communication domain participants of which exchange events in a broadcast communication style. Channels form a tree with respect to set-inclusion relations of their respective sets of participants. Channels are designated by scopes.
- connector
- Implementation of one function, e.g. sending of notifications, for a particular transport.
- converter
Mechanism that transforms event payloads into data of a particular wire type and vice-versa.
- converter selection strategy
- A mechanism to select an appropriate converter for sending and receiving an event.
- data type
The type (programming language dependent) of event payload.
Example(C++,protocol buffers,spread):
IplImage*
for the example above- domain->wire converter
Mechanism that transforms event payloads into data of the wire type that has an interpretation w.r.t. the wire schema. Uniquely identified by the triple
- domain type
- wire type
- wire schema
Example(C++,protocol buffers,spread):
AbstractConverter<std::string>?
See Types for a list of well-known wire schema <-> data type mappings.
- event
For events in RSB, see Event.
See [Luckham2001PEI] for a general treatment.
- event id
Unique identifier of an Event.
See Event for more.
- filter
A mechanism for selecting events which comply to some criterion from a set of events.
See transform.
- informer
- A kind of participant which publishes events.
- inprocess
A kind of transport, which delivers events within one process (i.e. no inter-process or network communication).
See Inprocess Transport.
- introspection
- In the context of RSB, refers to automatically finding the participants of a running system and gathering information about them.
- handler
- A piece of client code attached to a listener which is called by RSB to process received events.
- homebrew
- A package manager simplifying the configuration, compilation and installation process for Unixoid software packages on MacOS X. Further information is available at: http://mxcl.github.com/homebrew/
- listener
A kind of participant which asynchronously receives events.
See also reader.
- local server
A kind of participant which provides methods that can be called by other participants.
See also remote server.
- meta-data
- event meta-data
In the context of RSB, meta-data refers pieces of data attached to events in addition to the payload.
- method field
A data field in RSB events which specifies the role of a given event within a communication pattern. For example, the request/reply communication pattern uses the values
"REQUEST"
and"REPLY"
.See Method for more.
- notification
transport -specific message that contains
- event meta-data
- wire schema
- (wire type, wire schema) representation of payload Note: does not contain domain type of event payload
- participant
- Any entity that communicates via the bus is called a participant. Typical participants are listeners which receive events and informers which publish events.
- payload
- event payload
Domain object (programming language dependent) that is associated with an event.
Example(C++,protocol buffers,spread): an object of type
IplImage*
- plugin
A particular extension of RSB’s functionality, such as a transport implementation or a converter, packaged as runtime-loadable code.
See Plugins.
- reader
A kind of participant which synchronously receives events.
See also listener.
- remote server
A kind of participant which is able to call methods provided by local servers.
See also local server.
- scope
Descriptor for a channel of the unified bus. The channel is itself hierarchical, hence the scope also reflects this structure.
See Scope.
- sequence number
A positive integer associated to each event which indicates the order of all events published by a particular informer.
See Sequence Number.
- Spread
- The Spread group communication framework is one the transports RSB can use. It is available as a plugin.
- Spread daemon
- A network server used by Spread to coordinate
communication of clients and exchange data. Usually installed
under the name
PREFIX/sbin/spread
. - subscope
A given scope has a potentially infinite number subscopes. All events visible in a subscope of a scope are visible in the scope itself.
For example,
/a/b
is a subscope of the scope/a
.See superscope, Scope.
- superscope
A given scope has zero or more proper superscopes. Each superscope has the property that all events visible in the original scope are also visible in the superscope.
For example,
/
is a superscope of all scopes and proper superscope of all scopes except/
itself./a/b
is a proper superscope of/a/b/c
,/a/b/d
,/a/b/c/d
, etc but not/a
or/a/c
.- transform
A mechanism for modifying events.
See filter.
- transport
- transport mechanism
Mechanism for transporting notifications from their origin to their destinations. Most transports correspond to a network protocol.
See Transports.
- wire schema
Layout/structure of serialized representation of event payload.
Example(C++,protocol buffers,spread): specified by
ImageMessage
protocol buffer descriptor- wire type
Container type (programming language dependent?) of serialized representation of event payload (specific for a port type).
Examples
- C++,protocol buffers,spread: unsigned char*
- Java,xmpp: XMPP message as DOM tree
- wire->domain converter
- See domain->wire converter.