Formal Aspects of Computing

, Volume 26, Issue 4, pp 729–759 | Cite as

Towards verification of computation orchestration

  • Jin Song Dong
  • Yang LiuEmail author
  • Jun Sun
  • Xian Zhang
Original Article


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.


Orc Web service orchestration Verification Timed automata Uppaal Constraint logic programming CLP\({(\mathcal{R})}\) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. AD94.
    Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235CrossRefzbMATHMathSciNetGoogle Scholar
  2. ADW00.
    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–145Google Scholar
  3. AFP+02.
    Amnell T, Fersman E, Pettersson P, Sun H, Wang Y (2002) Code synthesis for timed automata. Nordic J Comput 9(4): 269–300zbMATHMathSciNetGoogle Scholar
  4. AM07.
    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–142Google Scholar
  5. AM08.
    AlTurki M, Meseguer J (2008) Reduction semantics and formal analysis of orc programs. Electr Notes Theor Comput Sci 200(3): 25–41CrossRefGoogle Scholar
  6. AM10.
    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 .
  7. ASAA08.
    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–322Google Scholar
  8. ASAA09.
    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–322Google Scholar
  9. BMT06.
    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–137Google Scholar
  10. Bro99.
    Brooke P (1999) A Timed Semantics for a Hierarchical Desgn Notation. PhD thesis, University of York, New YorkGoogle Scholar
  11. BT08a.
    Borger E, Thalheim B (2008) A method for verifiable and validatable business process modeling. Ad Softw Eng 5316: 59–115Google Scholar
  12. BT08b.
    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–38Google Scholar
  13. CCO+04.
    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–147Google Scholar
  14. CM05.
    Cook WR, Misra J (2005) A Structured Orchestration Language. Available for download at
  15. DHQ+04.
    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–498Google Scholar
  16. DHQ+08.
    Dong JS, Hao P, Qin SC, Sun J, Yi W (2008) Timed automata patterns. IEEE Trans Softw Eng 34(6): 844–859CrossRefGoogle Scholar
  17. DHSZ06.
    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–359Google Scholar
  18. DLSZ.
    Dong JS, Liu Y, Sun J, Zhang X Orc Verification Project Website.
  19. DLSZ06.
    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–245Google Scholar
  20. FEK+07.
    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–234Google Scholar
  21. FGV04.
    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 78C94Google Scholar
  22. Fos08a.
    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–723Google Scholar
  23. Fos08b.
    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–729Google Scholar
  24. FUMK03.
    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–163Google Scholar
  25. FUMK06.
    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–774Google Scholar
  26. FV06.
    Farahbod UGR, Vajihollahi M (2006) An abstract machine architecture for web service based business process management. Int J Bus Process Integr Manag 1(4):279C291Google Scholar
  27. GG09.
    Göthel T, Glesner S (2009) Machine Checkable Timed CSP. In Proceedings of the 1st NASA Formal Methods Symposium (NFM 09). NASA Conference Publication, NASAGoogle Scholar
  28. GP97.
    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–239Google Scholar
  29. HNSY92.
    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–406Google Scholar
  30. Hoa85.
    Hoare CAR (1985) Communicating Sequential Processes. International Series in Computer Science, Prentice-HallGoogle Scholar
  31. JJV05.
    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–413Google Scholar
  32. JM94.
    Jaffar J, Maher MJ (1994) Constraint logic programming: a survey. J Log Progra 19/20:503–581Google Scholar
  33. JMSY92.
    Jaffar J, Michaylov S, Stuckey PJ, Yap RHC (1992) The CLP(R) Language and System. ACM Trans Program Lang Syst 14(3): 339–395CrossRefGoogle Scholar
  34. JSV04.
    Jaffar J, Santosa AE, Voicu R (2004) A CLP Proof Method for Timed Automata. In: Real-Time Systems Symposium, pp 175–186Google Scholar
  35. KCM06.
    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–491Google Scholar
  36. LPW97.
    Larsen KG, Pettersson P, Wang Y (1997) Uppaal in a Nutshell. Intern J Softw Tool Technol Trans 1(1-2): 134–152CrossRefzbMATHGoogle Scholar
  37. LPY95.
    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–88Google Scholar
  38. LSD10.
    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–377Google Scholar
  39. LSD11.
    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–199Google Scholar
  40. LW00.
    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–222Google Scholar
  41. LZH10.
    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–120Google Scholar
  42. MC07.
    Misra J, Cook W (2007) Computation orchestration: a basis for wide-area computing. Softw Syst Model 6(1): 83–110CrossRefGoogle Scholar
  43. MHM04.
    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, GermanyGoogle Scholar
  44. Mil89.
    Milner R (1989) Communication and Concurrency. Prentice-Hall International, Prentice-HallGoogle Scholar
  45. Mil99.
    Milner R (1999) Communicating and Mobile Systems: the π Calculus. Cambridge University Press, CambridgeGoogle Scholar
  46. Nak05.
    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), FranceGoogle Scholar
  47. OAS07.
    OASIS (2007) Web Services Business Process Execution Language Version 2.0,
  48. OW02.
    Ouaknine J, Worrell J (2002) Timed CSP = closed timed safety automata. Electr Note Theor Comput Sci 68(2): 142–159CrossRefGoogle Scholar
  49. PZWQ06.
    Pu G, Zhao X, Wang S, Qiu Z (2006) Towards the Semantics and Verification of BPEL4WS. Electr Note Theor Comput Sci 151(2): 33–52CrossRefGoogle Scholar
  50. Ros97.
    Roscoe AW (1997) The Theory and Practice of Concurrency. Prentice-HallGoogle Scholar
  51. Sch00.
    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–474Google Scholar
  52. SD95.
    Schneider S, Davies J (1995) A Brief History of Timed CSP. Theoretical Computer Science 138, OxfordGoogle Scholar
  53. SH05.
    Singh MP, Huhns MN (2005) Service-Oriented Computing. Wiley, ChichesterGoogle Scholar
  54. SLD+13.
    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–3Google Scholar
  55. SLDC09.
    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–135Google Scholar
  56. SLDP09.
    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–714Google Scholar
  57. SMS05.
    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 27Google Scholar
  58. Tiu05.
    Tiu A (2005) Model Checking for Pi-calculus Using Proof Search. In: Proceedings of the International Conference on Concurrency Theory (CONCUR 05), San FranciscoGoogle Scholar
  59. WCG+06.
    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–45Google Scholar
  60. WDG+07.
    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–50Google Scholar
  61. WHA+08.
    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 YorkGoogle Scholar
  62. WKCM08.
    Wehrman I, Kitchin D, Cook Wr, Misra J (2008) A Timed Semantics of Orc. Theor Comput Sci 402(2–3): 234–248CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© British Computer Society 2013

Authors and Affiliations

  1. 1.School of ComputingNational University of SingaporeSingaporeSingapore
  2. 2.School of Computer EngineeringNanyang Technological UniversitySingaporeSingapore
  3. 3.Singapore University of Technology and DesignSingaporeSingapore

Personalised recommendations