Model Checking Distributed Systems against Temporal-Epistemic Specifications

  • Andreas Griesmayer
  • Alessio Lomuscio
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7892)


Concurrency and message reordering are two main causes for the state-explosion in distributed systems with asynchronous communication. We study this domain by analysing ABS, an executable modelling language for object-based distributed systems and present a symbolic model checking methodology for verifying ABS programs against temporal-epistemic specifications. Specifically, we show how to map an ABS program into an ISPL program for verification with MCMAS, a model checker for multi-agent systems. We present a compiler implementing the formal map, exemplify the methodology on a mesh network use case and report experimental results.


Model Check Global State Reachable State Epistemic Logic Partial Order Reduction 
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.


  1. 1.
    Baker Jr., H.C., Hewitt, C.: The incremental garbage collection of processes. In: Proceedings of the 1977 Symposium on Artificial Intelligence and Programming Languages, pp. 55–59 (1977)Google Scholar
  2. 2.
    Ball, T., Rajamani, S.K.: The SLAM toolkit. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 260–264. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Bensalem, S., Bozga, M., Sifakis, J., Nguyen, T.-H.: Compositional verification for component-based systems and application. In: Cha, S(S.), Choi, J.-Y., Kim, M., Lee, I., Viswanathan, M. (eds.) ATVA 2008. LNCS, vol. 5311, pp. 64–79. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Clarke, E., Kroning, D., Sharygina, N., Yorav, K.: SATABS: SAT-based predicate abstraction for ANSI-C. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 570–574. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  6. 6.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All about Maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic. LNCS, vol. 4350. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  7. 7.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about knowledge. The MIT Press, Cambridge (1995)zbMATHGoogle Scholar
  8. 8.
    Fehnker, A., van Glabbeek, R., Höfner, P., McIver, A., Portmann, M., Tan, W.L.: Automated analysis of AODV using UPPAAL. In: Flanagan, C., König, B. (eds.) TACAS 2012. LNCS, vol. 7214, pp. 173–187. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Holzmann, G.J.: The Spin Model Checker. Addison Wesley (2003)Google Scholar
  10. 10.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the JVM platform: A comparative analysis. In: PPPC 2009, pp. 11–20. ACM Press, New York (2009)Google Scholar
  12. 12.
    Leister, W., Bjørk, J., Schlatte, R., Griesmayer, A.: Verifying distributed algorithms with executable Creol models. In: PESARO 2011, pp. 1–6. IARIA (2011)Google Scholar
  13. 13.
    Loiseaux, C., Graf, S., Sifakis, J., Bouajjani, A., Bensalem, S., Probst, D.: Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design 6(1), 11–44 (1995)zbMATHCrossRefGoogle Scholar
  14. 14.
    Lomuscio, A., Penczek, W., Qu, H.: Partial order reductions for model checking temporal epistemic logics over interleaved multi-agent systems. Fundamenta Informaticae 101(1), 71–90 (2010)MathSciNetGoogle Scholar
  15. 15.
    Lomuscio, A., Qu, H., Raimondi, F.: MCMAS: A model checker for the verification of multi-agent systems. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 682–688. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Lomuscio, A., Qu, H., Solanki, M.: Towards verifying contract regulated service composition. Journal of Autonomous Agents and Multi-Agent Systems 24(3), 345–373 (2010)CrossRefGoogle Scholar
  17. 17.
    Musuvathi, M., Park, D.Y.W., Chou, A., Engler, D.R., Dill, D.L.: CMC: A pragmatic approach to model checking real code. SIGOPS Operating Systems Review, 36(SI), 75–88 (2002)Google Scholar
  18. 18.
    Perkins, C., Belding-Royer, E., Das, S.: Ad hoc On-Demand Distance Vector (AODV) Routing. RFC 3561 (Experimental) (July 2003)Google Scholar
  19. 19.
    Ramalingam, G.: Context-sensitive synchronization-sensitive analysis is undecidable. ACM Transactions on Programming Languages and Systems (TOPLAS) 22(2), 416–430 (2000)CrossRefGoogle Scholar
  20. 20.
    De Renesse, F., Aghvami, A.H.: Formal verification of ad-hoc routing protocols using SPIN model checker. In: MELECON 2004, vol. 3, pp. 1177–1182. IEEE (2004)Google Scholar
  21. 21.
    Stolz, V., Huch, F.: Runtime verification of concurrent haskell programs. In: RV 2004. ENTCS, vol. 113, pp. 201–216. Elsevier Science Publishers (2005)Google Scholar
  22. 22.
    Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering 10, 203–232 (2003)CrossRefGoogle Scholar
  23. 23.
    Witkowski, T., Blanc, N., Kroening, D., Weissenbacher, G.: Model checking concurrent linux device drivers. In: ASE 2007, pp. 501–504. ACM (2007)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Andreas Griesmayer
    • 1
  • Alessio Lomuscio
    • 2
  1. 1.ARMCambridgeUK
  2. 2.Imperial College LondonLondonUK

Personalised recommendations