Adequate proof principles for invariance and liveness properties of concurrent programs
Science of Computer Programming
Communicating sequential processes
Communicating sequential processes
A model and temporal proof system for networks of processes
Distributed Computing
Fairness
Current trends in concurrency. Overviews and tutorials
Specification and verification of concurrent programs by A∀automata
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Proving entailment between conceptual state specifications
Theoretical Computer Science - First European Symposium on Programming, Saarbru:9Aicken, W. Germany, March 17:8
Distributed cooperation with action systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Assertional verification of a majority consensus algorithm for concurrency control in multiple copy
International Conference on Concurrency on Concurrency 88
Parallel program design: a foundation
Parallel program design: a foundation
Verifying temporal properties without temporal logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple approach to specifying concurrent systems
Communications of the ACM
Communication and concurrency
Compositionality, concurrency and partial correctness
Compositionality, concurrency and partial correctness
Refinement calculus, part II: parallel and reactive programs
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Refinement and projection of relational specifications
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Coloured Petri Nets: a high level language for system design and analysis
APN 90 Proceedings on Advances in Petri nets 1990
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 Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
A model and proof system for asynchronous networks
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
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 axiomatic basis for computer programming
Communications of the ACM
The Science of Programming
A Discipline of Programming
Verifying Safety and Deadlock Properties of Networks of Asynchronously Communicating Processes
Proceedings of the IFIP WG6.1 Ninth International Symposium on Protocol Specification, Testing and Verification IX
Impartiality, Justice and Fairness: The Ethics of Concurrent Termination
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Compositionality and Concurrent Networks: Soundness and Completeness of a Proofsystem
Proceedings of the 12th Colloquium on Automata, Languages and Programming
Simulations Between Specifications of Distributed Systems
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
The anchored version of the temporal framework
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop
A unified approach to formal verification of network safety properties
A unified approach to formal verification of network safety properties
A methodology for designing communication protocols
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
Liveness conditions in model-based service specifications: a case study
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
An Application of Formal Analysis to Software in a Fault-Tolerant Environment
IEEE Transactions on Computers
Heterogeneous programming with concurrent objects
SAC '97 Proceedings of the 1997 ACM symposium on Applied computing
An inheritance-based technique for building simulation proofs incrementally
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model and Algorithm for Efficient Verification of High-Assurance Properties of Real-Time Systems
IEEE Transactions on Knowledge and Data Engineering
Specifications and Proofs for Ensemble Layers
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Towards a Proof-Theoretic Foundation for Actor Specification and Verification
Selected papers from the ESPRIT Project ModelAge Final Workshop on Formal Models of Agents
Compositional Reasoning Using the Assumption-Commitment Paradigm
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
The Need for Compositional Proof Systems: A Survey
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
Relating communicating processes with different interfaces
Fundamenta Informaticae
A theory of normed simulations
ACM Transactions on Computational Logic (TOCL)
Proving refinement using transduction
Distributed Computing - Special issue: Verification of lazy caching
Behaviour Abstraction for Communicating Sequential Processes
Fundamenta Informaticae
Electronic Notes in Theoretical Computer Science (ENTCS)
Associativity of Infinite Synchronized Shuffles and Team Automata
Fundamenta Informaticae
A Theory of Synchronous Relational Interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Decomposing controllers into non-conflicting distributed controllers
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
A refinement calculus for communicating processes with state
IW-FM'97 Proceedings of the 1st Irish conference on Formal Methods
Predicate transformers for infinite-state automata in NuPRL type theory
IW-FM'99 Proceedings of the 3rd Irish conference on Formal Methods
Associativity of Infinite Synchronized Shuffles and Team Automata
Fundamenta Informaticae
Relating Communicating Processes with Different Interfaces
Fundamenta Informaticae
Behaviour Abstraction for Communicating Sequential Processes
Fundamenta Informaticae
Hi-index | 0.00 |
We present a method for specification and verification of distributed systems that communicate via asynchronous message passing. The method handles both safety and liveness properties. It is compositional, i.e., a specification of a composite system can be obtained from specifications of its components. Specifications are given as labeled transition systems with fairness properties, using a program-like notation with guarded multiple assignments. Compositionality is attained by partitioning the labels of a transition system into input events, which intuitively denote message receptions, and output events, which intuitively denote message transmissions. A specification denotes a set of allowed sequences of message transmissions and receptions, in analogy with the way finite automata are used as acceptors of finite strings. A lower-level specification implements a higher-level one. We present a verification technique which reduces the problem of verifying the correctness of an implementation to classical verification conditions. Safety properties are verified by establishing a simulation relation between transition systems. Liveness properties are verified using methods for proving termination under fairness assumptions. Since specifications can be given at various levels of abstraction, the method is suitable in a development process where a detailed implementation is developed from an abstract specification through a sequence of refinement steps. As an application of the method, an algorithm by Thomas for updating a distributed database is specified and verified.