Overview » History » Version 8

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