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.
Similar content being viewed by others
References
Aizikowitz, J.: Designing Distributed Services Using Refinement Mappings, PhD thesis, Computer Science Dept, Cornell University, 1989.
Abadi, M. and Lamport, L.: The existence of refinement mappings.TCS, 82, 253–284 (1991).
Brookes, S. D., Hoare C. A. R. and Roscoe, A. W.: A theory of communicating sequential processes.J. ACM, 31, 560–599 (1984).
Birman, K. P.: Replication and fault-tolerance in the ISIS system,Proc. 10th ACM Symp. on Operating Systems Principles, pp. 79–86, 1985.
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.
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.
Cristian, F., Aghili, H., Strong, R. and Dolev, D.: Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement,Digest of FTCS-15, 1985.
Cooper, E.: Replicated distributed programs,Proc. 10th ACM Symp. on Operating Systems Principles, pp. 63–78, 1985.
De Nicola, R. and Vaandrager, F.: Three logics for branching bisimulation.J. ACM. 42(2), 458–487 (1985).
Hoare, C. A. R.:Communicating Sequential Processes. Prentice Hall, 1985.
Jonsson, B.: Compositional specification and verification of distributed systems.ACM TOPLAS, 16, 259–303 (1994).
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.
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.
Lamport, L.: The implementation of reliable distributed multiprocess systems.Computer Networks, 2, 95–114 (1978).
Lamport, L.: The mutual exclusion problem: Part I-a theory of interprocess communication.J. ACM, 33, 313–326 (1986).
Little, M. and Shrivastava, S. K.: Replicated K-resilient objects in Arjuna,Proc. IEEE Intl. Workshop on the Management of Replicated Data, 1990.
Lynch, N. A. and Tuttle, M. R.: Hierarchical correctness proofs for distributed algorithms,Proc. 6th ACM PODC, pp. 137–151, 1987.
Mancini, L. V.: Modular redundancy in a message passing system.IEEE Trans, on Software Engineering, 12, 79–86 (1986).
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.
Schepers, H. and Hooman, J.: Trace-based compositional reasoning about fault-tolerant systems,Proc. PARLE 93, LNCS 694, Springer-Verlag, 1993.
Schneider, F. B.: Byzantine generals in action: Implementing fail-stop processors.ACM TOCS, 2, 145–154 (1984).
Schneider, F. B.: Implementing fault-tolerant services using the state machine approach: A tutorial.ACM Computing Surveys, 22, 299–319 (1990).
Stark, E. W.: Proving entailment between conceptual state specifications.TCS, 56, 135–154 (1988).
Author information
Authors and Affiliations
Rights 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
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01211616