Overview » History » Version 9

J. Wienke, 06/10/2011 05:33 PM

1 1 J. Wienke
h1. Overview
2 1 J. Wienke
3 8 J. Wienke
h2. Problem statement
4 8 J. Wienke
5 8 J. Wienke
* easier integration of complex (partially) distributed systems required
6 8 J. Wienke
** in-house (one middleware)
7 8 J. Wienke
** adaption (combination with other middlewares)
8 8 J. Wienke
* targeting at technical architecture (only supporting functional concepts)
9 8 J. Wienke
* performance requirements
10 8 J. Wienke
* platform requirements
11 9 J. Wienke
* programming language requirements
12 9 J. Wienke
* basis for describing and analyzing systems required
13 8 J. Wienke
14 7 J. Wienke
h2. Sebastian's Aims
15 7 J. Wienke
16 7 J. Wienke
* Solid foundation for system development
17 7 J. Wienke
** XCF support ends
18 7 J. Wienke
*** Footprint too large for embedded systems
19 7 J. Wienke
*** Architectural erosion
20 7 J. Wienke
*** Unmaintainable code base
21 7 J. Wienke
22 7 J. Wienke
h2. Lessons learned (also from other frameworks)
23 7 J. Wienke
24 2 J. Wienke
h2. Functional properties:
25 2 J. Wienke
26 1 J. Wienke
* Event-driven middleware with broadcast semantics
27 2 J. Wienke
** Additional patterns implemented on top of this base functionality
28 1 J. Wienke
* logically unified bus across multiple transports
29 1 J. Wienke
** currently a spread-based and an in-process transport are available
30 4 J. Wienke
** extensible to other transports -> compatibility to existing frameworks
31 1 J. Wienke
* Bus is structured by hierarchical channels
32 1 J. Wienke
** / receives all messages of sub-scopes like /a/test
33 2 J. Wienke
34 2 J. Wienke
h2. Non-functional properties:
35 2 J. Wienke
36 2 J. Wienke
* lightweight:
37 2 J. Wienke
** small dependency footprint for the core layer
38 2 J. Wienke
** Targeting at embedded systems (e.g. Nao)
39 2 J. Wienke
* Languages: cpp, java, python, common lisp
40 2 J. Wienke
** real implementations, no bindings to provide natural interfaces in each language
41 2 J. Wienke
* No single wire type like XML:
42 2 J. Wienke
** instead arbitrary client data is serialized to different wire types using (user-installed) converters
43 6 J. Wienke
*** default set of converters exists (e.g. source:/trunk/cpp/core/src/rsb/converter/StringConverter.cpp)
44 3 J. Wienke
** provide flexible and fast serialization mechanisms
45 3 J. Wienke
** XML support layer as additional library
46 3 J. Wienke
47 3 J. Wienke
h2. Planned functionality:
48 3 J. Wienke
49 3 J. Wienke
* naming and discovery
50 3 J. Wienke
* introspection tools
51 3 J. Wienke
* model-based setup