skip to main content
research-article
Open access

Reasoning about orchestrations of web services using partial correctness

Published: 01 November 2013 Publication History

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.

References

References

[1]
Back R-J and von Wright J Refinement calculus: a systematic introduction 1998 New York Springer
[2]
Back R-J Invariant based programming: basic approach and teaching experiences Form Asp Comp 2009 21 3 227-244
[3]
Baresi L, Bianculli D, Ghezzi C, Guinea S, and Spoletini P Validation of web service compositions IET Softw 2007 1 6 219-232
[4]
Dijkstra EW A discipline of programming 1976 Englewood Cliffs Prentice-Hall
[5]
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
[6]
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
[7]
Hehner ECR Predicative programming part I Commun ACM 1984 27 2 134-143
[8]
Hehner ECR Predicative programming part II Commun ACM 1984 27 2 144-151
[9]
Hoare CAR An axiomatic basis for computer programming Commun ACM 1969 12 10 576-580
[10]
Hoare CAR (1985) Programs are predicates. In: Hoare CAR, Shepherdson JC (eds) Mathematical logic and programming languages. Prentice-Hall, pp 141–155
[11]
Hoare CAR (1985) Communicating sequential processes. Prentice Hall
[12]
Hoare CAR, He J (1998) Unifying theories of programming. Prentice Hall
[13]
Hoare CAR, Menzel G, and Misra J Broy M A tree semantics of an orchestration language Proc of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems 2004 Germany NATO ASI Series Marktoberdorf
[14]
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
[15]
Kitchin D, Quark A, Cook W, Misra J (2009) The Orc programming language. Proceedings of FMOODS/FORTE. LNCS, vol 5522, pp 1–25. Springer
[16]
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
[17]
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
[18]
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
[19]
Misra J M Broy Computation orchestration: a basis for a wide-area computing Proceedings of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems 2004 Germany NATO ASI Series Marktoberdorf
[20]
Misra J and Cook WR Computation orchestration: a basis for wide-area computing J Softw Syst Model 2007 6 1 83-110
[21]
Nelson G A generalization of Dijkstra’s calculus: ACM Trans Program Lang Syst 1989 11 517-561
[22]
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
[23]
Vardoulakis D, Wand M (2008) A compositional trace semantics for Orc. In: Coordination models and languages. LNCS, vol 5052. Springer, pp 331–346
[24]
Wehrman I, Kitchin D, Cook WR, and Misra J A timed semantics of Orc Theor Comput Sci 2008 402 234-248

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 25, Issue 6
Nov 2013
179 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 November 2013
Accepted: 10 October 2011
Revision received: 16 August 2011
Received: 20 November 2009
Published in FAC Volume 25, Issue 6

Author Tags

  1. World Wide Web
  2. Service
  3. Specification
  4. Orchestration
  5. Orc
  6. Partial correctness
  7. Pre-orders
  8. Fixed-points
  9. Powerdomains

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)5
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media