Theoretical Computer Science
Forward and backward simulations II.: timing-based systems
Information and Computation
Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394
Formal Methods in System Design
Distributed Algorithms
TAME: Using PVS strategies for special-purpose theorem proving
Annals of Mathematics and Artificial Intelligence
Proving Invariants of I/O Automata with TAME
Automated Software Engineering
Time-Constrained Automata (Extended Abstract)
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Tackling the RPC-Memory Specification Problem with I/O Automata
Formal Systems Specification, The RPC-Memory Specification Case Study (the book grow out of a Dagstuhl Seminar, September 1994)
Timed I/O Automata: A Mathematical Framework for Modeling and Analyzing Real-Time Systems
RTSS '03 Proceedings of the 24th IEEE International Real-Time Systems Symposium
Translation Templates to Support Strategy Development in PVS
Electronic Notes in Theoretical Computer Science (ENTCS)
Can We Build an Automatic Program Verifier? Invariant Proofs and Other Challenges
Verified Software: Theories, Tools, Experiments
Verifying average dwell time of hybrid systems
ACM Transactions on Embedded Computing Systems (TECS)
A Formalized Theory for Verifying Stability and Convergence of Automata in PVS
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Towards a verification framework for faulty message passing systems in PVS
Innovations in Systems and Software Engineering
Translating timed i/o automata specifications for theorem proving in PVS
FORMATS'05 Proceedings of the Third international conference on Formal Modeling and Analysis of Timed Systems
A framework for formally verifying software transactional memory algorithms
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Hi-index | 0.00 |
Abstractions are important in specifying and proving properties of complex systems. To prove that a given automaton implements an abstract specification automaton, one must first find the correct abstraction relation between the states of the automata, and then show that this relation is preserved by all corresponding action sequences of the two automata. This paper describes tool support based on the PVS theorem prover that can help users accomplish the second task, in other words, in proving a candidate abstraction relation correct. This tool support relies on a clean and uniform technique for defining abstraction properties relating automata that uses library theories for defining abstraction relations and templates for specifying automata and abstraction theorems. The paper then describes how the templates and theories allow development of generic, high level PVS strategies that aid in the mechanization of abstraction proofs. These strategies first set up the standard subgoals for the abstraction proofs and then execute the standard initial proof steps for these subgoals, thus making the process of proving abstraction properties in PVS more automated. With suitable supplementary strategies to implement the ''natural'' proof steps needed to complete the proofs of any of the standard subgoals remaining to be proved, the abstraction proof strategies can form part of a set of mechanized proof steps that can be used interactively to translate high level proof sketches into PVS proofs. Using timed I/O automata examples taken from the literature, this paper illustrates use of the templates, theories, and strategies described to specify and prove two types of abstraction property: refinement and forward simulation.