Reasoning about orchestrations of web services using partial correctness

A service is a remote computational facility which is made available for general use by means of a wide-area network. Several types of service arise in practice: stateless services, shared state services and services with states which are customised for individual users. A service-based orchestration is a multi-threaded computation which invokes remote services in order to deliver results back to a user (publication). In this paper a means of specifying services and reasoning about the correctness of orchestrations over stateless services is presented. As web services are potentially unreliable the termination of even finite orchestrations cannot be guaranteed. For this reason a partial-correctness powerdomain approach is proposed to capture the semantics of recursive orchestrations.

[1]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

[2]  Jayadev Misra,et al.  The Orc Programming Language , 2009, FMOODS/FORTE.

[3]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[4]  J. Misra Computation Orchestration : A Basis for Wide-Area Computing , 2005 .

[5]  Tony Hoare,et al.  A Tree Semantics of an Orchestration Language , 2005 .

[6]  Jayadev Misra,et al.  A Language for Task Orchestration and Its Semantic Properties , 2006, CONCUR.

[7]  Jayadev Misra,et al.  A timed semantics of Orc , 2008, Theor. Comput. Sci..

[8]  Jun Sun,et al.  Verification of Computation Orchestration Via Timed Automata , 2006, ICFEM.

[9]  Carl A. Gunter,et al.  Semantic Domains , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[10]  Mitchell Wand,et al.  A Compositional Trace Semantics for Orc , 2008, COORDINATION.

[11]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[12]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[13]  Luciano Baresi,et al.  Validation of web service compositions , 2007, IET Softw..

[14]  Eric C. R. Hehner Predicative programming Part II , 1984, CACM.

[15]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[16]  C. A. R. Hoare,et al.  Notes on Communicating Sequential Systems , 1986 .

[17]  Eric C. R. Hehner,et al.  Predicative programming Part I , 1984, CACM.

[18]  Jifeng He,et al.  A Denotational Semantical Model for Orc Language , 2010, ICTAC.

[19]  Ronald H. Perrott,et al.  Managing Grid Computations: An ORC-Based Approach , 2006, ISPA.

[20]  C. A. R. Hoare Programs are predicates , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[21]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[22]  Ralph-Johan Back,et al.  Invariant based programming: basic approach and teaching experiences , 2009, Formal Aspects of Computing.

[23]  Jayadev Misra,et al.  Simulation Using Orchestration , 2008, AMAST.

[24]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[25]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[26]  Mercy N. Njima,et al.  Specification-Oriented Orchestration , 2010, 2010 International Conference on Communications and Mobile Computing.

[27]  Greg Nelson,et al.  A generalization of Dijkstra's calculus , 1989, ACM Trans. Program. Lang. Syst..

[28]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .