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
Safety analysis of timing properties in real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
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)
A verified connection management protocol for the transport layer
SIGCOMM '87 Proceedings of the ACM workshop on Frontiers in computer communications technology
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 Relational Notation for State Transition Systems
IEEE Transactions on Software Engineering
Modular design principles for protocols with an application to the transport layer
Modular design principles for protocols with an application to the transport layer
Specifying modules to satisfy interfaces: a state transition system approach
Specifying modules to satisfy interfaces: a state transition system approach
Service specification and protocol construction for a layered architecture
Service specification and protocol construction for a layered architecture
What it means for a concurrent program to satisfy a specification: why no one has specified priority
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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
A Discipline of Programming
A Composition Theorem for Layered Systems
Proceedings of the IFIP WG6.1 International Symposium on Protocol Specification, Testing and Verification XI
Compositional Semantics for Real-time Distributed Computing
Proceedings of the Conference on Logic of Programs
Proving real-time properties of programs with temporal logic
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
An introduction to assertional reasoning for concurrent systems
ACM Computing Surveys (CSUR)
Liveness conditions in model-based service specifications: a case study
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
A Theory of Interfaces and Modules - I: Composition Theorem
IEEE Transactions on Software Engineering
Divide, Abstract, and Model-Check
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Developing Topology Discovery in Event-B
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Developing topology discovery in Event-B
Science of Computer Programming
Hi-index | 0.00 |
A stepwise refinement heuristic to construct distributed systems is presented. The heuristic is based on a conditional refinement relation between system specifications, and a “Marking”. It is applied to construct four sliding window protocols that provide reliable data transfer over unreliable communication channels. The protocols use modulo-N sequence numbers. The first protocol is for channels that can only lose messages in transit. By refining this protocol, we obtain three protocols for channels that can lose, reorder, and duplicate messages in transit. The protocols herein are less restrictive and easier to implement than sliding window protocols previously studied in the protocol verification literature.