Set Algebra for Service Behavior

858 views

Published on

Held by Karsten Wolf on September 9, 2009 on the 6th International Conference on Business Process Management (BPM 2009) in Ulm, Germany.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
858
On SlideShare
0
From Embeds
0
Number of Embeds
521
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Set Algebra for Service Behavior

  1. 1. Set Algebra for Service Behavior Kathrin Kaschner and Karsten Wolf
  2. 2. Service Behavior? Business Process Workflow net asynchronous Interorganisational Org 1 Org 2 Org 3 Service Open Petri net Interface !€ !€ !€ !T !T !C !C ?B ?B Service Automaton
  3. 3. Sets of Service Behaviors? ?€ ?C ?T !B !B !€ !C ?B !€ !T ?B !T !€ ?B !C !€ ?B !€ !C ?B !T ?B .... !€ !€ !€ !T !T !C !C ?B ?B The set of all correctly interacting partners of a service
  4. 4. Sets of Service Behaviors? !€ !C ?B !€ !T ?B !T !€ ?B !C !€ ?B !€ !C ?B !T ?B !€ !€ !€ !T !T !C !C ?B ?B ... is finitely representable !€ !€ !€ !T !T !C !C ?B ?B !T  !€  !C !T  !C
  5. 5. Sets of Service Behaviors? The set of all services with some property is often finitely representable „ eventually ? a “ ?a * * „ never ? a “ ?a * * „ ? a before ?b “ ?a not ?a,?b * ?b not ?b
  6. 6. Set Algebra for Service Behavior <ul><ul><ul><li>union </li></ul></ul></ul><ul><ul><ul><li>intersection </li></ul></ul></ul><ul><ul><ul><li>complement </li></ul></ul></ul><ul><ul><ul><li>membership check </li></ul></ul></ul><ul><ul><ul><li>emptiness check </li></ul></ul></ul><ul><ul><li>on finite representations of sets </li></ul></ul>!€ !€ !€ !T !T !C !C ?B ?B !T  !€  !C !T  !C
  7. 7. Why Set Algebra? Answer #1 <ul><li>Can S be substituted with S‘? </li></ul><ul><ul><li>CP(S) ⊆ CP(S‘) </li></ul></ul><ul><ul><li>CP(S) ⋂ CP(S‘) = Ø </li></ul></ul><ul><ul><li> Counterexamples! </li></ul></ul>CP = Correct partners“
  8. 8. Why Set Algebra? Answer #2 <ul><li>Seen: Properties </li></ul><ul><ul><li>“ a precedes b” </li></ul></ul><ul><ul><li>“ c does not occur” </li></ul></ul><ul><ul><li>“ d may occur” </li></ul></ul><ul><ul><li>“ e will occur” </li></ul></ul><ul><li>Desired: Combination using Boolean operators </li></ul><ul><ul><li>conjunction  intersection </li></ul></ul><ul><ul><li>disjunction  union </li></ul></ul><ul><ul><li>negation  complement </li></ul></ul>
  9. 9. Why Set Algebra? Answer #3 CP(S1) CP(S2) CP(S3) CP(S4) CP(S5) CP(S6) CP(S7) CP(S8) S1 S2 S3 S4 S5 S6 S7 S8 n membership tests
  10. 10. Why Set Algebra? Answer #3 CP(S1) CP(S2) CP(S3) CP(S4) CP(S5) CP(S6) CP(S7) CP(S8) ⋃ ⋃ ⋃ ⋃ S1 S2 S3 S4 S5 S6 S7 S8 ⋃ ⋃ ⋃ log n membership tests
  11. 11. Why Set Algebra? Answer #4 <ul><li>Since we can ! </li></ul><ul><li>Complement: O(1) ... O(|A|) </li></ul><ul><li>Intersection: O(|A||B|) </li></ul><ul><li>Union: O(|A||B|) </li></ul><ul><li>Membership O(|S||A|) </li></ul><ul><li>Emptiness NP-complete </li></ul>
  12. 12. Set Algebra: Representation of a set !€ !€ !€ !T !T !C !C ?B ?B „ Annotated Automaton“ !T  !€  !C !T  !C !€ !C ?B !T ?B „ Matching“ !€ !€ !€ !T !T !C !C ?B ?B !T  !€  !C !T  !C !€ !T ?B
  13. 13. Set Algebra: Representation of a set !€ !C ?B !T ?B !€ !€ !€ !T !T !C !C ?B ?B „ Matching“ „ Extended Annotated Automaton“ q 2 ⋁⌝ q 3 !T  !€  !C !T  !C
  14. 14. Set Representation: Normal Form <ul><li>Annotated Automaton is total := </li></ul><ul><li>All labels are present in sucessor nodes </li></ul><ul><li>Every annotated automaton can be made total </li></ul><ul><li>Annotated automaton is complete := </li></ul><ul><li>Formulas in successors with same label cover all cases </li></ul><ul><li>Every extended annotated automaton can be made complete </li></ul> (q) ⋀⌝x ⊤ * x  (q 1 )  (q n ) ⌝  (q 1 ) ⋀...⋀ ⌝  (q n ) x x ... x  ⋀⌝ q* q*
  15. 15. Complement <ul><li>Fact: Every service matches with a total & complete annotated automaton </li></ul><ul><li>Only global annotation discriminates services for extended automaton </li></ul><ul><li>[A,  ]  [A, ⌝  ] </li></ul>
  16. 16. Other Operations <ul><li>Intersection ... standard product automaton construction </li></ul><ul><li>Union ... de Morgan M ⋃ N = M ⋂ N </li></ul><ul><li>Membership ... explicitly construct matching </li></ul><ul><li>Emptiness - ≥NP: satisfiability of the global formula </li></ul><ul><li> - ≤NP: sufficient to check subautomata of a </li></ul><ul><li>particular automaton </li></ul>
  17. 17. Conclusion <ul><li>All operations can be executed on finite representations </li></ul><ul><ul><li>Complement: O(1) ... O(|A|) </li></ul></ul><ul><ul><li>Intersection: O(|A||B|) </li></ul></ul><ul><ul><li>Union: O(|A||B|) </li></ul></ul><ul><ul><li>Membership O(|S||A|) </li></ul></ul><ul><ul><li>Emptiness NP-complete </li></ul></ul><ul><li>Interesting applications </li></ul><ul><ul><li>Substitutability </li></ul></ul><ul><ul><li>behavioral queries </li></ul></ul><ul><ul><li>organisation of a registry </li></ul></ul><ul><ul><li>... </li></ul></ul>
  18. 18. Kathrin Kaschner [email_address] Karsten Wolf [email_address] Universität Rostock Institut für Informatik Group: wwwteo.informatik.uni-rostock.de/ls_tpp/ Tool: www.service-technology.org/tools/safira/

×