Model Checking Distributed Systems against Temporal-Epistemic Specifications

  • Andreas Griesmayer
  • Alessio Lomuscio
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.


  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)MATHGoogle Scholar
  7. 7.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about knowledge. The MIT Press, Cambridge (1995)MATHGoogle 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)MATHCrossRefGoogle 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