Ludger Fiege [email protected] joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of...

17
Ludger Fiege Ludger Fiege [email protected] joint work with joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science Dep. of Computer Science TU Darmstadt, Germany TU Darmstadt, Germany Visibility as Central Visibility as Central Abstraction in Event-based Abstraction in Event-based Systems Systems

Transcript of Ludger Fiege [email protected] joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of...

Page 1: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 2: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

Slide 2Ludger Fiege, [email protected] Darmstadt, Germany

Event-based SystemsEvent-based Systems

Pub/Sub SystemPub/Sub System

Page 3: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 4: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

Slide 4Ludger Fiege, [email protected] Darmstadt, Germany

Event-based SystemsEvent-based Systems

Pub/Sub SystemPub/Sub System

Page 5: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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?

Page 6: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

Slide 6Ludger Fiege, [email protected] Darmstadt, Germany

Event-based SystemsEvent-based SystemsRegaining ControlRegaining Control

Pub/Sub SystemPub/Sub System

Page 7: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 8: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 9: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 10: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

Slide 10Ludger Fiege, [email protected] Darmstadt, Germany

GermanImmigrants

Pen-friends

Fairytale IVFairytale IVHeterogeneous WorldHeterogeneous World

Family

Forest

Wolf

Grand-mother Mother

LRRH

krank

sick

Page 11: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 12: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 13: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

Slide 13Ludger Fiege, [email protected] Darmstadt, Germany

UMLUML

Component

SimpleComponent Scope

ComponentInterface *

*

2

SessionScope

DeliveryPolicy

SecurityPolicy

EventMappings

Page 14: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 15: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

Page 16: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

– ……

Page 17: Ludger Fiege fiege@acm.org joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.

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

[email protected]