The Software Bus (SWBus) is an object-oriented, TCP/IP based, data communication system particularly aimed at simulator systems and process surveillance and control systems. It handles complex, user-defined data types and is optimised for transferring a large number of variables from a central data source to a large number of clients.
Main features
The SWBus is a library of C functions used by application developers to simplify the cumbersome task of implementing data communication between processes in a distributed system. Main features include:
- High-performance data distribution. Clients may subscribe for object values, and updated values are distributed to all subscribers when changed.
- Remote method invocation. Methods and global functions may be invoked in remote processes. Input and output arguments are defined by the programmer.
- Data types and objects can be defined at run-time. This feature enables development of general data distributors, reading their data specifications at run-time.
- Easy programming for process connection and for detecting communication breaks. A process initiates a connection to another process providing the remote process’ name. Callbacks are then received when the connection is established, broken or terminated gracefully.
- Cross platform communication fully supported. Processes not required to know remote process’ platform.
- Open for integration with other communication systems.
In addition to the standard C-language API, a C++ class-library built on top of SWBus further simplifies SWBus programming.
Platforms
SWBus runs under Microsoft Windows and various Unix flavours including Linux, HP-UX, Solaris, Irix and Digital-Unix.