Presentation on theme: "Sept 23, 2004notes on SWSL process model proposal1 Selected discussion points Rick Hull 9/23/04 (with minor revisions since the discussion at 1:30-3 EDT)"— Presentation transcript:
Sept 23, 2004notes on SWSL process model proposal1 Selected discussion points Rick Hull 9/23/04 (with minor revisions since the discussion at 1:30-3 EDT) 1.Something is atomic. What is it? –Is it a process or a web service –It can examine and impact the fluents; does it in addition have an internal state –Do we invoke it using WSDL or something else? 2.Why messaging is important (to me, at least) Synchronization example (see following slides) To actually invoke web services we will have to get messages sent. Note: in any case, we have to address the BPEL constructs of waiting for a message and pick 3.Distinction between core model and grounding I think this is a second-level consideration. We have to reason about the grounding, whatever that is. So lets get a model with everything we need, and as a refinement (if people want) we can separate core from grounding
Sept 23, 2004notes on SWSL process model proposal2 A very simple, drafty example Goal: abstract example of why including messages and message passing between services is important in a model of web services and how they process things and interact with each other Consider the following 4 services that will interact. A: bureau B:payment- service1 D:bank C:payment- service2 (Arrows included as an intuitive aid, and indicate who is asking who to do something)
Sept 23, 2004notes on SWSL process model proposal3 success fail !D: pay 100 B (original) Atomic Activity1 C (original) success fail !D: pay 100 Atomic Activity2 END A !B:pay-Sheila-100 !C:pay-Rick-100 END D ?S: pay-X-Y (think of S as a variable ranging over services) !D:pay-X-Y END Money avail Money not avail !S: I paid (success) !S: I didnt pay (fail) END Here is one possible design for the insides of the 4 services Im using a very ad hoc representation language/graphical notation, only to get the ideas across. This is not intended to be some proposal for the SWSL process model ontology. With this design, there is no guarentee whether Rick or Sheila gets paid first or with higher priority
Sept 23, 2004notes on SWSL process model proposal4 Revised design of B and C –Synchronization between B and C accomplished via messages –If we assume that there are no deposits into the bank account, then we can infer that paying Sheila has higher priority than paying Rick success fail !D: pay 100 ?D: succeed/fail success fail !C: you-can-proceed END B (revised) Atomic activity1 success fail C (revised) !D: pay 100 ?D: succeed/fail Atomic activity2 ?B: you-can-proceed END Note: Im not showing something like a time-out in connection with waiting for the message from B. One can imagine something like the pick construct from BPEL.