Verification of Orchestration Systems Using Compositional Partial Order Reduction

  • Tian Huat Tan
  • Yang Liu
  • Jun Sun
  • Jin Song Dong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)


Orc is a computation orchestration language which is designed to specify computational services, such as distributed communication and data manipulation, in a concise and elegant way. Four concurrency primitives allow programmers to orchestrate site calls to achieve a goal, while managing timeouts, priorities, and failures. To guarantee the correctness of Orc model, effective verification support is desirable. Orc has a highly concurrent semantics which introduces the problem of state-explosion to search-based verification methods like model checking. In this paper, we present a new method, called Compositional Partial Order Reduction (CPOR), which aims to provide greater state-space reduction than classic partial order reduction methods in the context of hierarchical concurrent processes. Evaluation shows that CPOR is more effective in reducing the state space than classic partial order reduction methods.


Model Check State Object Operational Semantic Linear Temporal Logic Label Transition System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    PAT: Process Analysis Toolkit,
  2. 2.
    AlTurki, M., Meseguer, J.: Real-time rewriting semantics of orc. In: PPDP, pp. 131–142 (2007)Google Scholar
  3. 3.
    AlTurki, M., Meseguer, J.: Reduction semantics and formal analysis of orc programs. Electr. Notes Theor. Comput. Sci. 200(3), 25–41 (2008)CrossRefzbMATHGoogle Scholar
  4. 4.
    AlTurki, M., Meseguer, J.: Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis. Technical report, The University of Illinois at Urbana-Champaign (April 2010),
  5. 5.
    Baier, C., Katoen, J.P.: Principles of Model Checking. The MIT Press, Cambridge (2007)zbMATHGoogle Scholar
  6. 6.
    Basten, T., Bosnacki, D.: Enhancing partial-order reduction via process clustering. In: ASE, pp. 245–253 (2001)Google Scholar
  7. 7.
    Clarke, E.M., Filkorn, T., Jha, S.: Exploiting Symmetry In Temporal Logic Model Checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 450–462. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  8. 8.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2000)Google Scholar
  9. 9.
    Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent control with “readers” and “writers”. Commun. ACM 14(10), 667–668 (1971)CrossRefGoogle Scholar
  10. 10.
    Dong, J.S., Liu, Y., Sun, J., Zhang, X.: Verification of computation orchestration via timed automata. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 226–245. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Emerson, E.A., Sistla, A.P.: Utilizing Symmetry when Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach. ACM Transactions on Programming Languages and Systems (TOPLAS) 19(4), 617–638 (1997)CrossRefGoogle Scholar
  12. 12.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)zbMATHGoogle Scholar
  13. 13.
    Håkansson, J., Pettersson, P.: Partial order reduction for verification of real-time components. In: Raskin, J.-F., Thiagarajan, P.S. (eds.) FORMATS 2007. LNCS, vol. 4763, pp. 211–226. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    Hoare, C.A.R.: Communicating Sequential Processes. International Series on Computer Science. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  15. 15.
    Holzmann, G.J.: On-the-fly model checking. ACM Comput. Surv. 28(4es), 120 (1996)CrossRefGoogle Scholar
  16. 16.
    Jordan, D., Evdemon, J.: Web Services Business Process Execution Language Version 2.0. (April 2007),
  17. 17.
    Kitchin, D., Quark, A., Cook, W., Misra, J.: The orc programming language. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS 2009. LNCS, vol. 5522, pp. 1–25. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Kitchin, D., Quark, A., Misra, J.: Quicksort: Combining concurrency, recursion, and mutable data structures. Technical report, The University of Texas at Austin, Department of Computer SciencesGoogle Scholar
  19. 19.
    Krimm, J.-P., Mounier, L.: Compositional state space generation with partial order reductions for asynchronous communicating systems. In: Graf, S. (ed.) TACAS 2000. LNCS, vol. 1785, pp. 266–282. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Lang, F., Mateescu, R.: Partial order reductions using compositional confluence detection. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 157–172. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Liu, Y.: Model Checking Concurrent and Real-time Systems: the PAT Approach. PhD thesis, National University of Singapore (2010)Google Scholar
  22. 22.
    Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377–390. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  23. 23.
    Peled, D.: Ten years of partial order reduction. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 17–28. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  24. 24.
    Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(3), 733–749 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: Towards flexible verification under fairness. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 709–714. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Sun, J., Liu, Y., Roychoudhury, A., Liu, S., Dong, J.S.: Fair model checking with process counter abstraction. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 123–139. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  27. 27.
    Tan, T.H., Liu, Y., Sun, J., Dong, J.S.: Compositional Partial Order Reduction for Model Checking Concurrent Systems. Technical report, National Univ. of Singapore (April 2011),
  28. 28.
    Valmari, A.: The state explosion problem. In: Petri Nets, pp. 429–528 (1996)Google Scholar
  29. 29.
    Wehrman, I., Kitchin, D., Cook, W., Misra, J.: A timed semantics of orc. Theoretical Computer Science 402(2-3), 234–248 (2008)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Tian Huat Tan
    • 1
  • Yang Liu
    • 2
  • Jun Sun
    • 3
  • Jin Song Dong
    • 2
  1. 1.NUS Graduate School for Integrative Sciences and EngineeringSingapore
  2. 2.School of ComputingNational University of SingaporeSingapore
  3. 3.Singapore University of Technology and DesignSingapore

Personalised recommendations