Skip to main content

Advertisement

Log in

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

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alonso G, Kuno H, Casati F, Machiraju V. Web Services: Concepts, Architectures and Applications. Springer, 2003

    Google Scholar 

  2. Andrews G. Foundations of Multithreaded, Parallel, and Dis-tributed Programming. Addison-Wesley, 2000

    Google Scholar 

  3. Sunderam V S. Pvm: A framework for parallel distributed computing. Concurrency: practice and experience, 1990, 2(4): 315–339

    Article  Google Scholar 

  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–304

    Article  Google Scholar 

  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–10

    Article  Google Scholar 

  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–60

    Google Scholar 

  7. Klusch M. Semantic web service coordination. In: Proceedings of CASCOM: Intelligent Service Coordination in the Semantic Web. 2008, 59–104

    Google Scholar 

  8. Lazovik A, Arbab F. Using reo for service coordination. In: Proceedings of International Conference on Service-Oriented Computing, 2007, 398–403

    Google Scholar 

  9. Erl T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall PTR, 2005

    Google Scholar 

  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–58

    Article  Google Scholar 

  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, 2009

    Google Scholar 

  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–30

    Google Scholar 

  13. Misra J, Cook W R. Computation orchestration. Journal of Software and System Modeling, 2007, 6(1): 83–110

    Article  Google Scholar 

  14. Kitchin D, Cook W R, Misra J. A language for task orchestration and its semantic properties. Lecture Notes in Computer Science, 2006, 477–491

    Google Scholar 

  15. Cook W R, Patwardhan S, Misra J. Workflow patterns in Orc. Lecture Notes in Computer Science, 2006, 82–96

    Google Scholar 

  16. Orc Language Project. Orc User Guide v2.1.0. http://orc.csres.utexas.edu/documentation/html/userguide/userguide.html

  17. Orc Language Project. Orc Program Language Demo. http://orc.csres.utexas.edu/tryorc.shtml

  18. Kitchin D, Quark A, Cook W R, Misra J. The orc programming language. Lecture Notes in Computer Science, 2009, 1–25

    Google Scholar 

  19. Hoare C A R, He J F. Unifying Theories of Programming. Prentice Hall International Series in Computer Science. 1998

    Google Scholar 

  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–120

    Google Scholar 

  21. Nipkow T. Programming and proving in isabelle/hol. Technical report, University of Cambridge, 2013

    Google Scholar 

  22. Wenzel M. The isabelle/isar reference manual. Technical report, University of Cambridge, 2013

    Google Scholar 

  23. Owre S, Rushby JM, Shankar N. Pvs: A prototype verification system. Lecture Notes in Computer Science, 1992, 607: 748–752

    Article  Google Scholar 

  24. Tarski A. A lattice-theoretical fix point theorem and its applications. Pacific Journal of Mathematics, 1955, 5(2): 285–309

    Article  MathSciNet  MATH  Google Scholar 

  25. Fensel D, Bussler C. The web service modeling framework {WSMF}. Electronic Commerce Research and Applications, 2002, 1(2): 113–137

    Article  Google Scholar 

  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–19

    Article  Google Scholar 

  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, 2007

    Google Scholar 

  28. Matsuoka A, Kitchin D. A semantics for exception handling in orc. 2009

    Google Scholar 

  29. Hoare T. A tree semantics of an orchestration language. In: Proceedings of NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. 2004

    Google Scholar 

  30. Vardoulakis D, Wand M. A compositional trace semantics for orc. Coordination Models and Languages, 2008, 5052: 331–346

    Article  Google Scholar 

  31. Wehrman I, Kitchin D, Cook W R, Misra J. A timed semantics of orc. Theoretical Computer Science, 2008, 402(2/3): 234–248

    Article  MathSciNet  MATH  Google Scholar 

  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–245

    Article  Google Scholar 

  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–142

    Google Scholar 

  34. AlTurki M, Meseguer J. Reduction semantics and formal analysis of orc programs. Electronic Notes in Theoretical Computer Science, 2008, 200(3): 25–41

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongxin Zhao.

Additional information

Qin Li received his PhD from East China Normal University, China in 2011. He is now working as a research staff at The University of Queensland, Australia. His research interests include formal specification and verification, unifying theories of programming, distributed systems and concurrent systems.

Yongxin Zhao is currently an associate professor at Software Engineering Institute, East China Normal University. He was a postdoc at School of Computing of National University of Singapore, Singapore from 2012 to 2014. His research interests include program analysis and verification, semantics theory, web services and formal methods and he owns more than 28 referred publications.

Huibiao Zhu is a professor at Software Engineering Institute, East China Normal University, also is the Executive Deputy Director of Shanghai Key Laboratory of Trustworthy Computing. He received his PhD in Formal Methods from London South Bank University in 2005. During these years he has studied various semantics and their linking theories for Verilog, SystemC, web services and probability system. Currently he is the Chinese PI of the Sino-Danish Basic Research Center IDEA4CPS.

Jifeng He is currently a professor and the Dean of Software Engineering Institute, East China Normal University. He is an academician of Chinese Academy of sciences. He was appointed as the Chief Scientist for several projects of the National Natural Science Foundation of China (NSFC) and 973 program. And he was also appointed as the leader of the creative research group of NSFC. In recent years, he has also been working on the mathematical model about the co-design of software and hardware, design of real-time embedded systems and cyber physical system.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, Q., Zhao, Y., Zhu, H. et al. A UTP semantic model for Orc language with execution status and fault handling. Front. Comput. Sci. 8, 709–725 (2014). https://doi.org/10.1007/s11704-014-3385-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-014-3385-2

Keywords