Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ludger Fiege, TU Darmstadt, Germany Slide 1 A Modular Approach to Build Structured Event-based Systems Ludger Fiege Dep. of Computer Science.

Similar presentations


Presentation on theme: "Ludger Fiege, TU Darmstadt, Germany Slide 1 A Modular Approach to Build Structured Event-based Systems Ludger Fiege Dep. of Computer Science."— Presentation transcript:

1 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 1 A Modular Approach to Build Structured Event-based Systems Ludger Fiege Dep. of Computer Science TU Darmstadt, Germany fiege@acm.org

2 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 2 Agenda n Publish/subscribe and Event-based systems n Current deficiencies and a solution… n Scoping constrains visibility n Event mappings cope with heterogeneity n Modular implementation n Conclusion

3 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 3 Publish/Subscribe Systems aka Event-based Systems n Set of clients –Communicate with notificatitons –Producers publish notifications –Consumers subscribe to kinds of notifications n Notification service transmits notifications P/S n n n Producer 1. 2. Consumer subscribed to “/Weather/London” Notification “/Weather/London” Consumer subscribed “/Weather/Berlin” “/Weather/*”

4 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 4 Event-based Systems n Pub/Sub and messaging are implementation techniques n Characteristics of Event-based cooperation: –Initiator of communication: Producer –Addressee: Not specified  No explicit dependencies, loose coupling

5 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 5 Simple Event-based System n Black box specification –Interface description n Interface operations: –Sub(X,F), Unsub(X,F) –Pub(Y,n) –Notify(X,n) XY Notification Service Clients n F

6 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 6 Simple Event-based System Specification n Based on LTL : –Safety : Notify(X,n)  previously [Pub(Y,n)  Sub(X,F)], n  F –Liveness: Sub(X,F)  eventually (Pub(Y,n)  n  F  Notify(X,n))

7 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 7 Simple Event-based System Possible Implementation n Implementation: –Network of brokers –Flooding or content-based filtering, etc. Notification Service

8 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 8 Deficiencies of Event-based Systems n Concentration on efficiency, but… n Complexity of large system design and administration disregarded n Flat address space n No information hiding  Lacking module concept Side effects !

9 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 9 Scopes n Scopes constrain the visibility of notifications –External control of delivery destinations –Visibility as first-class concept  Structure not only induced by namespaces or filters  Clients are not aware of the scoping structure n n X F Scope 1 Y F Scope 2

10 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 10 n Clients and scopes are arranged in a DAG n Visibility: v(X,Y)  X=Y  v(Y,X)  X‘  super(X): v(X‘,Y) n v(1,2) v(1,3) v(3,4) n Visibility roots determine recipients v(X,Y)  Roots(X)  Roots(Y)  {} Scope Graphs 314 2 Vis. roots n n n n n n

11 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 11 Event System with Scopes n Safety Notify(X,n)  prev. Pub(Y,n)  Sub(X,F)  v(X,Y), n  F n Liveness Sub(X,F)  [v(X,Y)  (Pub(Y,n)  n  F  Notify(X,n))]

12 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 12 Event System with Scopes Implementation n Build on top of a simple system –Client code –Scoped system API n Manages list of vis. roots n Add list of vis. roots to notifications and filters –Simple system API Simple system Scoped system

13 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 13 Event Mappings n Event mappings –Discard or transform events at scope boundaries –Can be bound to any edge in the scope graph n Scope interfaces –Map notification to  –Constrain Sub() and Pub() of scopes n Heterogeneous environments –Varying event syntax and semantics –Internal vs. external representations

14 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 14 Scope Interface Example n Assume clients 2,3,4 subscribed to “n” n Visibility is refined: e.g. v(1,4) 3 12 n  n   n nn n 3 4

15 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 15 Heterogeneity Example 3 12 n  n´ n  n´ n n´ n

16 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 16 Scoped System with Mappings n Implementation idea: –Graph transformation –Mapping clients 3 12 n  n´ n  n´ 3 12 n  n´

17 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 17 Contributions n Scoping in event-based systems –First-class structuring mechanism n Event mappings: Heterogeneity of –Application environment –Event service semantics / implementation n Modular implementation, modularity support n Formal specification of –Simple Publish/subscribe –scoping, mapping extensions

18 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 18 Questions ? Ludger Fiege Dep. of Computer Science TU Darmstadt, Germany fiege@acm.org

19 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 19 Cooperation Models n Cooperation: Establishing dependencies

20 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 20 Visibility n Visibility fundamental question in all SW- systems n Coordination in P/S-systems (Admin)  What are the consequences of changes to system configuration?

21 Ludger Fiege, fiege@acm.org TU Darmstadt, Germany Slide 21 Scopes n Idea: Scoping as concept n Structure not only induced by namespaces or filters n Explicitly supports Administrator n Structuring mechanism of applications –Simple, extensive –Support design and implementation n Orthogonal to subscriptions –Interest vs. Visibility


Download ppt "Ludger Fiege, TU Darmstadt, Germany Slide 1 A Modular Approach to Build Structured Event-based Systems Ludger Fiege Dep. of Computer Science."

Similar presentations


Ads by Google