Abstract
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.
This research is supported in part by Research Grant IDD11100102 of Singapore University of Technology and Design, IDC and MOE2009-T2-1-072 (Advanced Model Checking Systems).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
PAT: Process Analysis Toolkit, http://www.comp.nus.edu.sg/~pat/research/
AlTurki, M., Meseguer, J.: Real-time rewriting semantics of orc. In: PPDP, pp. 131–142 (2007)
AlTurki, M., Meseguer, J.: Reduction semantics and formal analysis of orc programs. Electr. Notes Theor. Comput. Sci. 200(3), 25–41 (2008)
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), https://www.ideals.illinois.edu/handle/2142/15414
Baier, C., Katoen, J.P.: Principles of Model Checking. The MIT Press, Cambridge (2007)
Basten, T., Bosnacki, D.: Enhancing partial-order reduction via process clustering. In: ASE, pp. 245–253 (2001)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2000)
Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent control with “readers” and “writers”. Commun. ACM 14(10), 667–668 (1971)
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)
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)
Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)
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)
Hoare, C.A.R.: Communicating Sequential Processes. International Series on Computer Science. Prentice-Hall, Englewood Cliffs (1985)
Holzmann, G.J.: On-the-fly model checking. ACM Comput. Surv. 28(4es), 120 (1996)
Jordan, D., Evdemon, J.: Web Services Business Process Execution Language Version 2.0. (April 2007), http://www.oasis-open.org/specs/#wsbpelv2.0
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)
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 Sciences
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)
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)
Liu, Y.: Model Checking Concurrent and Real-time Systems: the PAT Approach. PhD thesis, National University of Singapore (2010)
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)
Peled, D.: Ten years of partial order reduction. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 17–28. Springer, Heidelberg (1998)
Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(3), 733–749 (1985)
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)
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)
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), http://www.comp.nus.edu.sg/pat/fm/cpor/CPORTR.pdf
Valmari, A.: The state explosion problem. In: Petri Nets, pp. 429–528 (1996)
Wehrman, I., Kitchin, D., Cook, W., Misra, J.: A timed semantics of orc. Theoretical Computer Science 402(2-3), 234–248 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tan, T.H., Liu, Y., Sun, J., Dong, J.S. (2011). Verification of Orchestration Systems Using Compositional Partial Order Reduction. In: Qin, S., Qiu, Z. (eds) Formal Methods and Software Engineering. ICFEM 2011. Lecture Notes in Computer Science, vol 6991. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24559-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-24559-6_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24558-9
Online ISBN: 978-3-642-24559-6
eBook Packages: Computer ScienceComputer Science (R0)