Abstract
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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Back R-J, von Wright J (1998) Refinement calculus: a systematic introduction. Springer, New York
Back R-J (2009) Invariant based programming: basic approach and teaching experiences. Form Asp Comp 21(3): 227–244
Baresi L, Bianculli D, Ghezzi C, Guinea S, Spoletini P (2007) Validation of web service compositions. IET Softw 1(6): 219–232
Dijkstra EW (1976) A discipline of programming. Prentice-Hall, Englewood Cliffs
Dong JS, Liu Y, Sun J, Zhang X (2006) Verification of computation orchestration via timed automata. In: Liu Z, He J (eds) Formal methods and software engineering. LNCS, vol 4260, pp 226–245
Gunter CA, Scott DS (1990) Semantic domains, In: van Leeuvan J (ed) Handbook of theoretical computer science: formal models and semantics. Elsevier. pp 633–674
Hehner ECR (1984) Predicative programming part I. Commun ACM 27(2): 134–143
Hehner ECR (1984) Predicative programming part II. Commun ACM 27(2): 144–151
Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10): 576–580
Hoare CAR (1985) Programs are predicates. In: Hoare CAR, Shepherdson JC (eds) Mathematical logic and programming languages. Prentice-Hall, pp 141–155
Hoare CAR (1985) Communicating sequential processes. Prentice Hall
Hoare CAR, He J (1998) Unifying theories of programming. Prentice Hall
Hoare CAR, Menzel G, Misra J (2004) A tree semantics of an orchestration language. In: Broy M (ed) Proc of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. NATO ASI Series Marktoberdorf, Germany
Kitchin D, Cook WR, Misra J (2006) A language for task orchestration and its semantic properties. In: Baier C, Hermanns H (eds) Proc of the international conference on concurrency theory (CONCUR). LNCS, vol 4137, pp 477–491
Kitchin D, Quark A, Cook W, Misra J (2009) The Orc programming language. Proceedings of FMOODS/FORTE. LNCS, vol 5522, pp 1–25. Springer
Kitchin D, Powell E, Misra J (2008) Simulation using orchestration. In: Meseguer J, Rou G (eds) Proceedings of the 12th international conference on algebraic methodology and software technology 2008. LNCS, vol 5140, pp 2–15
Li Q, Zhu H, He J (2010) A denotational semantical model for Orc language. In: Cavalcanti A, Deharbe D, Gaudel M-C, Woodcock J (eds) Theoretical aspects of computing. ICTAC 2010. LNCS, vol 6255, pp 106–120
Njima NM, Sanders JW (2010) Specification-oriented orchestration. In: Proceedings of the 2010 international conference on communications and mobile computing, vol 01. IEEE, pp 550–554
Misra J (2004) Computation orchestration: a basis for a wide-area computing. In: M Broy (ed) Proceedings of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. NATO ASI Series Marktoberdorf, Germany
Misra J, Cook WR (2007) Computation orchestration: a basis for wide-area computing. J Softw Syst Model 6(1): 83–110
Nelson G (1989) A generalization of Dijkstra’s calculus:. ACM Trans Program Lang Syst 11: 517–561
Stewart A, Gabarró J, Clint M, Harmer T, Kilpatrick P, Perrott R (2006) Managing grid computations: an Orc-based approach. In: Guo M et al (eds) Parallel and distributed processing and applications (ISPA 2006). LNCS, vol 4330, pp 278–291
Vardoulakis D, Wand M (2008) A compositional trace semantics for Orc. In: Coordination models and languages. LNCS, vol 5052. Springer, pp 331–346
Wehrman I, Kitchin D, Cook WR, Misra J (2008) A timed semantics of Orc. Theor Comput Sci 402: 234–248
Author information
Authors and Affiliations
Corresponding author
Additional information
Jim Woodcock
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Stewart, A., Gabarro, J. & Keenan, A. Reasoning about orchestrations of web services using partial correctness. Form Asp Comp 25, 833–846 (2013). https://doi.org/10.1007/s00165-011-0212-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-011-0212-5