Concurrent Processes and Their Syntax
Journal of the ACM (JACM)
A New Approach to Proving the Correctness of Multiprocess Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Proof System for Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the Construction of Submodule Specifications and Communication Protocols
ACM Transactions on Programming Languages and Systems (TOPLAS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
A language for formal problem specification
Communications of the ACM
Formal verification of parallel programs
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Specification and Verification of a Network Nail System
Program Construction, International Summer Schoo
Using assertions about traces to write abstract specifications for software modules
Proceedings of the 2nd Conference of the European Cooperation on Informatics: Information Systems Methodology
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Restricted data types, specification and enforcement of invariant properties of variables
Proceedings of an ACM conference on Language design for reliable software
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
Hardware Specification with Temporal Logic: An Example
IEEE Transactions on Computers
An Introduction to the Construction and Verification of Alphard Programs
IEEE Transactions on Software Engineering
A Language Extension for Controlling Access to Shared Data
IEEE Transactions on Software Engineering
Software Descriptions with Flow Expressions
IEEE Transactions on Software Engineering
Proofs of Networks of Processes
IEEE Transactions on Software Engineering
PORTS: a method for dynamic interprogram communication and job control
AFIPS '71 (Spring) Proceedings of the May 18-20, 1971, spring joint computer conference
Some notes on the history of protocol engineering
Computer Networks: The International Journal of Computer and Telecommunications Networking
Hi-index | 14.98 |
Specification methods for distributed systems is the underlying theme of this paper. A model of communicating processes with rendezvous interactions is assumed as a basis for the discussion. The possible interactions by a process, and the interconnection between several subprocesses within a process are specified using the concept of ports, which are specified separately. Step-wise refinement of process specifications and associated verification rules are considered. The step-wise refinement of port specifications and associated interactions is considered as well. After the presentation of an introductory example, the paper discusses the basic concepts of the specification method. They are then applied to more complex examples. The step-wise wefinement of ports and interactions is demonstrated by a hardware interface for which an abstract specification and a more detailed implementation is given. Proof rules for verifying the consistency of detailed and more abstract specifications are discussed in some detail.