Abstract
There is a great deal of research aimed toward the development of temporal logics and model checking algorithms which can be used to verify properties of systems. In this paper, we present a methodology and supporting tools which allow researchers and practitioners to automatically generate model checking algorithms for temporal logics from algebraic specifications. These tools are extensions of algebraic compiler generation tools and are used to specify model checkers as mappings of the form \({\mathcal{M}}{\mathcal{C}}:L_s \to L_t\), where L s is a temporal logic source language and L t is a target language representing sets of states of a model M, such that \({\mathcal{M}}{\mathcal{C}}\left( {f \in L_s } \right) = \left\{ {s \in M\left| s \right| = f} \right\}\). The algebraic specifications for a model checker define the logic source language, the target language representing sets of states in a model, and the embedding of the source language into the target language. Since users can modify and extend existing specifications or write original specifications, new model checking algorithms for new temporal logics can be easily and quickly developed; this allows the user more time to experiment with the logic and its model checking algorithm instead of developing its implementation. Here we show how this algebraic framework can be used to specify model checking algorithms for CTL, a real-time CTL, CTL*, and a custom extension called CTL e that makes use of propositions labeling the edges as well as the nodes of a model. We also show how the target language can be changed to a language of binary decision diagrams to generate symbolic model checkers from algebraic specifications.
Similar content being viewed by others
References
R. Alur, C. Courcoubetis, and D. Dill, “Model-checking for real-time systems,” in IEEE Fifth Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, 1990, pp. 414-425.
J.R. Burch, E.M. Clarke, D.E. Long, K.L. McMillan, and D.L. Dill, “Symbolic model checking for sequential circuit verification,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,Vol. 13, No. 4, pp. 401-424, 1994.
J.R. Burch, E.M. Clarke, and K.L. McMillan, “Symbolic model checking 1020 states and beyond,” Information and Computation, Vol. 98, pp. 142-170, 1992.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. 35, No. 8, pp. 677-691, 1986.
R.M. Burstall and P.J. Landin, “Programs and their proofs: An algebraic approach,” Machine Intelligence, Vol. 4, pp. 17-43, 1969.
S.V. Campos and E.M. Clarke, “Real-time symbolic model checking for discrete time models,” in Theories and Experiences for Real-Time System Development, World Scientific, Singapore, 1994, pp. 129-145.
S.C. Campos, E. Clarke, and M. Minea, “Analysis of real-time systems using symbolic techniques,” in C. Heitmeyer and D. Mandrioli (Eds.), Formal Methods for Real-Time Computing, John Wiley & Sons, New York, 1996, pp. 217-235.
E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Transactions on Programming Languages and Systems, Vol. 8, No. 2, pp. 244-263, 1986.
P.M. Cohn, Universal Algebra, Reidel, London, 1981.
B. Courcelle, “Recursive applicative program schemes,” in J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, MIT Press/ Elsevier, 1990, pp. 459-492.
E.A. Emerson and J.Y. Halpern, “Decision procedures and expressiveness in the temporal logic of branching time,” Journal of Computer and System Sciences, Vol. 30, No. 1, pp. 1-24, 1985.
E.A. Emerson and Chin-Laung Lei, “Modalities for model checking: Branching time strikes back (extended abstract),” in ACM Symposium on Principles of Programming Languages, New York, 1985, pp. 84-96.
E.A. Emerson, A.K. Mok, A.P. Sistla, and J. Srinivasan, “Quantitative temporal reasoning,” in Lecture Notes in Computer Science, Vol. 531, Springer-Verlag, Berlin, 1991, pp. 136-145.
E.A. Emerson and J. Srinivasan, “Branching time temporal logic,” in J.W. de Bakker, W.P. de Roever, and G. Rozenberg (Eds.), Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, LNCS, No. 354, New York, 1988, pp. 123-172.
H.B. Enderton, Elements of Set Theory, Academic Press, San Diego, CA, 1977.
M. Gordon, Programming Language Theory and its Implementation, Prentice Hall, Englewood Cliffs, NJ, 1988.
P.J. Higgins, “Algebras with a scheme of operators,” Mathematische Nachrichten, Vol. 27, pp. 115-132, 1963/64.
J.L. Knaack, “An algebraic approach to language translation,” Ph.D. Thesis, Department of Computer Science, The University of Iowa, IA, 1994.
S. Kripke, “Semantical analysis of modal logic i: Normal modal propositional calculi,” Zeitschrift f. Math. Logik und Grundlagen d. Math., Vol. 9, pp. 67-96, 1963.
P. Lee, Realistic Compiler Generation, MIT Press, Cambridge, MA, 1989.
D.E Long, “Bdd-A binary decision diagram package,” available by anonymous ftp at EMC.CS.CMU.EDU in the file /pub/bdd/bddlib.tar.Z, 1993.
A.I. Malcev, Algorithms and Recursive Functions, Wolters-Nordhoff Publishers, 1970.
K.L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, Boston, 1993.
F.L. Morris, “Advice on structuring compilers and proving them correct,” in Proceedings, ACM Symposium on Principle of Programming Languages, Boston, MA, 1973, pp. 144-152.
P. Mosses, “Denotational semantics,” in J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, MIT Press/ Elsevier, 1990, pp. 475-631.
P. Naur (Ed.), “Revised report on the algorithmic language algol 60,” Communications of the ACM, Vol. 6, No. 1, pp. 1-17, 1963.
T. Rus, “An algebraic model for programming languages,” Computer Languages, Vol. 12, Nos. 3/4, pp. 173-195, 1987.
T. Rus, “Parsing languages by pattern matching,” IEEE Transactions on Software Engineering, Vol. 14, No. 4, pp. 498-510, 1988.
T. Rus, “Algebraic construction of compilers,” Theoretical Computer Science, Vol. 90, pp. 271-308, 1991.
T. Rus, “Algebraic processing of programming languages,” Theoretical Computer Science, Vol. 199, pp. 105-143, 1998.
T. Rus and T. Halverson, “A language independent scanner generator,” available at ftp://ftp.cs.uiowa.edu/ pub/rus/scan3.ps, 1998.
T. Rus, T. Halverson, E. Van Wyk, and R. Kooima, “An algebraic language processing environment,” in M. Johnson (Ed.), Lecture Notes in Computer Science, Vol. 1349, Sydney, Australia, 1997, pp. 581-585.
T. Rus, R. Kooima, and E. Van Wyk, “Semantics specification in an algebraic compiler,” available at ftp://ftp.cs.uiowa.edu/pub/rus/semspec.ps, 1998.
T. Rus and E. Van Wyk, “A formal approach to parallelizing compilers,” in SIAM Conference on Parallel Processing for Scientific Computation, Proceedings, March 14, 1997.
T. Rus and E. Van Wyk, “Integrating temporal logics and model checking algorithms,” in Fourth AMAST Workshop on Real-Time Systems, Proceedings, Lecture Notes in Computer Science, Vol. 1231, pp. 95-110, Springer-Verlag, Berlin, 1997.
T. Rus and E. Van Wyk, “Model checking tools for parallelizing compilers,” in Second InternationalWorkshop on Formal Methods for Parallel Programming: Theory and Applications, Proceedings, pp. 114-127, April 1, 1997.
G. Takeuti and W.M. Zaring, Introduction to Axiomatic Set Theory, Springer-Verlag, Berlin, 1971.
W. Thomas, “Automata on infinite objects,” in J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, Formal Models and Semantics, Vol. B, MIT Press/ Elsevier, 1990, pp. 133-191.
E. Van Wyk, “Semantic processing by macro processors,” Ph.D. Thesis, The University of Iowa, IA, 1998.
M. Wirsing, “Algebraic specification,” in J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science, Formal Models and Semantics, Vol. B, MIT Press/ Elsevier, 1990, pp. 677-788.
R. Wilhelm and D. Maurer, Compiler Design, Addison-Wesley, Reading, MA, 1995.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Rus, T., Van Wyk, E. & Halverson, T. Generating Model Checkers from Algebraic Specifications. Formal Methods in System Design 20, 249–284 (2002). https://doi.org/10.1023/A:1014742013173
Issue Date:
DOI: https://doi.org/10.1023/A:1014742013173