Temporal Logic Model Checking in Alloy

  • Amirhossein Vakili
  • Nancy A. Day
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7316)


The declarative and relational aspects of Alloy make it a desirable language to use for high-level modeling of transition systems. However, currently, these models must be translated to another tool to carry out full temporal logic model checking. In this article, we show how a symbolic representation of the semantics of computational tree logic with fairness constraints (CTLFC) can be written in first-order logic with the transitive closure operator, and therefore described in Alloy. Using this encoding, the question of whether a declarative model of a transition system satisfies a temporal logic formula can be solved using the Alloy Analyzer directly. Also, since a declarative description of a model may actually represent a family of transition systems, we define two distinct model checking questions on this family (existential and universal model checking) and show how these properties can be evaluated in the Alloy Analyzer.


Model Check Transition System Temporal Logic Alloy Model Linear Temporal Logic 
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.
    Selic, B.: From Model-Driven Development to Model-Driven Engineering. In: ECRTS. IEEE Computer Society (2007)Google Scholar
  2. 2.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM TOSEM 11(2), 256–290 (2002)CrossRefGoogle Scholar
  3. 3.
    Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press (August 1996)Google Scholar
  4. 4.
    International Organisation for Standardization: Information Technology Z Formal Specification Notation Syntax, Type System and Semantics (2000)Google Scholar
  5. 5.
    Börger, E.: The ASM Method for System Design and Analysis. A Tutorial Introduction. In: Gramlich, B. (ed.) FroCos 2005. LNCS (LNAI), vol. 3717, pp. 264–283. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Chang, F.S.H., Jackson, D.: Symbolic Model Checking of Declarative Relational Models. In: ICSE 2006, pp. 312–320 (May 2006)Google Scholar
  7. 7.
    Del Castillo, G., Winter, K.: Model Checking Support for the ASM High-Level Language. In: Graf, S. (ed.) TACAS 2000. LNCS, vol. 1785, pp. 331–346. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Leuschel, M., Butler, M.: ProB: A Model Checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Jackson, D.: Software Abstractions - Logic, Language, and Analysis. MIT Press (2006)Google Scholar
  10. 10.
    Immerman, N., Vardi, M.: Model Checking and Transitive-Closure Logic. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 291–302. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Clarke, E., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)Google Scholar
  12. 12.
    Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another Look at LTL Model Checking. Formal Methods in System Design 10, 47–71 (1997)CrossRefGoogle Scholar
  13. 13.
    Hindley, J.R., Seldin, J.P.: An Introduction to Combinators and the λ-calculus, 2nd edn. Cambridge University Press (2008)Google Scholar
  14. 14.
    McMillan, K.L.: The SMV system (November 06, 1992)Google Scholar
  15. 15.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 333–336. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Schellhorn, G., Ahrendt, W.: Reasoning about Abstract State Machines: The WAM Case Study. Journal of Universal Computer Science 3(4), 377–413 (1997)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Dold, A.: A Formal Representation of Abstract State Machines Using PVS. Verifix Technical Report Ulm/6.2, Universität Ulm (July 1998)Google Scholar
  18. 18.
    Frias, M.F., Galeotti, J.P., López Pombo, C.G., Aguirre, N.M.: DynAlloy: Upgrading Alloy with Actions. In: Proceedings of ICSE 2005, pp. 442–451. ACM (2005)Google Scholar
  19. 19.
    Huth, M., Jagadeesan, R., Schmidt, D.A.: Modal Transition Systems: A Foundation for Three-Valued Program Analysis. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 155–169. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic Model Checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Amirhossein Vakili
    • 1
  • Nancy A. Day
    • 1
  1. 1.Cheriton School of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations