Overview » History » Version 14
S. Wrede, 11/19/2014 09:46 PM
1 | 1 | J. Moringen | h1. Overview |
---|---|---|---|
2 | 1 | J. Moringen | |
3 | 2 | J. Moringen | h2. What are RSB and the RS* ecosystem? |
4 | 1 | J. Moringen | |
5 | 11 | S. Wrede | 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. |
6 | 1 | J. Moringen | |
7 | 1 | J. Moringen | OK, but what does that actually mean? |
8 | 1 | J. Moringen | |
9 | 1 | J. Moringen | > RSB and the RS* ecosystem |
10 | 1 | J. Moringen | |
11 | 10 | J. Moringen | Most of these projects are named "RS<some letter>" where "RS" is short for "Robotics[1] Systems". Here are the most commonly used ones: |
12 | 1 | J. Moringen | |
13 | 1 | J. Moringen | | RSC | Robotics Systems Commons | A C++ library of frequently needed functions | |
14 | 1 | J. Moringen | | RSB | Robotics Service Bus | See next paragraph | |
15 | 1 | J. Moringen | | RSBag | Robotics Systems Bag Tools | Record/replay communication between programs | |
16 | 1 | J. Moringen | | RST | Robotics Systems Types | Collection of data types; supporting infrastructure | |
17 | 8 | S. Wrede | |
18 | 1 | J. Moringen | > event-based […] distributed systems |
19 | 1 | J. Moringen | |
20 | 7 | S. Wrede | 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. The RSB library provides a set of well tested communication patterns such as Publish/Subscribe or (Asynchronous) Remote Procedure Calls on the event-driven core that are available to application developers. |
21 | 1 | J. Moringen | |
22 | 1 | J. Moringen | > development, operation and analysis of […] systems |
23 | 1 | J. Moringen | |
24 | 3 | S. Wrede | 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. |
25 | 1 | J. Moringen | |
26 | 1 | J. Moringen | > multi-platform |
27 | 1 | J. Moringen | |
28 | 3 | S. Wrede | 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":http://beagleboard.org/. |
29 | 1 | J. Moringen | |
30 | 1 | J. Moringen | > multi-language |
31 | 1 | J. Moringen | |
32 | 1 | J. Moringen | Components using RSB and the RS* ecosystem can be written in C++, Python, Java, Common Lisp and with some restrictions Matlab. |
33 | 1 | J. Moringen | |
34 | 11 | S. Wrede | h2. Community |
35 | 1 | J. Moringen | |
36 | 13 | S. Wrede | RSB is fully open source and mostly LPGL licensed. It is currently mainly developed and maintained by the Cognitive System Engineering Group at CITEC and CoR-Lab with various contributions from in-house and external developers. |
37 | 1 | J. Moringen | |
38 | 1 | J. Moringen | You will find many software components with RSB interface in the domain of robotics and interactive systems contributed by 3rd party developers in the "Cognitive Interaction Toolkit":https://toolkit.cit-ec.uni-bielefeld.de/ if you search for @rsb@. |
39 | 13 | S. Wrede | |
40 | 13 | S. Wrede | Fore more information on the CSE group, please visit http://www.cor-lab.de/cognitive-systems-engineering. For the kinds of support we provide, see next section. |
41 | 1 | J. Moringen | |
42 | 1 | J. Moringen | h2. Documentation |
43 | 1 | J. Moringen | |
44 | 1 | J. Moringen | |_. Project |_. Project Website |_. Manual |_. API Documentation | |
45 | 4 | S. Wrede | | RSC | "Redmine Project":http://code.cor-lab.org/projects/rsc | | "C++":http://docs.cor-lab.de//rsc-api/0.10/html/index.html | |
46 | 1 | J. Moringen | | RSB | "Redmine Project":http://code.cor-lab.org/projects/rsb | "RSB Manual (includes RSB tools)":http://docs.cor-lab.org/rsb-manual/0.10/html/index.html | "C++":http://docs.cor-lab.org/rsb-cpp-api/0.10/html/ "Python":http://docs.cor-lab.org/rsb-python-api/0.10/html/ "Java":http://docs.cor-lab.org/rsb-java-api/0.10/html | |
47 | 1 | J. Moringen | | RSBag | "Redmine Project":http://code.cor-lab.org/projects/rsbag | "RSBag Manual (includes RSBag tools)":http://docs.cor-lab.org/rsbag-manual/0.10/html/index.html | | |
48 | 1 | J. Moringen | | RST | "Redmine Project":http://code.cor-lab.org/projects/rst | "RST Manual (includes data type catalog)":http://docs.cor-lab.org/rst-manual/0.10/html/index.html | | |
49 | 1 | J. Moringen | |
50 | 6 | S. Wrede | An overview of publications related to RSB can be found in the "RSB Manual":http://docs.cor-lab.de//rsb-manual/0.10/html/literature.html. |
51 | 6 | S. Wrede | |
52 | 1 | J. Moringen | h2. Access |
53 | 1 | J. Moringen | |
54 | 1 | J. Moringen | On Ubuntu Trusty systems, RSB and the RS* ecosystem can be accessed in two ways: |
55 | 1 | J. Moringen | # Using the pre-installed software in @/vol/isy/2014-15/releases/trusty/@ |
56 | 1 | J. Moringen | # Using Debian packages (see "instructions":http://packages.cor-lab.org/) |
57 | 1 | J. Moringen | |
58 | 1 | J. Moringen | In both cases, RS* software can be used in software projects as described in the "build system tutorial":http://docs.cor-lab.de/build%20system%20essentials-tutorial/trunk/html/index.html. |
59 | 1 | J. Moringen | |
60 | 1 | J. Moringen | |_. Software |_. @/vol/isy/@ |_. Debian Package(s) | |
61 | 1 | J. Moringen | | RSC | | C++: @librsc0.10@ | |
62 | 14 | S. Wrede | | RSB | | C++: @librsb0.10@ | |
63 | 14 | S. Wrede | | RSB Tools | @/vol/isy/2014-15/releases/trusty/bin/rsb-{logger,send,…}{cl,cpp}0.10@ | C++: @rsb-tools-cpp0.10@, Common Lisp: @rsb-tools-cl0.10@ | |
64 | 1 | J. Moringen | | RSBag Tools | @/vol/isy/2014-15/releases/trusty/bin/bag-{record,play,…}cl0.10@ | Common Lisp: @rsbag-bin-cl0.10@ | |
65 | 1 | J. Moringen | | RST | | C++, Python, Java: @rst0.10@ | |
66 | 1 | J. Moringen | |
67 | 1 | J. Moringen | h2. Support |
68 | 1 | J. Moringen | |
69 | 1 | J. Moringen | * Mailing-list |
70 | 1 | J. Moringen | ** Write: mailto:rsb@lists.cor-lab.uni-bielefeld.de |
71 | 1 | J. Moringen | ** Subscribe: https://lists.techfak.uni-bielefeld.de/cor-lab/mailman/listinfo/rsb |
72 | 1 | J. Moringen | * IRC: #rsb IRC channel on irc.freenode.net |
73 | 1 | J. Moringen | * Reporting Bugs: @https://code.cor-lab.org/projects/rs*/issues/new@. |
74 | 9 | S. Wrede | |
75 | 12 | S. Wrede | fn1. While RSB was developed in a robotics context, it is not limited to robotics but should instead be applicable to a wide range of technical systems. The data types collected in the RST library provides a good overview of the main RSB application domains. |