A UTP semantic model for Orc language with execution status and fault handling
Qin LI, Yongxin ZHAO, Huibiao ZHU, Jifeng HE
A UTP semantic model for Orc language with execution status and fault handling
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
[1] |
Alonso G, Kuno H, Casati F, Machiraju V. Web Services: Concepts, Architectures and Applications. Springer, 2003
|
[2] |
Andrews G. Foundations of Multithreaded, Parallel, and Dis-tributed Programming. Addison-Wesley, 2000
|
[3] |
Sunderam V S. Pvm: A framework for parallel distributed computing. Concurrency: practice and experience, 1990, 2(4): 315−339
CrossRef
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
CrossRef
Google scholar
|
[5] |
Koshkina M, Breugel F. Modelling and verifying web service orchestration by means of the concurrency workbench. ACM SIGSOFT Software Engineering Notes, 2004, 29(5): 1−10
CrossRef
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
|
[7] |
Klusch M. Semantic web service coordination. In: Proceedings of CASCOM: Intelligent Service Coordination in the Semantic Web. 2008, 59−104
|
[8] |
Lazovik A, Arbab F. Using reo for service coordination. In: Proceedings of International Conference on Service-Oriented Computing, 2007, 398−403
|
[9] |
Erl T. Service-Oriented Architecture (SOA): Concepts, Technology, and Design. Prentice Hall PTR, 2005
|
[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
CrossRef
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
|
[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
|
[13] |
Misra J, Cook W R. Computation orchestration. Journal of Software and System Modeling, 2007, 6(1): 83−110
CrossRef
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
CrossRef
Google scholar
|
[15] |
Cook W R, Patwardhan S, Misra J. Workflow patterns in Orc. Lecture Notes in Computer Science, 2006, 82−96
CrossRef
Google scholar
|
[16] |
Orc Language Project. Orc User Guide v2.1.0.
|
[17] |
Orc Language Project. Orc Program Language Demo.
|
[18] |
Kitchin D, Quark A, Cook W R, Misra J. The orc programming language. Lecture Notes in Computer Science, 2009, 1−25
CrossRef
Google scholar
|
[19] |
Hoare C A R, He J F. Unifying Theories of Programming. Prentice Hall International Series in Computer Science. 1998
|
[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
|
[21] |
Nipkow T. Programming and proving in isabelle/hol. Technical report, University of Cambridge, 2013
|
[22] |
Wenzel M. The isabelle/isar reference manual. Technical report, University of Cambridge, 2013
|
[23] |
Owre S, Rushby JM, Shankar N. Pvs: A prototype verification system. Lecture Notes in Computer Science, 1992, 607: 748−752
CrossRef
Google scholar
|
[24] |
Tarski A. A lattice-theoretical fix point theorem and its applications. Pacific Journal of Mathematics, 1955, 5(2): 285−309
CrossRef
Google scholar
|
[25] |
Fensel D, Bussler C. The web service modeling framework {WSMF}. Electronic Commerce Research and Applications, 2002, 1(2): 113−137
CrossRef
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
CrossRef
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
|
[28] |
Matsuoka A, Kitchin D. A semantics for exception handling in orc. 2009
|
[29] |
Hoare T. A tree semantics of an orchestration language. In: Proceedings of NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems. 2004
|
[30] |
Vardoulakis D, Wand M. A compositional trace semantics for orc. Coordination Models and Languages, 2008, 5052: 331−346
CrossRef
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
CrossRef
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
CrossRef
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
|
[34] |
AlTurki M, Meseguer J. Reduction semantics and formal analysis of orc programs. Electronic Notes in Theoretical Computer Science, 2008, 200(3): 25−41
CrossRef
Google scholar
|
/
〈 | 〉 |