Decision procedures and expressiveness in the temporal logic of branching time
Journal of Computer and System Sciences
Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
An algebraic model for programming languages
Computer Languages
Parsing Languages by Pattern Matching
IEEE Transactions on Software Engineering
Programming language theory and its implementation
Programming language theory and its implementation
Realistic compiler generation
Handbook of theoretical computer science (vol. B)
Recursive applicative program schemes
Handbook of theoretical computer science (vol. B)
Handbook of theoretical computer science (vol. B)
Handbook of theoretical computer science (vol. B)
Algebraic construction of compilers
Theoretical Computer Science
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Real-time symbolic model checking for discrete time models
Theories and experiences for real-time system development
An algebraic approach to language translation
An algebraic approach to language translation
Algebraic processing of programming languages
AMiLP '95 Proceedings of the first international AMAST workshop on Algebraic methods in language processing
Modalities for model checking (extended abstract): branching time strikes back
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Advice on structuring compilers and proving them correct
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Compiler Design
An Algebraic Language Processing Environment
AMAST '97 Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology
Quantitative Temporal Reasoning
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Integrating Temporal Logics and Model Checking Algorithms
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop
Semantic processing by macro processors
Semantic processing by macro processors
A unified language processing methodology
Theoretical Computer Science
Specification languages in algebraic compilers
Theoretical Computer Science - Special issue: Algebraic methodology and software technology
E-learning tools based on transition systems
AIC'08 Proceedings of the 8th conference on Applied informatics and communications
Algebraic model and communication tool of a language
ICCOMP'08 Proceedings of the 12th WSEAS international conference on Computers
Transition systems specified as a communication tool for e-learning
ICCOMP'08 Proceedings of the 12th WSEAS international conference on Computers
Synthesizing software verifiers from proof rules
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Hi-index | 0.00 |
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 {\cal M}{\cal C}: L_s\,{\to}\,L_t, where Ls is a temporal logic source language and Lt is a target language representing sets of states of a model M, such that {\cal M}{\cal C}(f\,{\in}\,L_s) = \{ s\,{\in}\,M \mid s \models f \}. 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 CTLe 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.