Meetings2011-03-17 » History » Version 14

J. Wienke, 03/17/2011 03:50 PM

1 1 J. Wienke
h1. Meetings2011-03-17
2 1 J. Wienke
3 1 J. Wienke
Topics:
4 1 J. Wienke
* Michael ;)
5 1 J. Wienke
* Jan ;)
6 1 J. Wienke
* URIs...
7 2 J. Wienke
8 2 J. Wienke
h2. Message Fragmentation
9 2 J. Wienke
10 2 J. Wienke
* Only c++ right now
11 2 J. Wienke
** missing:
12 4 J. Wienke
*** Python
13 4 J. Wienke
*** Java
14 2 J. Wienke
*** Common LISP
15 2 J. Wienke
* blocks of size 100k
16 2 J. Wienke
* recombination missing
17 2 J. Wienke
* Notification contains total number of blocks and number of current block
18 2 J. Wienke
* spread UNSAFE_MESS does not guarantee sequencing of messages -> recombination with ordering and waiting required in input port
19 2 J. Wienke
* What to do with missing messages (e.g. directly when starting a subscription there could be only the last half of a message received)
20 1 J. Wienke
** simple strategy: Timeout for finalization of a message to dispatch
21 1 J. Wienke
* Configuration of block size as a simple hack in current class...
22 4 J. Wienke
23 4 J. Wienke
h2. Jan's Question Collection
24 4 J. Wienke
25 4 J. Wienke
h3. Names
26 4 J. Wienke
27 4 J. Wienke
* Event Payload: User data in an event
28 4 J. Wienke
* Wire Type: data type of serialized representation, e.g. bytes, has a language mapping
29 4 J. Wienke
* Wire Schema: schema of serialized data, descriptor, IDL?
30 4 J. Wienke
** dependent of wire type
31 5 J. Wienke
* Converter:
32 5 J. Wienke
** Currently only for event payload
33 5 J. Wienke
** serializes payload to wire type according to wire schema
34 5 J. Wienke
** and vice versa
35 6 J. Wienke
36 6 J. Wienke
h3. Why Ports Bidirectional?
37 6 J. Wienke
38 6 J. Wienke
* Sebastian: one implementation is enough based on common ground
39 6 J. Wienke
* Jan: Current scheme restricts usage cardinalities
40 6 J. Wienke
* Still could be useful in future
41 6 J. Wienke
42 7 J. Wienke
h3. Should (Spread) Ports Know Who Is Receiving Data
43 6 J. Wienke
44 6 J. Wienke
* Spread: group members
45 6 J. Wienke
* no sending would be required if there is no receiver
46 6 J. Wienke
* Sebastian: not important as usecase
47 6 J. Wienke
* Naming: requires a more global strategy to provide kind of membership information
48 1 J. Wienke
49 8 J. Wienke
h3. How Much Functionality and Dynamics in Subscriptions?
50 7 J. Wienke
51 7 J. Wienke
* updates of filters etc.
52 7 J. Wienke
* which changes of a subscription can or have to trigger naming events?
53 1 J. Wienke
* First iteration: subscriptions are immutable
54 8 J. Wienke
55 9 J. Wienke
h3. Filter Whitelisting
56 9 J. Wienke
57 10 J. Wienke
* Ports should mark which filter was already filtered in the port -> avoid filtering twice
58 10 J. Wienke
* two possibilities:
59 10 J. Wienke
*# filter knows which event to not filter by id
60 10 J. Wienke
*# external component knows which filters not to use
61 12 J. Wienke
* relevant: multiple in-ports for subscriber
62 12 J. Wienke
63 12 J. Wienke
h3. Grundannahmen
64 12 J. Wienke
65 14 J. Wienke
Kern-Domänenobjekte:
66 12 J. Wienke
* *1* Bus: (m:n Kommunikation) über alle Transportmöglichkeiten in RSB, nur logisches Konstrukt, realisiert über Kombination mehrer Ports
67 13 J. Wienke
* Channel: Topic auf Bus mit m:n Kommunikation, Ist kein Pattern da er den Bus über Aggregation von Ports realisiert. Ports müssen vom Nutzer angegeben werden wenn noch kein Modell vorhanden ist. Hat einen global einschränkenden Scope-Filter. Besitzt n Listener.
68 1 J. Wienke
* Topic: Inhaltliche Einschränkung des Broadcast
69 13 J. Wienke
* Listener: Teilnehmer an einem Channel mit Filter Chain, entweder synchrones oder asynchrones empfangen (aktuell: Subscription), eindeutig identifizierbar im System
70 1 J. Wienke
* Informer: Schreibende Komponente auf Channel, eindeutig identifizierbar im System.
71 14 J. Wienke
72 14 J. Wienke
Pattern-Domänenobjekte:
73 14 J. Wienke
Publisher: 1:n Kommunikation, könnte evtl. Garantie anbieten, dass er zuerst existiert
74 14 J. Wienke
Subscriber: 1:n Empfänger