Overview » History » Version 4

« Previous - Version 4/17 (diff) - Next » - Current version
S. Wrede, 11/19/2014 09:15 PM


Overview

What are RSB and the RS* ecosystem?

In one sentence, RSB and the RS* ecosystem are a collection of software projects that support the development, operation and analysis of event-based multi-platform, multi-language distributed systems developed by the cognitive systems engineering group.

OK, but what does that actually mean?

RSB and the RS* ecosystem

Most of these projects are named "RS<some letter>" where "RS" is short for "Robotics Systems". Here are the most commonly used ones:

RSC Robotics Systems Commons A C++ library of frequently needed functions
RSB Robotics Service Bus See next paragraph
RSBag Robotics Systems Bag Tools Record/replay communication between programs
RST Robotics Systems Types Collection of data types; supporting infrastructure

event-based […] distributed systems

The main purpose of RSB is to enable software components, potentially running on multiple computers, to exchange data in a principled and efficient way. Events are one kind of flexible building block form which more complex forms of communication can be constructed. Events are routed transparently to participating components over a logically unified bus architecture that can be established using different network protocols according to application requirements.

development, operation and analysis of […] systems

Applications using RSB, their communication and involved data types can be inspected, monitored, recorded, replayed and analyzed. These features aid the development, operation and analysis of systems.

multi-platform

RSB and the RS* ecosystem can be used on Linux, MacOS, Windows and Android. The native C++ implementation runs on standard x86 as well as ARM-based systems such as the BeagleBoard.

multi-language

Components using RSB and the RS* ecosystem can be written in C++, Python, Java, Common Lisp and with some restrictions Matlab.

developed by the Cognitive System Engineering Group

See http://www.cor-lab.de/cognitive-systems-engineering. For the kinds of support we provide , see next section.

Documentation

Project Project Website Manual API Documentation
RSC Redmine Project C++
RSB Redmine Project RSB Manual C++ Python Java
RSBag Redmine Project RSBag Manual
RST Redmine Project RST Manual

Access

On Ubuntu Trusty systems, RSB and the RS* ecosystem can be accessed in two ways:
  1. Using the pre-installed software in /vol/isy/2014-15/releases/trusty/
  2. Using Debian packages (see instructions)

In both cases, RS* software can be used in software projects as described in the build system tutorial.

Software /vol/isy/ Debian Package(s)
RSC C++: librsc0.10
RSB C++: rsb-tools-cpp0.10, Common Lisp: rsb-tools-cl0.10
RSB Tools /vol/isy/2014-15/releases/trusty/bin/rsb-{logger,send,…}{cl,cpp}0.10 C++: librsb0.10
RSBag Tools /vol/isy/2014-15/releases/trusty/bin/bag-{record,play,…}cl0.10 Common Lisp: rsbag-bin-cl0.10
RST C++, Python, Java: rst0.10

Support