170 likes | 319 Views
Visibility as Central Abstraction in Event-based Systems. Event-based Systems. Pub/Sub System. Benefits. We appreciate the loose coupling Indirect addressing, space decoupling Additional degrees of freedom Basic CS solution… Event-based: Components control their own state, solely
E N D
Event-based Systems Pub/Sub System Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Benefits • We appreciate the loose coupling • Indirect addressing, space decoupling • Additional degrees of freedom • Basic CS solution… • Event-based: • Components control their own state, solely • Independence • Reusability Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Event-based Systems Pub/Sub System Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Drawbacks • Composed functionality is • Direct and implicit result of composition • No explicit control of coordination • Control only by adapting components: • Tailor event types/contents • Encode application structure into components • Sacrifice very benefits of event-based style?! Usable as basic programming paradigm? Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Event-based SystemsRegaining Control Pub/Sub System Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Family 2 advice advice Ma GrandMa Scopes • Scopes constrain the visibility of notifications • Visibilityas first-class concept • Structure not emulated by namespaces or filters • Clients not aware of structure • External control of structure: Integration Family 1 sick sick Ma GrandMa Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Forest Wolf Fairytale IIA Scoped World: Structuring Family 1 Family 2 LRRH Grand-mother Mother Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Forest Wolf Fairytale IIIA Scoped World: Information Hiding advice Family 1 Family 2 advice advice LRRH Grand-mother Mother Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
GermanImmigrants Pen- friends Fairytale IVHeterogeneous World Forest Family Wolf sick krank LRRH Grand-mother Mother Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Default broadcast semantics not always appropriate Forest Family 1 Family 2 Wolf LRRH Service Grand-mother Dad Mother 1 2 3 Fairytale VLRRH Services Default broadcast semantics not always appropriate Forest Family 1 Family 2 Wolf LRRH Service Grand-mother Dad Mother 1 2 3 Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Implementation • Project REBECA: http://www.gkec.informatik.tu-darmstadt.de/rebeca • Prototype of notification infrastructure • Scalable content-based filtering • Structuring with Scopes • Example Applications • Stock trading platform • Self-actualizing web pages Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
2 Component Interface Component * DeliveryPolicy * SimpleComponent Scope SecurityPolicy SessionScope EventMappings UML Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Using Scopes • Different Implementations of Scopes • Not always all configuration options available • Adapt/tailored to deployment scenario • Up to now: Specification • XML description of interfaces • Java objects implementing policies • Future: • Composition languages • Functional PL Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Contributions • We started by implementing an event-based middleware • Introduce scopes in event-based systems • first-class structuring mechanism • Obvious benefits • Control side effects • Address heterogeneity issues • Refine event service semantics Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
…and then • Event-based components • Information hiding • Composing new components • Implemented framework: • allows to investigate scopes as new abstraction in event-based systems • Software engineering • Component languages, Meta Object Protocols • Data management • Sessions, transactions, notification lifetime • Distributed systems • Multicast, ordering, group communication • … Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany
Questions? Thank you for listening! Ludger Fiege Dep. of Computer Science TU Darmstadt, Germany fiege@acm.org Ludger Fiege, fiege@acm.orgTU Darmstadt, Germany