Adequate proof principles for invariance and liveness properties of concurrent programs
Science of Computer Programming
Communicating sequential processes
Communicating sequential processes
An example of stepwise refinement of distributed programs: quiescence detection
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Fairness
A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
Concepts for concurrent programming
Current trends in concurrency. Overviews and tutorials
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Distributed cooperation with action systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
The derivation of graph marking algorithms from distributed termination detection protocols
Science of Computer Programming
Parallel program design: a foundation
Parallel program design: a foundation
A simple approach to specifying concurrent systems
Communications of the ACM
Verified data transfer protocols with variable flow control
ACM Transactions on Computer Systems (TOCS)
A method for solving synchronization problems
Science of Computer Programming
Stepwise refinement of parallel algorithms
Science of Computer Programming
A Relational Notation for State Transition Systems
IEEE Transactions on Software Engineering
In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
The existence of refinement mappings
Theoretical Computer Science
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
A stepwise refinement heuristic for protocol construction
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving Liveness Properties of Concurrent Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
An HDLC protocol specification and its verification using image protocols
ACM Transactions on Computer Systems (TOCS)
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Solution of a problem in concurrent programming control
Communications of the ACM
The Science of Programming
Stepwise Assertional Design of Distance-Vector Routing Algorithms
Proceedings of the IFIP TC6/WG6.1 Twelth International Symposium on Protocol Specification, Testing and Verification XII
Impartiality, Justice and Fairness: The Ethics of Concurrent Termination
Proceedings of the 8th Colloquium on Automata, Languages and Programming
The Temporal Semantics of Concurrent Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Distributed algorithms for ensuring fair interprocess communicatons
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Specifying modules to satisfy interfaces: a state transition system approach
Distributed Computing - Special issue: Specification of concurrent systems
Verifying systems with integer constraints and Boolean predicates: a composite approach
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Formal verification in hardware design: a survey
ACM Transactions on Design Automation of Electronic Systems (TODAES)
The specification and testing of quantified progress properties in distributed systems
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
An Experiment in Program Composition and Proof
Formal Methods in System Design
A Compared Study of Two Correctness Proofs for the Standardized Algorithm of ABR Conformance
Formal Methods in System Design
Model checking of systems with many identical timed processes
Theoretical Computer Science
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Lazy Compositional Verification
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Communication and Synchronisation Using Interaction Objects
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
ISpec: Towards Practical and Sound Interface Specifications
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
Symbolic Model Checking of Biochemical Networks
CMSB '03 Proceedings of the First International Workshop on Computational Methods in Systems Biology
The specification of distributed objects: liveness and locality
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
A Tool for Testing Liveness in Distributed Object Systems
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Automatic software model checking via constraint logic
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
Automatic verification for a class of distributed systems
Distributed Computing
Modeling and querying biomolecular interaction networks
Theoretical Computer Science - Special issue: Computational systems biology
Verifying mutual exclusion and liveness properties with split preconditions
Journal of Computer Science and Technology
Implementing database replication protocols based on O2PL in a middleware architecture
DBA'06 Proceedings of the 24th IASTED international conference on Database and applications
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
A formal analysis of database replication protocols with SI replicas and crash failures
The Journal of Supercomputing
Convex hull abstractions in specialization of CLP programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Automatic software model checking using CLP
ESOP'03 Proceedings of the 12th European conference on Programming
Proving atomicity: an assertional approach
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Proof and evaluation of a 1CS middleware data replication protocol based on O2PL
ISPA'06 Proceedings of the 4th international conference on Parallel and Distributed Processing and Applications
Formal engineering of the bitonic sort using PVS
IW-FM'98 Proceedings of the 2nd Irish conference on Formal Methods
A logic to specify and verify synchronous transitions
IW-FM'99 Proceedings of the 3rd Irish conference on Formal Methods
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Hi-index | 0.00 |
This is a tutorial introduction to assertional reasoning based on temporal logic. The objective is to provide a working familiarity with the technique. We use a simple system model and a simple proof system, and we keep to a minimum the treatment of issues such as soundness, completeness, compositionality, and abstraction. We model a concurrent system by a state transition system and fairness requirements. We reason about such systems using Hoare logic and a subset of linear-time temporal logic, specifically, invariant assertions and leads-to assertions. We apply the method to several examples.