• Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Behavior of Services

on

  • 499 views

Kolloquium in Hamburg

Kolloquium in Hamburg

Statistics

Views

Total Views
499
Views on SlideShare
498
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Behavior of Services Behavior of Services Presentation Transcript

  • Behavior of Services Karsten Wolf m  3 techniques for n  ∞ problems UNIVERSITÄT ROSTOCK
  • Service?
    • Encapsulated functionality
      • heterogenous platforms
    • Self-explaining
      • UDDI, ...
    • Well defined interface
      • WSDL
    • Loosely coupled
      • asynchronous communication
      • binding via standardized protocols
    • Main activity: composition
    € C T B
  • Behavior? Semantics: what does it mean? 13m? $13? 13 Nonfunctional: how to transmit -policies -QoS 13 Behavior: when to transmit 13 Syntax: how to encode <13> </13> 13 Service
  • This presentation:
    • Part I: m  3 techniques
      • 0: modeling behavior
      • 1: analysing behavior
      • 2: synthesizing behavior
      • 3: characterizing behavior
    • Part II: n  ∞ problems
    • compatibility, controllability, substitutability, transformation, public view generation, instance migration, uncontrollability diagnosis, choreography repair, adaptation, test case generation, discovery, composition, validation, realizability
  • Modeling Behavior Service real world: WS-BPEL, BPMN, UML-ACT, ... Model formal semantics Petri nets, automata, ... ?€ ?C ?T !B !B [BPM 05,WS-FM 07,LNCS ToPNoC II] Why? precise meaning independency of language evolution abstraction from irrelevant details find ambiguities/ inconsistencies
  • Modeling Behavior Service real world: WS-BPEL, BPMN, UML-ACT, ... Model formal semantics Petri nets, automata, ... ?€ ?C ?T !B !B [BPM 05,WS-FM 07,LNCS ToPNoC II] implemented: BPEL2oWFN
    • Fact
    • We use feature
    • complete
    • semantics:
    • links
    • fault handling
    • compensation
    • events
  • 1 Analying Behavior = Compatibility Service Service ? implemented: LoLA
    • several compatibility notions:
    • deadlock freedom
    • weak termination (always possible)
    • strong termination (eventually will)
    • coverage of activities
    • other constraints
    [BPM 06,WS-FM 07] How? state space verification
  • 1 Analying Behavior = Compatibility Service Service ?
    • LoLA can do the job:
    • soundness of 868 real business processes:
    • av. 4ms per process
    • BPEL4Chor choreographies with
    • >1000 service instances
    [BPM 06,WS-FM 07] Why? concurrency  partial order reduction replicated instances  symmetry method acyclic behavior  sweep-line method
  • 2 Partner synthesis Service ? implemented: (Fiona), Wendy
    • several controllability notions:
    • centralized
    • decentralized
    • autonomous
    [EMISA 05, LNCS ToPNoC II, IPL 08]
  • 2 Partner synthesis Service ? ?€ ?C ?T !B !B 1 2 3 4 5 (1,-) deadlock !€ !C !T (1,C) (1,€),(2,-) (1,T) !T !€ (1,CT) (1,C€),(2,C),(3,-),(5,B) !€ ?B !T !C !T !C !€ ?B !C (1,T€),(2,T),(4,-),(5,B) (5,-) (1,C€T),(2,CT),(3,T),(4,C), (5,T)
  • 2 Partner synthesis Service ? ?€ ?C ?T !B !B 1 2 3 4 5 (1,-) (1,C) (1,€),(2,-) (1,T) !€ (1,CT) (1,C€),(2,C),(3,-),(5,B) ?B !C !T !€ ?B (1,T€),(2,T),(4,-),(5,B) (5,-) !€ !C !T !T !C !€ !T !C (1,C€T),(2,CT),(3,T),(4,C), (5,T) deadlock
  • 2 Partner synthesis Service ? ?€ ?C ?T !B !B 1 2 3 4 5 !€ ?B !C !T !€ ?B Petrify:  Petri net oWFN2BPEL:  Abstract BPEL !€ !C !T Fact: this partner is most permissive
  • 3 Partner characterization Service ? implemented: FIONA (OG) ? ? [Petri Nets 07, LNCS ToPNoC II,BPM 08, ACSD 09,IJBPIM 07]
    • Why?
    • discovery
    • substitutability
    • test cases
    • ....
  • 3 Partner characterization
    • Provided
    • Service
    Service ? ? ? Service Requester
    • Public View
    • coin falls
    • activate buttons
    • evaluate pressed
    • heat water
    • fill cup
    € C T
  • 3 Partner characterization
    • Provided
    • Service
    Service ? ? ? Service Requester
    • Operating
    • Guidelines
    • enter coin
    • press button
    • take cup
    € C T
  • 3 Partner characterization Service ? ? ? ?€ ?C ?T !B !B !€ !C ?B !€ !T ?B !T !€ ?B !C !€ ?B !€ !C ?B !T ?B .... !€ !€ !€ !T !T !C !C ?B ?B
  • 3 Partner characterization Service ? ? ? most permissive ?€ ?C ?T !B !B !€ !C ?B !€ !T ?B !T !€ ?B !C !€ ?B !€ !C ?B !T ?B .... !€ !€ !€ !T !T !C !C ?B ?B
  • 3 Partner characterization Service ? ? ? .... !€ !€ !€ !T !T !C !C ?B ?B !T  !€  !C !T  !C
  • 3 Partner characterization Service ? ? ? .... !€ !€ !€ !T !T !C !C ?B ?B !€ !C ?B !T ?B !T  !€  !C !T  !C
  • 3 Partner characterization Service ? ? ?
  • 3 Partner characterization Service ? ? ?
  • Part II
  • Substitutability Service implemented: FIONA (deadl. fr.) Service ? [DKE 09, CompJ08] How? compare operating guidelines
    • Why?
    • contracts
  • Transformation Service ? [CompJ 08,WWW 08] How? transformation rules
    • Why?
    • contracts
  • Public View Service implemented: FIONA (deadl. fr.) ? How? re-engineer operating guideline
    • Why?
    • hide trade secrets
  • Instance Migration implemented: yes Service Service [ICSOC 09]
    • Why?
    • long running services
    How? use operating guidelines
  • Diagnosis Service implemented: yes [WS-FM 08] How? inspect garbage in partner synthesis
  • Repair Service implemented: RACHEL Service [BPM 08] How? graph based edit distance
    • Why?
    • suggest (!) correction
  • Mediation (Adaptation) Service implemented: Marlene Service Service create: ack: + password: - copy: e-mail: + book: - transform: mtrs  feet:+ mtrs  €:- ... [submitted] How? partner synthesis specification of semantical constraints
  • Test case generation partner implemented: as hack Service Spec Service Impl partner partner [WESOA 08, ZEUS 09] How? select cases from operating guidelines of spec Why? testing without a partner misses subtle errors
  • Realizability ? ? Choreography implemented: no [WS-FM 09] How? decentralized controllability
  • implicitly covered:
    • service discovery
      • characterization, matching, public view
    • service composition
      • compatibility, mediation, partner synthesis, repair
    • validation
      • controllability, characterization, diagnosis
    • n  ∞
  • Current Work
    • Behavioral Querying
      • represent a query by an annotated automaton, organise registry accordingly
    • Other Correctness Criteria
      • from deadlock freedom to weak termination
    • Split Workflows into Services
    • More Problems to Cover
  • Problem dimensions shape of partner acyclic centralized decentralized autonomus compatibility notion deadlock freedom weak termination strong termination covering constraints messaging asynchronous synchronous queued semantical constraints other requirements behavioral constraints transactions, policies, ...
  • Our technology stack state space exploration ... model checking partner synthesis ... interaction graph partner characterization ... operating guideline inspect / compare / manipulate operating guideline
  • Conclusion
    • 17+... problems in various settings
    • 3+  powerful technologies
      • state space, partner synthesis, operating guidelines
    • Hype independent through formal modeling
    • (8+ Jou, 30+ Conf) publications,
    • (8+ PhD, 30+ Stud/Dipl) theses, ... since about 2004
    • 9+ Cooperations
    • HU Berlin, TU Eindhoven, Uni Stuttgart, IBM Böblingen+Zürich+Hawthorne Heights, SAP Brisbane+Walldorf (+Karlsruhe), HPI Potsdam, (Queensland UT), (Uni Tartu)
    • 6+ tools
    • LoLA, Fiona, BPEL2OWFN, OWFN2BPEL, RACHEL, SEDA, ...