Skip to main content
Log in

Towards verification of computation orchestration

  • Original Article
  • Published:
Formal Aspects of Computing

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.

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

Access this article

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. Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235

    Article  MATH  MathSciNet  Google Scholar 

  2. 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

  3. Amnell T, Fersman E, Pettersson P, Sun H, Wang Y (2002) Code synthesis for timed automata. Nordic J Comput 9(4): 269–300

    MATH  MathSciNet  Google Scholar 

  4. 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

  5. AlTurki M, Meseguer J (2008) Reduction semantics and formal analysis of orc programs. Electr Notes Theor Comput Sci 200(3): 25–41

    Article  Google Scholar 

  6. 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 .

  7. 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

  8. 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

  9. 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

  10. Brooke P (1999) A Timed Semantics for a Hierarchical Desgn Notation. PhD thesis, University of York, New York

  11. Borger E, Thalheim B (2008) A method for verifiable and validatable business process modeling. Ad Softw Eng 5316: 59–115

    Google Scholar 

  12. 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

  13. 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

  14. Cook WR, Misra J (2005) A Structured Orchestration Language. Available for download at http://www.cs.utexas.edu/users/wcook/projects/orc.

  15. 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

  16. Dong JS, Hao P, Qin SC, Sun J, Yi W (2008) Timed automata patterns. IEEE Trans Softw Eng 34(6): 844–859

    Article  Google Scholar 

  17. 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

  18. Dong JS, Liu Y, Sun J, Zhang X Orc Verification Project Website. http://www.comp.nus.edu.sg/~pat/orc/.

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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

    Google Scholar 

  27. 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

  28. 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

  29. 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

  30. Hoare CAR (1985) Communicating Sequential Processes. International Series in Computer Science, Prentice-Hall

  31. 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

  32. Jaffar J, Maher MJ (1994) Constraint logic programming: a survey. J Log Progra 19/20:503–581

    Google Scholar 

  33. Jaffar J, Michaylov S, Stuckey PJ, Yap RHC (1992) The CLP(R) Language and System. ACM Trans Program Lang Syst 14(3): 339–395

    Article  Google Scholar 

  34. Jaffar J, Santosa AE, Voicu R (2004) A CLP Proof Method for Timed Automata. In: Real-Time Systems Symposium, pp 175–186

  35. 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

  36. Larsen KG, Pettersson P, Wang Y (1997) Uppaal in a Nutshell. Intern J Softw Tool Technol Trans 1(1-2): 134–152

    Article  MATH  Google Scholar 

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. Misra J, Cook W (2007) Computation orchestration: a basis for wide-area computing. Softw Syst Model 6(1): 83–110

    Article  Google Scholar 

  43. 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

  44. Milner R (1989) Communication and Concurrency. Prentice-Hall International, Prentice-Hall

  45. Milner R (1999) Communicating and Mobile Systems: the π Calculus. Cambridge University Press, Cambridge

  46. 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

  47. OASIS (2007) Web Services Business Process Execution Language Version 2.0, http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html.

  48. Ouaknine J, Worrell J (2002) Timed CSP = closed timed safety automata. Electr Note Theor Comput Sci 68(2): 142–159

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. Roscoe AW (1997) The Theory and Practice of Concurrency. Prentice-Hall

  51. 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

  52. Schneider S, Davies J (1995) A Brief History of Timed CSP. Theoretical Computer Science 138, Oxford

  53. Singh MP, Huhns MN (2005) Service-Oriented Computing. Wiley, Chichester

  54. 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

  55. 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

  56. 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

  57. 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

  58. Tiu A (2005) Model Checking for Pi-calculus Using Proof Search. In: Proceedings of the International Conference on Concurrency Theory (CONCUR 05), San Francisco

  59. 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

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

  61. 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

  62. Wehrman I, Kitchin D, Cook Wr, Misra J (2008) A Timed Semantics of Orc. Theor Comput Sci 402(2–3): 234–248

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yang Liu.

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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-013-0280-9

Keywords

Navigation