A Theory of Service Behavior

759 views

Published on

Invited talk held by Karsten Wolf on March 2, 2009 on the 1st Central-European Workshop on Services and their Composition (ZEUS 2009) in Stuttgart, 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
759
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

A Theory of Service Behavior

  1. 1. A Theory of Service Behavior Karsten Wolf UNIVERSITÄT ROSTOCK The Rostock research agenda
  2. 2. Behavior? Semantics: what does it mean? 13m? $13? 13 Nonfunctional: -policies -QoS 13 Behavior: when to transmit 13 Syntax: how to encode <13> </13> 13 Service Life cycle: -instantiation -correlation
  3. 3. Our Theory <ul><ul><li>Objects </li></ul></ul><ul><ul><li>Operations </li></ul></ul><ul><ul><li>Relations </li></ul></ul><ul><ul><li>Interfaces to other aspects </li></ul></ul><ul><ul><li>Problems </li></ul></ul>o = ⊑ Service Service Service ?
  4. 4. Objects Service Service Service Service Service Service BPEL BPMN UML BPMN 2.0 WS-CDL Let‘s Dance (BPEL4Chor)
  5. 5. Size of set repesentations Fiona
  6. 6. Operations <ul><ul><li>Simple </li></ul></ul><ul><ul><ul><li>Composition </li></ul></ul></ul><ul><ul><ul><li>Mirror, Anti-Service </li></ul></ul></ul><ul><ul><ul><li>Extraction of realized choreography </li></ul></ul></ul><ul><ul><ul><li>Model checking completed systems </li></ul></ul></ul><ul><ul><ul><li>Soundness of component </li></ul></ul></ul>Service  Service Service Service  Service Service Service ecivreS Service Service Service
  7. 7. Operations <ul><ul><li>Behavioral </li></ul></ul><ul><ul><ul><li>Service  compatible partner (one / all) </li></ul></ul></ul><ul><ul><ul><li>Choreography  realizing peers </li></ul></ul></ul><ul><ul><ul><li>Services  adapter </li></ul></ul></ul><ul><ul><ul><li>Decomposition </li></ul></ul></ul><ul><ul><ul><li>Service  corrected service (proposal) </li></ul></ul></ul><ul><ul><ul><li>Declarative specification  service(s) </li></ul></ul></ul><ul><ul><ul><li>Service  Public View </li></ul></ul></ul><ul><ul><ul><li>Compatibility preserving transformation </li></ul></ul></ul><ul><ul><ul><li>Projection </li></ul></ul></ul>Service Service Service Service Service Service Service Service Service Service Service Service Service bla & bla BPEL Abs.BPEL AbsBPEL BPEL Service Service
  8. 8. Operations <ul><ul><li>Set </li></ul></ul><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>inclusion 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
  9. 9. Example: Substitutability <ul><li>Can S be exchanged with S‘? </li></ul><ul><ul><li>CompPartners(S) ⊆ CompPartners(S‘) </li></ul></ul><ul><ul><li>CompPartners(S) ⋂ CompPartners(S‘) = Ø </li></ul></ul><ul><ul><li> Counterexamples! </li></ul></ul>
  10. 10. Relations <ul><li>Substitutability </li></ul><ul><ul><li>trace equivalence? too weak. </li></ul></ul><ul><ul><li>Branching bisimulation? too strong. </li></ul></ul><ul><ul><li>What do we want? </li></ul></ul><ul><ul><ul><li>Every compatible partner of S is compatible to S‘ </li></ul></ul></ul><ul><ul><ul><li> „ should testing equivalence“ </li></ul></ul></ul>
  11. 11. Interface to Semantics <ul><li>So far: Messages named a,b,c,d, ... ... no relation </li></ul><ul><li>But what if </li></ul><ul><ul><li>a = empty form, b = filled form </li></ul></ul><ul><ul><li>a = X‘s password </li></ul></ul>
  12. 12. Activities single use key real item electronic message a  a a copy a b c  d e f recombine elementary to compound a b c  d (a b c  a b c d) merge compound to elementary a  b c d (a  a b c d) split real item legally relevant document electronic message a  delete meter  SFR meter  feet zip code  city name a  b transform password, foreign information simple ack, owned information  a create Example con Example pro Specification Activity
  13. 13. Problems covered: <ul><li>compatibility verification </li></ul><ul><li>controllability (is there a compatible partner?) </li></ul><ul><li>substitutability (can I exchange a service?) </li></ul><ul><li>instance migration (same for running instances) </li></ul><ul><li>navigation/querying in behavioral repositories </li></ul><ul><li>service composition, adaptation </li></ul><ul><li>validation, correction, test </li></ul><ul><li>realizability, desynchronizability </li></ul>Service Service Service ? Service Service ? Service Service   Service Service Service Service ? Service Service Service Service  
  14. 14. Problem dimensions shape of partner centralized decentralized autonomous compatibility notion deadlock freedom weak termination strong termination covering constraints messaging asynchronous synchronous queued semantical constraints other requirements behavioral constraints transactions, policies, ...
  15. 15. Our technology stack state space exploration ... model checking partner synthesis ... interaction graph partner characterization ... operating guidelines inspect / compare / manipulate operating guidelines Fiona Fiona Rachel model generation ... compiler BPEL2oWFN oWFN2BPEL LoLA
  16. 16. Conclusion <ul><li>17+... problems in various settings </li></ul><ul><li>3+  powerful technologies </li></ul><ul><ul><li>state space, partner synthesis, operating guidelines </li></ul></ul><ul><li>Hype independent through formal modeling </li></ul><ul><li>(8+ Jou, 30+ Conf) publications, </li></ul><ul><li>(8+ PhD, 30+ Stud/Dipl) theses, ... since about 2004 </li></ul><ul><li>9+ Cooperations </li></ul><ul><li>HU Berlin, TU Eindhoven, Uni Stuttgart, IBM Böblingen+Zürich+Hawthorne Heights, SAP Brisbane+Walldorf (+Karlsruhe), HPI Potsdam, Queensland UT, (Uni Tartu) </li></ul><ul><li>6+ tools </li></ul><ul><li>LoLA, Fiona, BPEL2oWFN, oWFN2BPEL, Rachel, Seda, ... </li></ul>

×