Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Service Discovery from Observed Behavior While ...

Service Discovery from Observed Behavior While Guaranteeing Deadlock Freedom in Collaborations

Process discovery techniques can be used to derive a process model from observed example behavior (i.e., an event log). As the observed behavior is inherently incomplete and models may serve different purposes, four competing quality dimensions---fitness, precision, simplicity, and generalization---have to be balanced to produce a process model of high quality.

In this paper, we investigate the discovery of processes that are specified as services. Given a service S and observed behavior of a service P interacting with S, we discover a service model of P. Our algorithm balances the four quality dimensions based on user preferences. Moreover, unlike existing discovery approaches, we guarantees that the composition of S and P is deadlock free. The service discovery technique has been implemented in ProM and experiments using service models of industrial size demonstrate the scalability or our approach.

I gave this talk at the 11th International Conference on Service Oriented Computing (ICSOC 2013), December 2-5, 2013, Berlin, Germany.

Richard Müller

December 05, 2013
Tweet

More Decks by Richard Müller

Other Decks in Research

Transcript

  1. SERVICE DISCOVERY FROM OBSERVED BEHAVIOR WHILE GUARANTEEING DEADLOCK FREEDOM IN

    COLLABORATIONS RICHARD MÜLLER CHRISTIAN STAHL Service WIL VAN DER AALST MICHAEL WESTERGAARD
  2. What this talk is about Lucy Robert QUESTION How can

    we discover L? models models R L 2
  3. What this talk is about Lucy Robert LUCY’S REQUIREMENTS 1)

    L interacts deadlock-freely with R 2) L models Lucy’s service with high quality models models R L 2
  4. Our approach Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely

    with R 2) L models Lucy’s service with high quality models models discover R L Log 3
  5. Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R

    2) L models Lucy’s service with high quality models models discover R L Log 1) L interacts deadlock-freely with R 1. Outline
  6. Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R

    2) L models Lucy’s service with high quality models models discover R L Log 2) L models Lucy’s service with high quality 2. Outline
  7. Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R

    2) L models Lucy’s service with high quality models models discover R L Log 3. Outline
  8. Service model R L 4 DEFINITION interacting state machine with

    final states ?a !b ⌧ R0 R1 R2 !a ?b L0 L1
  9. Service composition R L 5 ?a !b ⌧ R0 R1

    R2 !a ?b L0 L1 DEFINITION state machine with explicit buffer L⊕R !a ?a !b ?b ⌧ L0,R0,[ ] L1,R0,[a] L1,R1,[ ] L1,R2,[ ] L1,R0,[b]
  10. R L 6 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 L⊕R !a ?a !b ?b ⌧ L0,R0,[ ] L1,R0,[a] L1,R1,[ ] L1,R2,[ ] L1,R0,[b] DEFINITION two services are partners iff their composition is deadlock-free Partner
  11. R’ L 6 ?a !b ⌧ R’0 R’1 R2 !a

    ?b L0 L1 L⊕R’ !a ?a !b ?b ⌧ L0,R’0,[ ] L1,R’0,[a] L1,R’1,[ ] L1,R’2,[ ] L1,R0,[b] DEFINITION two services are partners iff their composition is deadlock-free No partner
  12. R L 7 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 The partners of R L’ !a ?b L’0 L’1 L’2 DEFINITION two services are partners iff their composition is deadlock-free
  13. R L 7 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 The partners of R !a ?b L’0 L’1 L’2 ... ... ... L’
  14. R L 7 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 The partners of R !a ?b L’0 L’1 L’2 DEFINITION Partners(R) is the set of partners of R ... ... ... infinite search-space L’
  15. R 8 ?a !b ⌧ R0 R1 R2 !a ?b

    L0 L1 !a ?b L’0 L’1 L’2 ... ... ... infinite search-space Operating guideline of R THEOREM OG(R) characterizes Partners(R) via “matching” OG(R) = L’ L
  16. Outline Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with

    R 2) L models Lucy’s service with high quality models models discover R L Log 1) L interacts deadlock-freely with R 1.
  17. LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R 2) L

    models Lucy’s service with high quality Lucy Robert models models discover R L Log 2) L models Lucy’s service with high quality 2. Outline
  18. Log Fitness 11 L ?a!b ?a!b?c ?a !b ⌧ ?c

    L0 L1 L2 L3 DEFINITION measure how much behavior of Log is contained in the model
  19. Log Fitness 11 L ?a!b ?a!b?c ?a !b ⌧ ?c

    L0 L1 L2 L3 L’ ?a !b ⌧ L’0 L’1 L’2 DEFINITION measure how much behavior of Log is contained in the model
  20. Log Fitness 11 L ?a!b ?a!b?c ?a !b ⌧ ?c

    L0 L1 L2 L3 L’ ?a !b ⌧ L’0 L’1 L’2 DEFINITION measure how much behavior of Log is contained in the model higher fitness
  21. Precision and generalization FITNESS SIMPLICITY PRECISION GENERALIZATION 12 QUALITY no

    unwanted additional behavior in model? wanted additional behavior in model?
  22. FITNESS SIMPLICITY PRECISION GENERALIZATION 14 QUALITY DEFINITION quality is a

    user-weighted average over the four quality dimensions Quality w.r.t. Log
  23. Lucy Robert LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R

    2) L models Lucy’s service with high quality models models discover R L Log 2) L models Lucy’s service with high quality 2. Outline
  24. LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R 2) L

    models Lucy’s service with high quality Lucy Robert models models discover R L Log 3. Outline
  25. R L 15 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 We have a search problem !a ?b L’0 L’1 L’2 DIFFICULTY local optima in highly complex search space ... ... ... infinite search-space L’
  26. Genetic algorithm 16 DEFINITION population is a set of state

    machines that match with OG(R) with OG(R) quality, time, ... with OG(R) with Log End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children
  27. Genetic algorithm 16 with OG(R) quality, time, ... with OG(R)

    with Log End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children DEFINITION population is a set of state machines that match with OG(R)
  28. 16 Genetic algorithm with OG(R) quality, time, ... with OG(R)

    with Log End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children DEFINITION population is a set of state machines that match with OG(R)
  29. 16 Genetic algorithm with OG(R) quality, time, ... with OG(R)

    with Log End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children DEFINITION population is a set of state machines that match with OG(R)
  30. 16 Genetic algorithm with OG(R) quality, time, ... with OG(R)

    with Log End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children DEFINITION population is a set of state machines that match with OG(R)
  31. R L 17 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 Abstracting for a smaller search space !a ?b L’0 L’1 L’2 ... ... ... infinite search-space L’ DEFINITION population is a set of state machines that match with OG(R)
  32. R L 17 ?a !b ⌧ R0 R1 R2 !a

    ?b L0 L1 Abstracting for a smaller search space !a ?b L’0 L’1 L’2 ... ... ... infinite search-space L’ DEFINITION population is a set of state machines that match with and are subgraphs of OG(R)
  33. with OG(R) quality, time, ... with OG(R) 18 with Log

    Genetic algorithm with abstraction End Start population randomly generate individuals replace individuals with least quality evaluate quality return individual with highest quality evaluate termination criteria shift elite create children DEFINITION population is a set of state machines that match with and are subgraphs of OG(R)
  34. Random vs. GA vs. GA with abstraction 8 industrial services

    up to 11,000 states and 40,000 transitions 8 artificial event logs ≈ 300 cases and 2,500 events 1 2 INPUTS GA: 100 individuals, max 1,000 generations or 1h Random: 1h SETUP 20
  35. Results: quality 0 0,25 0,5 0,75 1 1 2 3

    4 5 6 7 8 quality service Random GA GA with abstraction 21 GA: 100 individuals, max 1,000 generations or 1h Random: 1h SETUP
  36. Results: runtime 0 1900 3800 1 2 3 4 5

    6 7 8 time in s service Random GA GA with abstraction 22 GA: 100 individuals, max 1,000 generations or 1h Random: 1h SETUP
  37. LUCY’S REQUIREMENTS 1) L interacts deadlock-freely with R 2) L

    models Lucy’s service with high quality Lucy Robert models models discover R L Log 3. Outline
  38. Take home points such that L and R interact deadlock-freely

    and L has high quality w.r.t. Log. 1 2 We can discover L from R and Log 3 improved discovery by abstraction technique 23 FUTURE WORK - improving measures - investigate impact of weights on quality - stronger correctness criterion
  39. Service [email protected] http://about.me/richardmueller SERVICE DISCOVERY FROM OBSERVED BEHAVIOR WHILE GUARANTEEING

    DEADLOCK FREEDOM IN COLLABORATIONS RICHARD MÜLLER CHRISTIAN STAHL WIL VAN DER AALST MICHAEL WESTERGAARD