Formal Methods in System Design

, Volume 44, Issue 2, pp 176–202 | Cite as

Model checking approach to automated planning

  • Yi Li
  • Jin Song Dong
  • Jing Sun
  • Yang Liu
  • Jun Sun


Model checking provides a way to automatically explore the state space of a finite state system based on desired properties, whereas planning is to produce a sequence of actions that leads from the initial state to the target goal states. Previous research in this field proposed a number of approaches for connecting model checking with planning problem solving. In this paper, we investigate the feasibility of using an established model checking framework, Process Analysis Toolkit (PAT), as a planning solution provider for upper layer applications. To achieve this, we first carry out a number of experiments on different model checking tools in order to compare their performance and capabilities on planning problem solving. Our experimental results suggest that solving planning problems using model checkers is not only possible but also practical. We then propose a formal semantic mapping from the standard Planning Domain Description Language (PDDL) to the Labeled Transition System (LTS), based on which a planning module was implemented as a part of the PAT framework. Lastly, we demonstrate and evaluate the approach of using PAT as planning service via a case study on a public transportation management system.


Model checking Deterministic planning Formal specification & verification 



The authors would like to thank their teammates in the ICSE 2011 SCORE contest, Mr. Hang Yang and Mr. Huanan Wu, for their valuable contributions to the implementation of the “Transport4You” system. This work is partially supported by the research grant TDSI-11-002-1A “Model Checking System of Systems” and NAP project “Formal Verification on Cloud”.


  1. 1.
    Bacchus F, Kabanza F, Sherbrooke UD (2000) Using temporal logics to express search control knowledge for planning. Artif Intell 16:123–191 CrossRefGoogle Scholar
  2. 2.
    Berardi D, Giacomo GD (2000) Planning via model checking: some experimental results. Unpublished manuscript Google Scholar
  3. 3.
    Bryant RE (1992) Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput Surv 24:293–318 CrossRefGoogle Scholar
  4. 4.
    Cavada R, Cimatti A, Jochim CA, Keighren G, Olivetti E, Pistore M, Roveri M, Tchaltsev A (2005) NuSMV 2.5 User Manual. CMU and ITC-irst Google Scholar
  5. 5.
    Cimatti A, Giunchiglia E, Giunchiglia F, Traverso P (1997) Planning via model checking: a decision procedure for \(\mathcal{AR}\). In: Recent advances in AI planning, pp 130–142 CrossRefGoogle Scholar
  6. 6.
    Fox M, Long D (1998) The automatic inference of state invariants in TIM. J Artif Intell Res 9:367–421 zbMATHGoogle Scholar
  7. 7.
    Fox M, Long D (2003) PDDL2.1: an extension to PDDL for expressing temporal planning domains. J Artif Intell Res 20:61–124 zbMATHGoogle Scholar
  8. 8.
    Giunchiglia F, Traverso P (2000) Planning as model checking. In: Biundo S, Fox M (eds) Recent advances in AI planning. Lecture notes in computer science, vol 1809. Springer, Berlin, pp 1–20 CrossRefGoogle Scholar
  9. 9.
    Gregory P, Long D, Fox M (2007) A meta-CSP model for optimal planning. In: Proceedings of the 7th international conference on abstraction, reformulation, and approximation, SARA’07. Springer, Berlin, pp 200–214. CrossRefGoogle Scholar
  10. 10.
    Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677 CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Hoffmann J (2002) Extending FF to numerical state variables. In: Proceedings of the 15th European conference on artificial intelligence (ECAI-02). Wiley, Lyon, pp 571–575 Google Scholar
  12. 12.
    Hoffmann J, Nebel B (2001) The FF planning system: fast plan generation through heuristic search. J Artif Intell Res 14:253–302 zbMATHGoogle Scholar
  13. 13.
    Holzmann GJ (2003) The SPIN model checker: primer and reference manual. Addison-Wesley, Reading Google Scholar
  14. 14.
    Hörne T, van der Poll JA (2008) Planning as model checking: the performance of ProB vs NuSMV. In: Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries: riding the wave of technology, SAICSIT ’08. ACM, New York, pp 114–123 Google Scholar
  15. 15.
    Kautz HA, Selman B, Hoffmann J (2006) SatPlan: planning as satisfiability. In: Abstracts of the 5th international planning competition Google Scholar
  16. 16.
    Koehler J, Nebel B, Hoffmann J, Dimopoulos Y (1997) Extending planning graphs to an ADL subset. In: Proceedings of the 4th European conference on planning: recent advances in AI planning, ECP ’97. Springer, London, pp 273–285. CrossRefGoogle Scholar
  17. 17.
    Leuschel M, Butler M (2003) ProB: a model checker for B. In: Araki K, Gnesi S, Mandrioli D (eds) FME 2003: formal methods. Lecture notes in computer science, vol 2805. Springer, Berlin, pp 855–874 CrossRefGoogle Scholar
  18. 18.
    Lin S-W, André É, Dong J-S, Sun J, Liu Y (2011) An efficient algorithm for learning event-recording automata. In: Bultan T, Hsiung P-A (eds) Automated technology for verification and analysis. LNCS, vol 6996. Springer, Berlin, pp 463–472 CrossRefGoogle Scholar
  19. 19.
    Lin S-W, Liu Y, Sun J, Dong JS, André É (2012) Automatic compositional verification of timed systems. In: Giannakopoulou D, Méry D (eds) FM 2012: formal methods. LNCS, vol 7436. Springer, Berlin, pp 272–276 CrossRefGoogle Scholar
  20. 20.
    Liu Y, Sun J, Dong JS (2008) An analyzer for extended compositional process algebras. In: Companion of the 30th international conference on software engineering, ICSE Companion ’08. ACM, New York, pp 919–920 CrossRefGoogle Scholar
  21. 21.
    Liu Y, Sun J, Dong JS (2010) Analyzing hierarchical complex real-time systems. In: Proceedings of the ACM SIGSOFT international symposium on the foundations of software engineering (FSE 2010), pp 511–527 Google Scholar
  22. 22.
    Liu Y, Sun J, Dong JS (2010) Developing model checkers using PAT. In: Proceedings of the 8th international symposium on automated technology for verification and analysis, ATVA ’10, pp 371–377 CrossRefGoogle Scholar
  23. 23.
    McDermott DV (1998) PDDL—The Planning Domain Definition Language. Yale Center for Computational Vision and Control Google Scholar
  24. 24.
    McMillan KL (1992) Symbolic model checking: an approach to the state explosion problem. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, USA Google Scholar
  25. 25.
    Nguyen TK, Sun J, Liu Y, Dong JS, Liu Y (2012) Improved BDD-based discrete analysis of timed systems. In: Giannakopoulou D, Méry D (eds) FM 2012: formal methods. LNCS, vol 7436. Springer, Berlin, pp 326–340 CrossRefGoogle Scholar
  26. 26.
    Peled D, Pelliccione P, Spoletini P (2009) Wiley encyclopedia of computer science and engineering. Wiley, New York. Chap “Model checking” Google Scholar
  27. 27.
    Reinefeld A (1993) Complete solution of the eight-puzzle and the benefit of node ordering in IDA*. In: Proceedings of the 13th international joint conference on artificial intelligence, vol 1. Morgan Kaufmann, San Francisco, pp 248–253. Google Scholar
  28. 28.
    Sun J, Liu Y, Dong JS (2008) Model checking CSP revisited: introducing a process analysis toolkit. In: Proceedings of the 3rd international symposium on leveraging applications of formal methods, verification and validation (ISoLA 2008). Springer, Berlin, pp 307–322 Google Scholar
  29. 29.
    Sun J, Liu Y, Dong JS, Sun J (2008) Bounded model checking of compositional processes. In: Proceedings of the 2nd IEEE theoretical aspects of software engineering conference (TASE 2008). IEEE Comput Soc, Los Alamitos, pp 23–30 Google Scholar
  30. 30.
    Sun J, Liu Y, Dong JS, Sun J (2008) Compositional encoding for bounded model checking. Frontiers of Computer Science in China 2(4):368–379 CrossRefGoogle Scholar
  31. 31.
    Sun J, Liu Y, Dong JS, Wang HH (2008) Specifying and verifying event-based fairness enhanced systems. In: Proceedings of the 10th international conference on formal engineering methods (ICFEM 2008). Springer, Berlin, pp 318–337 Google Scholar
  32. 32.
    Sun J, Liu Y, Dong JS, Chen C (2009) Integrating specification and programs for system modeling and verification. In: Chin WN, Qin S (eds) Proceedings of the third IEEE international symposium on theoretical aspects of software engineering (TASE’09). IEEE Comput Soc, Los Alamitos, pp 127–135 CrossRefGoogle Scholar
  33. 33.
    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 2009), Grenoble, France. Springer, Berlin, pp 709–714 Google Scholar
  34. 34.
    Sun J, Liu Y, Dong JS, Zhang X (2009) Verifying stateful timed CSP using implicit clocks and zone abstraction. In: Proceedings of the 11th international conference on formal engineering methods (ICFEM 2009), pp 581–600 Google Scholar
  35. 35.
    Sun J, Liu Y, Roychoudhury A, Liu S, Dong JS (2009) Fair model checking of parameterized systems. In: Proceedings of the 6th international symposium on formal methods (FM 2009), pp 123–139 Google Scholar
  36. 36.
    Sun J, Song SZ, Liu Y (2010) Model checking hierarchical probabilistic systems. In: Dong J, Zhu H (eds) Formal methods and software engineering. LNCS, vol 6447. Springer, Berlin, pp 388–403 CrossRefGoogle Scholar
  37. 37.
    Sun J, Liu Y, Song S, Dong JS, Li X (2011) PRTS: an approach for model checking probabilistic real-time hierarchical systems. In: Qin S, Qiu Z (eds) Formal methods and software engineering. LNCS, vol 6991. Springer, Berlin, pp 147–162 CrossRefGoogle Scholar
  38. 38.
    Wang T, Song S, Sun J, Liu Y, Dong JS, Wang X, Li S (2012) More anti-chain based refinement checking. In: Aoki T, Taguchi K (eds) Formal methods and software engineering. LNCS, vol 7635. Springer, Berlin, pp 364–380 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Yi Li
    • 1
  • Jin Song Dong
    • 2
  • Jing Sun
    • 3
  • Yang Liu
    • 4
  • Jun Sun
    • 5
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada
  2. 2.Department of Computer ScienceNational University of SingaporeSingaporeSingapore
  3. 3.Department of Computer ScienceThe University of AucklandAucklandNew Zealand
  4. 4.School of Computer EngineeringNanyang Technological UniversitySingaporeSingapore
  5. 5.Singapore University of Technology and DesignSingaporeSingapore

Personalised recommendations