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.
Similar content being viewed by others
References
Alonso G, Kuno H, Casati F, Machiraju V. Web Services: Concepts, Architectures and Applications. Springer, 2003
Andrews G. Foundations of Multithreaded, Parallel, and Dis-tributed Programming. Addison-Wesley, 2000
Sunderam V S. Pvm: A framework for parallel distributed computing. Concurrency: practice and experience, 1990, 2(4): 315–339
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
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
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
Klusch M. Semantic web service coordination. In: Proceedings of CASCOM: Intelligent Service Coordination in the Semantic Web. 2008, 59–104
Lazovik A, Arbab F. Using reo for service coordination. In: Proceedings of International Conference on Service-Oriented Computing, 2007, 398–403
Erl T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall PTR, 2005
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
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
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
Misra J, Cook W R. Computation orchestration. Journal of Software and System Modeling, 2007, 6(1): 83–110
Kitchin D, Cook W R, Misra J. A language for task orchestration and its semantic properties. Lecture Notes in Computer Science, 2006, 477–491
Cook W R, Patwardhan S, Misra J. Workflow patterns in Orc. Lecture Notes in Computer Science, 2006, 82–96
Orc Language Project. Orc User Guide v2.1.0. http://orc.csres.utexas.edu/documentation/html/userguide/userguide.html
Orc Language Project. Orc Program Language Demo. http://orc.csres.utexas.edu/tryorc.shtml
Kitchin D, Quark A, Cook W R, Misra J. The orc programming language. Lecture Notes in Computer Science, 2009, 1–25
Hoare C A R, He J F. Unifying Theories of Programming. Prentice Hall International Series in Computer Science. 1998
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
Nipkow T. Programming and proving in isabelle/hol. Technical report, University of Cambridge, 2013
Wenzel M. The isabelle/isar reference manual. Technical report, University of Cambridge, 2013
Owre S, Rushby JM, Shankar N. Pvs: A prototype verification system. Lecture Notes in Computer Science, 1992, 607: 748–752
Tarski A. A lattice-theoretical fix point theorem and its applications. Pacific Journal of Mathematics, 1955, 5(2): 285–309
Fensel D, Bussler C. The web service modeling framework {WSMF}. Electronic Commerce Research and Applications, 2002, 1(2): 113–137
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
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
Matsuoka A, Kitchin D. A semantics for exception handling in orc. 2009
Hoare T. A tree semantics of an orchestration language. In: Proceedings of NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. 2004
Vardoulakis D, Wand M. A compositional trace semantics for orc. Coordination Models and Languages, 2008, 5052: 331–346
Wehrman I, Kitchin D, Cook W R, Misra J. A timed semantics of orc. Theoretical Computer Science, 2008, 402(2/3): 234–248
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
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
AlTurki M, Meseguer J. Reduction semantics and formal analysis of orc programs. Electronic Notes in Theoretical Computer Science, 2008, 200(3): 25–41
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-014-3385-2