A computational logic handbook
A computational logic handbook
The existence of refinement mappings
Theoretical Computer Science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed Algorithms
Eternity Variables to Simulate Specifications
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Eternity variables to prove simulation of specifications
ACM Transactions on Computational Logic (TOCL)
Distributed Computing - Special issue: Specification of concurrent systems
Algebraic and functional specification of an interactive serializable database interface
Distributed Computing - Special issue: Specification of concurrent systems
Operational specification with joint actions: serializable databases
Distributed Computing - Special issue: Specification of concurrent systems
Specifying modules to satisfy interfaces: a state transition system approach
Distributed Computing - Special issue: Specification of concurrent systems
Critique of the lake arrowhead three
Distributed Computing - Special issue: Specification of concurrent systems
Eternity variables to prove simulation of specifications
ACM Transactions on Computational Logic (TOCL)
Lock-free parallel and concurrent garbage collection by mark&sweep
Science of Computer Programming
Universal extensions to simulate specifications
Information and Computation
Simulation Refinement for Concurrency Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Mechanically verified proof obligations for linearizability
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simulation refinement for concurrency verification
Science of Computer Programming
Hi-index | 0.00 |
Eternity variables are introduced to specify and verify serializability of transactions of a distributed database. Eternity variables are a new kind of auxiliary variables. They do not occur in the implementation but are used in specification and verification. Elsewhere it has been proved that eternity variables in combination with history variables are semantically complete for proving refinement relations.An eternity variable can be thought of as an unknown constant that is determined by the behaviour (execution sequence). In the specification of the database, one eternity variable is used to enforce serialization. In the verification, an additional eternity variable is needed for the connection of the local data with the shared database.The formalism is based on linear-time temporal logic, but the analysis of behaviours is completely reduced to the next-state relation together with progress arguments using variant functions. Forward invariants (inductive predicates) are complemented with other, so-called backward, invariants. The proof has been verified with the first-order theorem prover NQTHM to give additional confidence in the result and in the feasibility of the approach.