Man, Technology and Organisation

Software Bus

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.

Jokstad, Håkon

Specialist Group Manager


Primary contact adress:

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.


SWBus runs under Microsoft Windows and various Unix flavours including Linux, HP-UX, Solaris, Irix and Digital-Unix.