Abstract
Recently, a promising programming model called Orc has been proposed to support a structured way of orchestrating distributed Web Services. Orc is intuitive because it offers concise constructors to manage concurrent communication, time-outs, priorities, failure of Web Services or communication and so forth. The semantics of Orc is precisely defined. However, there is no automatic verification tool available to verify critical properties against Orc programs. Our goal is to verify the orchestration programs (written in Orc language) which invoke web services to achieve certain goals. To investigate this problem and build useful tools, we explore in two directions. Firstly, we define a Timed Automata semantics for the Orc language, which we prove is semantically equivalent to the operational semantics of Orc. Consequently, Timed Automata models are systematically constructed from Orc programs. The practical implication is that existing tool supports for Timed Automata, e.g., Uppaal, can be used to simulate and model check Orc programs. An experimental tool has been implemented to automate this approach. Secondly, we start with encoding the operational semantics of Orc language in Constraint Logic Programming (CLP), which allows a systematic translation from Orc to CLP. Powerful constraint solvers like CLP\({(\mathcal{R})}\) are then used to prove traditional safety properties and beyond, e.g., reachability, deadlock-freeness, lower or upper bound of a time interval, etc. Counterexamples are generated when properties are not satisfied. Furthermore, the stepwise execution traces can be automatically generated as the simulation steps. The two different approaches give an insight into the verification problem of Web Service orchestration. The Timed Automata approach has its merits in visualized simulation and efficient verification supported by the well developed tools. On the other hand, the CPL approach gives better expressiveness in both modeling and verification. The two approaches complement each other, which gives a complete solution for the simulation and verification of Computation Orchestration.
Similar content being viewed by others
References
Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235
Amnell T, David A, Wang Y (2000) A Real-Time Animator for Hybrid Systems. In: Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES 00), pp 134–145
Amnell T, Fersman E, Pettersson P, Sun H, Wang Y (2002) Code synthesis for timed automata. Nordic J Comput 9(4): 269–300
AlTurki M, Meseguer J (2007) Real-time Rewriting Semantics of Orc. In: Proceedings of the 9th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 07), pp 131–142
AlTurki M, Meseguer J (2008) Reduction semantics and formal analysis of orc programs. Electr Notes Theor Comput Sci 200(3): 25–41
AlTurki M, Meseguer J (2010) Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis. Technical report, The University of Illinois at Urbana-Champaign, April https://www.ideals.illinois.edu/handle/2142/15414 .
Ait-Sadoune I, Ait-Ameur Y (2008) Verification and validation of web services composition using the event b method. In Proceedings of the International Summer School about Modeling and Verifying parallel Processes (MOVEP 08), pp 317–322
Ait-Sadoune I, Ait-Ameur Y (2009) A proof based approach for modelling and verifying web services compositions. In: 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 09), pp 317–322
Bruni R, Melgratti H, Tuosto E (2006) Translating Orc Features into Petri Nets and the Join Calculus. In: Proceeding of the 3rd International Workshop on Web Services and Formal Methods (WS-FM 06), Springer, New York, pp 123–137
Brooke P (1999) A Timed Semantics for a Hierarchical Desgn Notation. PhD thesis, University of York, New York
Borger E, Thalheim B (2008) A method for verifiable and validatable business process modeling. Ad Softw Eng 5316: 59–115
Borger E, Thalheim B (2008) Modeling Workflows, Interaction Patterns, Web Services and Business Processes: The ASM-Based Approach. In: Abstract State Machines (ASM), B and Z (ABZ 08), vol 5238 of LNCS, Springer, New York, pp 24–38
Chaki S, Clarke EM, Ouaknine J, Sharygina N, Sinha N (2004) State/Event-based Software Model Checking. In: Proceeding of International Conference on Integrated Formal Methods (IFM 04), pp 128–147
Cook WR, Misra J (2005) A Structured Orchestration Language. Available for download at http://www.cs.utexas.edu/users/wcook/projects/orc.
Song Dong J, Hao P, Qin S, Sun J, Wang Y (2004) Timed Patterns: TCOZ to Timed Automata. In: Proceedings of the 6th International Conference on Formal Engineering Methods (ICFEM 04), vol 3308 of LNCS, Springer, New York, pp 483–498
Dong JS, Hao P, Qin SC, Sun J, Yi W (2008) Timed automata patterns. IEEE Trans Softw Eng 34(6): 844–859
Dong JS, Hao P, Sun J, Zhang X (2006) A Reasoning Method for Timed CSP Based on Constraint Solving. In: Proceedings of the 8th International Conference on Formal Engineering Methods (ICFEM 06), vol 4260 of LNCS, Springer, New York, pp 342–359
Dong JS, Liu Y, Sun J, Zhang X Orc Verification Project Website. http://www.comp.nus.edu.sg/~pat/orc/.
Dong JS, Liu Y, Sun J, Zhang X (2006) Verification of computation orchestration via timed automata. In: Proceedings of the 8th International Conference on Formal Engineering Methods (ICFEM 06), vol 4260 of LNCS, Springer, New York, pp 226–245
Foster H, Emmerich W, Kramer J, Magee J, Rosenblum DS, Uchitel S (2007) Model Checking Service Compositions under Resource Constraints. In: Proceedings of the 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 07), pp 225–234
Farahbod R, Glasser U, Vajihollahi M (2004) Specification and Validation of the Business Process Execution Language for Web Services. In Abstract Sate Machines (ASM 04), vol 3052 of LNCS, Springer, New York, pp 78C94
Howard Foster M (2008) Tool Support for Safety Analysis of Service Composition and Deployment Models. In: Proceedings of the IEEE International Conference on Web Services (ICWS 08), pp 716–723
Foster H (2008) WS-Engineer 2008. In: Proceedings of the 6th International Conference on Service-Oriented Computing (ICSOC 08), vol 5364 of LNCS, Springer, pp 728–729
Foster H, Uchitel S, Magee J, Kramer J (2003) Model-based Verification of Web Service Compositions. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE 03), pp 152–163
Foster H, Uchitel S, Magee J, Kramer J (2006) LTSA-WS: a tool for model-based verification of web service compositions and choreography. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 06), pp 771–774
Farahbod UGR, Vajihollahi M (2006) An abstract machine architecture for web service based business process management. Int J Bus Process Integr Manag 1(4):279C291
Göthel T, Glesner S (2009) Machine Checkable Timed CSP. In Proceedings of the 1st NASA Formal Methods Symposium (NFM 09). NASA Conference Publication, NASA
Gupta Gl, Pontelli E (1997) A Constraint-based Approach for Specification and Verification of Real-time Systems. In: IEEE Real-Time Systems Symposium, pp 230–239
Henzinger TA, Nicollin X, Sifakis J, Yovine S (1992) Symbolic Model Checking for Real-Time Systems. In: Proceedings of the 7th International Symposium of Logics in Computer Science (LICS 92), pp 394–406
Hoare CAR (1985) Communicating Sequential Processes. International Series in Computer Science, Prentice-Hall
Santosa A, Jaffar J, Voicu R (2005) Modeling Systems in CLP with Coinductive Tabling. In: Proceedings of the 21st International Conference on Logic Programming (ICLP 2005), pp 412–413
Jaffar J, Maher MJ (1994) Constraint logic programming: a survey. J Log Progra 19/20:503–581
Jaffar J, Michaylov S, Stuckey PJ, Yap RHC (1992) The CLP(R) Language and System. ACM Trans Program Lang Syst 14(3): 339–395
Jaffar J, Santosa AE, Voicu R (2004) A CLP Proof Method for Timed Automata. In: Real-Time Systems Symposium, pp 175–186
Kitchin D, Cook WR, Misra J (2006) A language for task orchestration and its semantic properties. In: Proceedings of the International Conference on Concurrency Theory (CONCUR 06), pp 477–491
Larsen KG, Pettersson P, Wang Y (1997) Uppaal in a Nutshell. Intern J Softw Tool Technol Trans 1(1-2): 134–152
Larsen KG, Pettersson P, Yi W (1995) Model-Checking for Real-Time Systems. In: Proceedings of Fundamentals of Computation Theory, number 965 in LNCS, pp 62–88
Liu Y, Sun J, Dong JS (2010) Developing model checkers using pat. In: Proceedings of the 8th International Symposium of Automated Technology for Verification and Analysis (ATVA 10), Springer, pp 371–377
Liu Y, Sun J, Dong JS (2011) Pat 3: An extensible architecture for building multi-domain model checkers. In: Proceedings of the 22nd International Symposium on Software Reliability Engineering (ISSRE 11), pp 190–199
Lin HM, Wang Y (2000) A Proof System for Timed Automata. In: Tiuryn J (ed) Proceedings of the 3rd International Conference on Foundations of Software Science and Computation Structures (FoSSaCS 00), vol 1784 of LNCS, pp 208–222
Li Q, Zhu H, He J (2010) A Denotational Semantical Model for Orc Language. In: Proceedings of the 7th International colloquium conference on Theoretical aspects of computing, ICTAC’10, Springer-Verlag, Heidelberg, pp 106–120
Misra J, Cook W (2007) Computation orchestration: a basis for wide-area computing. Softw Syst Model 6(1): 83–110
Misra J, Hoare T, Menzel G (2004) A Tree Semantics of an Orchestration Language. In: Proceedings of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems, NATO ASI Series, Marktoberdorf, Germany
Milner R (1989) Communication and Concurrency. Prentice-Hall International, Prentice-Hall
Milner R (1999) Communicating and Mobile Systems: the π Calculus. Cambridge University Press, Cambridge
Nakajima S (2005) Model-Checking Behavioral Specification of BPEL Applications. In: Proceeding of the 2nd International Workshop on Web Services and Formal Methods (WS-FM 05), France
OASIS (2007) Web Services Business Process Execution Language Version 2.0, http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html.
Ouaknine J, Worrell J (2002) Timed CSP = closed timed safety automata. Electr Note Theor Comput Sci 68(2): 142–159
Pu G, Zhao X, Wang S, Qiu Z (2006) Towards the Semantics and Verification of BPEL4WS. Electr Note Theor Comput Sci 151(2): 33–52
Roscoe AW (1997) The Theory and Practice of Concurrency. Prentice-Hall
Schmidt K (2000) LoLA: A Low Level Analyser. In: Proceeding of the 21st International Conference of Application and Theory of Petri Nets (ICATPN 00), pp 465–474
Schneider S, Davies J (1995) A Brief History of Timed CSP. Theoretical Computer Science 138, Oxford
Singh MP, Huhns MN (2005) Service-Oriented Computing. Wiley, Chichester
Sun J, Liu Y, Dong JS, Liu Y, Shi L, AndréÉ (2013) Modeling and verifying hierarchical real-time systems using stateful timed csp. ACM Trans Softw Eng Methodol (TOSEM) 22(1):1–3
Sun J, Liu Y, Dong JS, Chen C (2009) Integrating specification and programs for system modeling and verification. In: Proceedings of the third IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 09). IEEE Computer Society, pp 127–135
Sun J, Liu Y, Dong JS, Pang J (2009) PAT: Towards Flexible Verification under Fairness. In: Proceedings of the 21th International Conference on Computer Aided Verification (CAV 09) volume 5643 of Lecture Notes in Computer Science, pp 709–714
Schlingloff BH, Martens A, Schmidt K (2005) Modeling and model checking web services. In: Electronic Notes in Theoretical Computer Science: Issue on Logic and Communication in Multi-Agent Systems, pp 27
Tiu A (2005) Model Checking for Pi-calculus Using Proof Search. In: Proceedings of the International Conference on Concurrency Theory (CONCUR 05), San Francisco
Wirsing M, Clark A, Gilmore S, Hölzl M, Knapp A, Koch N, Schroeder A (2006) Semantic-Based Development of Service-Oriented Systems. In: Proceeding. 26th IFIP WG 6.1 International Conference on Formal Methods for Networked and Distributed Systems (FORTE 06), LNCS 4229, Springer-Verlag, New York, pp 24–45
Wirsing M, Nicola RD, Gilmore S, Hölzl M, Lucchi R, Tribastone M, Zavattaro G (2007) SENSORIA Process Calculi for Service-Oriented Computing. In: Trustworthy Global Computing, Second Symposium (TGC 06), volume 4661 of LNCS, Springer, pp 30–50
Wirsing M, Hölzl M, Acciai L, Clark A, Banti F, Fantechi A, Gilmore S, Gnesi S, Gönczy L, Koch N, Lapadula A, Mayer P, Mazzanti F, Pugliese R, Schroeder A, Tiezzi F, Tribastone M, Varró D (2008) A Pattern-Based Approach to Augmenting Service Engineering with Formal Analysis, Transformation and Dynamicity. In: Proceedings of 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISOLA 08), LNCS. Springer-Verlag, New York
Wehrman I, Kitchin D, Cook Wr, Misra J (2008) A Timed Semantics of Orc. Theor Comput Sci 402(2–3): 234–248
Author information
Authors and Affiliations
Corresponding author
Additional information
by J. Woodcock
This work is a substantial extension of the publicaton [DLSZ06] in 8th International Conference on Formal Engineering Methods, 2006.
Rights and permissions
About this article
Cite this article
Dong, J.S., Liu, Y., Sun, J. et al. Towards verification of computation orchestration. Form Asp Comp 26, 729–759 (2014). https://doi.org/10.1007/s00165-013-0280-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-013-0280-9