Skip to main content
Log in

Two implementation relations and the correctness of communicating replicated processes

  • Published:
Formal Aspects of Computing

Abstract

This paper studies the correctness of distributed systems made up of replicated processes that communicate by message passing. Processes are described within the divergence model of CSP. The notion of correctness introduced is based on a relation that formally expresses the conformance of an implementation process with the target process it is intended to implement. A weak and a strong version of the relation are introduced, aimed at treating acyclic and cyclic process networks respectively. Both allow the study of (total) correctness and may cope with non-deterministic targets and implementations.

We then show how a target process may be implemented (in the formal sense introduced) by replicating it in a set of copies, a majority of which is non-faulty.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aizikowitz, J.: Designing Distributed Services Using Refinement Mappings, PhD thesis, Computer Science Dept, Cornell University, 1989.

  2. Abadi, M. and Lamport, L.: The existence of refinement mappings.TCS, 82, 253–284 (1991).

    Google Scholar 

  3. Brookes, S. D., Hoare C. A. R. and Roscoe, A. W.: A theory of communicating sequential processes.J. ACM, 31, 560–599 (1984).

    Google Scholar 

  4. Birman, K. P.: Replication and fault-tolerance in the ISIS system,Proc. 10th ACM Symp. on Operating Systems Principles, pp. 79–86, 1985.

  5. E. Brinksma, B. Jonsson, and F Orava. Refining interfaces of communicating systems. InProc. Coll. on Combining Paradigms for Software Development, LNCS 494, Springer-Verlag, 1991.

  6. Brookes, S. D. and Roscoe, A. W.: An improved failures model for communicating processes,Seminar on Concurrency, Brookes, S. D. et al. (eds), LNCS 197, Springer-Verlag, pp. 281–305, 1985.

  7. Cristian, F., Aghili, H., Strong, R. and Dolev, D.: Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement,Digest of FTCS-15, 1985.

  8. Cooper, E.: Replicated distributed programs,Proc. 10th ACM Symp. on Operating Systems Principles, pp. 63–78, 1985.

  9. De Nicola, R. and Vaandrager, F.: Three logics for branching bisimulation.J. ACM. 42(2), 458–487 (1985).

    Google Scholar 

  10. Hoare, C. A. R.:Communicating Sequential Processes. Prentice Hall, 1985.

  11. Jonsson, B.: Compositional specification and verification of distributed systems.ACM TOPLAS, 16, 259–303 (1994).

    Google Scholar 

  12. Koutny, M. and Mancini, L. V. and Pappalardo, G.: Replication in acyclic networks of communicating processes, Technical Report 378, Computing Laboratory, The University of Newcastle upon Tyne, 1992.

  13. Koutny, M. and Mancini, L. V. and Pappalardo, G.: Modelling replicated processing,Proc. PARLE 93, Bode, A. et al. (eds), LNCS 694, Springer-Verlag, 1993.

  14. Lamport, L.: The implementation of reliable distributed multiprocess systems.Computer Networks, 2, 95–114 (1978).

    Google Scholar 

  15. Lamport, L.: The mutual exclusion problem: Part I-a theory of interprocess communication.J. ACM, 33, 313–326 (1986).

    Google Scholar 

  16. Little, M. and Shrivastava, S. K.: Replicated K-resilient objects in Arjuna,Proc. IEEE Intl. Workshop on the Management of Replicated Data, 1990.

  17. Lynch, N. A. and Tuttle, M. R.: Hierarchical correctness proofs for distributed algorithms,Proc. 6th ACM PODC, pp. 137–151, 1987.

  18. Mancini, L. V.: Modular redundancy in a message passing system.IEEE Trans, on Software Engineering, 12, 79–86 (1986).

    Google Scholar 

  19. Mancini, L. V. and Pappalardo, G.: Towards a theory of replicated processing.Formal Techniques in Real-Time and Fault-Tolerant Systems, Joseph, M. (ed), LNCS 331, Springer-Verlag, pp. 175–192, 1988.

  20. Schepers, H. and Hooman, J.: Trace-based compositional reasoning about fault-tolerant systems,Proc. PARLE 93, LNCS 694, Springer-Verlag, 1993.

  21. Schneider, F. B.: Byzantine generals in action: Implementing fail-stop processors.ACM TOCS, 2, 145–154 (1984).

    Google Scholar 

  22. Schneider, F. B.: Implementing fault-tolerant services using the state machine approach: A tutorial.ACM Computing Surveys, 22, 299–319 (1990).

    Google Scholar 

  23. Stark, E. W.: Proving entailment between conceptual state specifications.TCS, 56, 135–154 (1988).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Koutny, M., Mancini, L.V. & Pappalardo, G. Two implementation relations and the correctness of communicating replicated processes. Formal Aspects of Computing 9, 119–148 (1997). https://doi.org/10.1007/BF01211616

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211616

Keywords

Navigation