Frontiers of Computer Science

, Volume 8, Issue 5, pp 709–725 | Cite as

A UTP semantic model for Orc language with execution status and fault handling

  • Qin Li
  • Yongxin Zhao
  • Huibiao Zhu
  • Jifeng He
Research Article


The Orc language is a concurrency calculus proposed to study the orchestration patterns in service oriented computing. Its special features, such as high concurrency and asynchronism make it a brilliant subject for studying web applications that rely on web services. The conventional semantics for Orc does not contain the execution status of services so that a program cannot determine whether a service has terminated normally or halted with a failure after it published some results. It means that this kind of failure cannot be captured by the fault handler. Furthermore, such a semantic model cannot establish an order saying that a program is better if it fails less often. This paper employs UTP methods to propose a denotational semantic model for Orc that contains execution status information. A failure handling semantics is defined to recover a failure execution back to normal. A refinement order is defined to compare two systems based on their execution failures. Based on this order, a system that introduces a failure recovery mechanism is considered better than one without. An extended operational semantics is also proposed and proven to be equivalent to the denotational semantics.


Orc language service oriented computing unifying theories of programming denotational semantics operational semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alonso G, Kuno H, Casati F, Machiraju V. Web Services: Concepts, Architectures and Applications. Springer, 2003Google Scholar
  2. 2.
    Andrews G. Foundations of Multithreaded, Parallel, and Dis-tributed Programming. Addison-Wesley, 2000Google Scholar
  3. 3.
    Sunderam V S. Pvm: A framework for parallel distributed computing. Concurrency: practice and experience, 1990, 2(4): 315–339CrossRefGoogle Scholar
  4. 4.
    Emmerich W, Butchart B, Chen L, Wassermann B, Price S L. Grid service orchestration using the business process execution language (bpel). Journal of Grid Computing, 2005, 3(3/4): 283–304CrossRefGoogle Scholar
  5. 5.
    Koshkina M, Breugel F. Modelling and verifying web service orches tration by means of the concurrency workbench. ACM SIGSOFT Software Engineering Notes, 2004, 29(5): 1–10CrossRefGoogle Scholar
  6. 6.
    Ferrari G, Guanciale R, Strollo D. JSCL: A middleware for service coordination. In: Proceedings of Formal Techniques for Networked and Distributed Systems. 2006, 46–60Google Scholar
  7. 7.
    Klusch M. Semantic web service coordination. In: Proceedings of CASCOM: Intelligent Service Coordination in the Semantic Web. 2008, 59–104Google Scholar
  8. 8.
    Lazovik A, Arbab F. Using reo for service coordination. In: Proceedings of International Conference on Service-Oriented Computing, 2007, 398–403Google Scholar
  9. 9.
    Erl T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall PTR, 2005Google Scholar
  10. 10.
    Armbrust M, Fox A, Griffith R, Joseph A D, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M. A view of cloud computing. Communications of the ACM, 2010, 53(4): 50–58CrossRefGoogle Scholar
  11. 11.
    Armbrust M, Fox A, Griffith R, Joseph A D, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M. Above The Clouds: A Berkeley View of Cloud Computing. Technical Report, EECS Department, University of California, Berkeley, 2009Google Scholar
  12. 12.
    Misra J. A programming model for the orchestration of web services. In: Proceedings of 2nd International Conference on Software Engineering and Formal Methods. 2004, 28–30Google Scholar
  13. 13.
    Misra J, Cook W R. Computation orchestration. Journal of Software and System Modeling, 2007, 6(1): 83–110CrossRefGoogle Scholar
  14. 14.
    Kitchin D, Cook W R, Misra J. A language for task orchestration and its semantic properties. Lecture Notes in Computer Science, 2006, 477–491Google Scholar
  15. 15.
    Cook W R, Patwardhan S, Misra J. Workflow patterns in Orc. Lecture Notes in Computer Science, 2006, 82–96Google Scholar
  16. 16.
  17. 17.
    Orc Language Project. Orc Program Language Demo.
  18. 18.
    Kitchin D, Quark A, Cook W R, Misra J. The orc programming language. Lecture Notes in Computer Science, 2009, 1–25Google Scholar
  19. 19.
    Hoare C A R, He J F. Unifying Theories of Programming. Prentice Hall International Series in Computer Science. 1998Google Scholar
  20. 20.
    Li Q, Zhu H B, He J F. A denotational semantical model for orc language. In: Proceeding of the 7th International Colloquium on Theoretical Aspects of Computing. 2010, 106–120Google Scholar
  21. 21.
    Nipkow T. Programming and proving in isabelle/hol. Technical report, University of Cambridge, 2013Google Scholar
  22. 22.
    Wenzel M. The isabelle/isar reference manual. Technical report, University of Cambridge, 2013Google Scholar
  23. 23.
    Owre S, Rushby JM, Shankar N. Pvs: A prototype verification system. Lecture Notes in Computer Science, 1992, 607: 748–752CrossRefGoogle Scholar
  24. 24.
    Tarski A. A lattice-theoretical fix point theorem and its applications. Pacific Journal of Mathematics, 1955, 5(2): 285–309MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Fensel D, Bussler C. The web service modeling framework {WSMF}. Electronic Commerce Research and Applications, 2002, 1(2): 113–137CrossRefGoogle Scholar
  26. 26.
    He J F, Zhu H B, Pu G G. A model for BPEL-like languages. Frontiers of Computer Science in China, 2007, 1(1): 9–19CrossRefGoogle Scholar
  27. 27.
    Wehrman I, Kitchin D, Cook WR, Misra J. Properties of the timed operational and denotational semantics of orc. Technical report, Department of Computer Science, The University of Texas at Austin, 2007Google Scholar
  28. 28.
    Matsuoka A, Kitchin D. A semantics for exception handling in orc. 2009Google Scholar
  29. 29.
    Hoare T. A tree semantics of an orchestration language. In: Proceedings of NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. 2004Google Scholar
  30. 30.
    Vardoulakis D, Wand M. A compositional trace semantics for orc. Coordination Models and Languages, 2008, 5052: 331–346CrossRefGoogle Scholar
  31. 31.
    Wehrman I, Kitchin D, Cook W R, Misra J. A timed semantics of orc. Theoretical Computer Science, 2008, 402(2/3): 234–248MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Dong J S, Liu Y, Sun J, Zhang X. Verification of computation orchestration via timed automata. Lecture Notes in Computer Science, 2006, 4260: 226–245CrossRefGoogle Scholar
  33. 33.
    AlTurki M, Meseguer J. Real-time rewriting semantics of orc. In: Proceedings of the 9th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, 2007, 131–142Google Scholar
  34. 34.
    AlTurki M, Meseguer J. Reduction semantics and formal analysis of orc programs. Electronic Notes in Theoretical Computer Science, 2008, 200(3): 25–41CrossRefGoogle Scholar

Copyright information

© Higher Education Press and Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Software Engineering InstituteEast China Normal UniversityShanghaiChina

Personalised recommendations