ludger fiege [email protected] joint work with mira mezini, gero mühl, alejandro buchmann dep. of...
TRANSCRIPT
Ludger FiegeLudger Fiege [email protected]
joint work with joint work with Mira Mezini, Gero Mühl, Alejandro BuchmannMira Mezini, Gero Mühl, Alejandro Buchmann
Dep. of Computer ScienceDep. of Computer ScienceTU Darmstadt, GermanyTU Darmstadt, Germany
Visibility as Central Abstraction in Visibility as Central Abstraction in Event-based SystemsEvent-based Systems
Slide 2Ludger Fiege, [email protected] Darmstadt, Germany
Event-based SystemsEvent-based Systems
Pub/Sub SystemPub/Sub System
Slide 3Ludger Fiege, [email protected] Darmstadt, Germany
BenefitsBenefits
We appreciate the loose couplingWe appreciate the loose coupling– Indirect addressing, space decouplingIndirect addressing, space decoupling– Additional degrees of freedomAdditional degrees of freedom
Basic CS solution…Basic CS solution…
Event-based:Event-based:– Components control their own state, solelyComponents control their own state, solely
IndependenceIndependence ReusabilityReusability
Slide 4Ludger Fiege, [email protected] Darmstadt, Germany
Event-based SystemsEvent-based Systems
Pub/Sub SystemPub/Sub System
Slide 5Ludger Fiege, [email protected] Darmstadt, Germany
DrawbacksDrawbacks
Composed functionality isComposed functionality is– Direct and implicit result of compositionDirect and implicit result of composition– No explicit control of coordinationNo explicit control of coordination
Control only by adapting components:Control only by adapting components:– Tailor event types/contents Tailor event types/contents – Encode application structure into componentsEncode application structure into components
Sacrifice very benefits of event-based style?!Sacrifice very benefits of event-based style?!
Usable as basic programming paradigm?Usable as basic programming paradigm?
Slide 6Ludger Fiege, [email protected] Darmstadt, Germany
Event-based SystemsEvent-based SystemsRegaining ControlRegaining Control
Pub/Sub SystemPub/Sub System
Slide 7Ludger Fiege, [email protected] Darmstadt, Germany
ScopesScopes
Scopes constrain the visibility of notificationsScopes constrain the visibility of notifications– VisibilityVisibility as first-class conceptas first-class concept
Structure not emulated by namespaces or filtersStructure not emulated by namespaces or filters Clients not aware of structureClients not aware of structure
– External control of structure: Integration External control of structure: Integration
Family 1
Ma GrandMa
Family 2
Ma GrandMa
sick sickadviceadvice
Slide 8Ludger Fiege, [email protected] Darmstadt, Germany
Fairytale IIFairytale IIA Scoped World: StructuringA Scoped World: Structuring
Family 1
Forest
Wolf
Grand-mother
Mother
LRRH
Family 2
Slide 9Ludger Fiege, [email protected] Darmstadt, Germany
Fairytale IIIFairytale IIIA Scoped World: Information HidingA Scoped World: Information Hiding
Family 1
Forest
Wolf
Grand-mother
Mother
LRRH
Family 2
advice advice
advice
Slide 10Ludger Fiege, [email protected] Darmstadt, Germany
GermanImmigrants
Pen-friends
Fairytale IVFairytale IVHeterogeneous WorldHeterogeneous World
Family
Forest
Wolf
Grand-mother Mother
LRRH
krank
sick
Slide 11Ludger Fiege, [email protected] Darmstadt, Germany
Fairytale VFairytale VLRRH ServicesLRRH Services
Family 1
Forest
Wolf
Grand-mother
Mother
LRRHServiceDad
Family 2
1 2 3
Default broadcast semantics not always appropriateDefault broadcast semantics not always appropriate
Family 1
Forest
Wolf
Grand-mother
Mother
LRRHServiceDad
Family 2
1 2 3
Default broadcast semantics not always appropriateDefault broadcast semantics not always appropriate
Slide 12Ludger Fiege, [email protected] Darmstadt, Germany
ImplementationImplementation
Project RProject REBECA: EBECA:
http://http://www.gkec.informatik.tu-darmstadt.de/rebecawww.gkec.informatik.tu-darmstadt.de/rebeca
Prototype of notification infrastructurePrototype of notification infrastructure– Scalable content-based filteringScalable content-based filtering– Structuring with ScopesStructuring with Scopes
Example ApplicationsExample Applications– Stock trading platformStock trading platform– Self-actualizing web pagesSelf-actualizing web pages
Slide 13Ludger Fiege, [email protected] Darmstadt, Germany
UMLUML
Component
SimpleComponent Scope
ComponentInterface *
*
2
SessionScope
DeliveryPolicy
SecurityPolicy
EventMappings
Slide 14Ludger Fiege, [email protected] Darmstadt, Germany
Using ScopesUsing Scopes
Different Implementations of ScopesDifferent Implementations of Scopes– Not always all configuration options availableNot always all configuration options available– Adapt/tailored to deployment scenarioAdapt/tailored to deployment scenario
Up to now: SpecificationUp to now: Specification– XML description of interfacesXML description of interfaces– Java objects implementing policiesJava objects implementing policies
Future: Future: – Composition languagesComposition languages– Functional PLFunctional PL
Slide 15Ludger Fiege, [email protected] Darmstadt, Germany
ContributionsContributions
We started by implementing an event-based We started by implementing an event-based middlewaremiddleware
Introduce scopes in event-based systemsIntroduce scopes in event-based systems– first-class structuring mechanismfirst-class structuring mechanism– Obvious benefitsObvious benefits
Control side effectsControl side effects
– Address heterogeneity issuesAddress heterogeneity issues– Refine event service semanticsRefine event service semantics
Slide 16Ludger Fiege, [email protected] Darmstadt, Germany
……and thenand then
Event-based componentsEvent-based components– Information hidingInformation hiding– Composing new componentsComposing new components
Implemented framework:Implemented framework:– allows to investigate scopes as new abstraction in allows to investigate scopes as new abstraction in
event-based systemsevent-based systems– Software engineeringSoftware engineering
Component languages, Meta Object ProtocolsComponent languages, Meta Object Protocols
– Data managementData management Sessions, transactions, notification lifetimeSessions, transactions, notification lifetime
– Distributed systemsDistributed systems Multicast, ordering, group communicationMulticast, ordering, group communication
– ……
Slide 17Ludger Fiege, [email protected] Darmstadt, Germany
QuestionsQuestions??
Thank you for listening!Thank you for listening!
Ludger FiegeLudger Fiege
Dep. of Computer ScienceDep. of Computer Science
TU Darmstadt, GermanyTU Darmstadt, Germany