Abstract
Abstract: In [SR89a, SR89b, SR89c] a principle has been formulated for designing, hence verifying, distributed algorithms from a particular class. This class consists of algorithms in which processes in a network perform a certain task which can be decomposed into a number of subtasks as if they are performed sequentially from a logical point of view, although from an operational point of view they are performed concurrently (cf. [GHS83, Hu83, MS79, Se82, Se83, ZS80]).
Till now the above-mentioned principle has been applied as a verification principle in [SR89b] to a correctness proof of a broadcasting protocol, the PIF-protocol, due to Segall [Se83], and in [SR89c] to a correctness proof of the distributed minimum-weight spanning tree algorithms of Gallager, Humblet, Spira [GHS83]. As shown in the present paper this principle can also be applied for deriving distributed algorithms. In particular, this is demonstrated by deriving a broadcasting protocol, essentially Segall's PIF-protocol. We remark that a similar derivation also applies for deriving other more complex distributed algorithms, such as those described in [Hu83, MS79, Se82, Se83, ZS80] as well as the distributed minimum-weight spanning tree algorithm of Gallager, Humblet, and Spira [GHS83].
The derivation presented in this paper shows that invariants can be generated during the development of programs, and illustrates a generalization of Back's refinement calculus [B88].
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Back R.J.R., A calculus of refinements for program derivations, Acta Informatica, 25 (1988).
Back R.J.R. and Sere K., Stepwise refinement of action systems, Proc. of Math. of Program Construction (LNCS 375), (1989).
Chou C.T. and Gafni E., Understanding and verifying distributed algorithms using stratified decomposition, Proc. of the ACM Symp. on Principles of Distr. Comp. (1988).
Chandy K.M. and Misra J., Parallel program design: a foundation, Addison-Wesley Publishing Company, Inc. (1988).
Dijkstra E.W., A discipline of programming. Englewood Cliffs: Prentice Hall (1976)
Elrad T. and Francez N., Decomposition of distributed programs into communication closed layers, Science of Computer programming, 2 (1982).
Fix L. and Francez N., Semantics-driven decompositions for the verification of distributed programs, manuscript (1989).
Gallager R.T., Humblet P.A., and Spira P.M., A distributed algorithm for minimum-weight spanning trees, ACM TOPLAS, 5-1 (1983).
Hoare C.A.R., Sequential Communication Processes, Comm. ACM, 21–8 (1978).
Humblet P.A., A distributed algorithm for minimum-weight directed spanning trees, IEEE Trans. on Comm., 31–6 (1983).
Katz S. and Peled D., Interleaving set temporal logic, Proc. of the ACM Symp. on Principles of Distr. Comp. (1987).
Lamport L., Paradigms for distributed programs: computing global states. LNCS-190 (1985).
Lee S., de Roever W.P., and Gerhart S.L., The evolution of list copying algorithms and the need for structured program verification, Proc. of the ACM Symp. on Princ. of Prog. Lang. (1979).
Manna Z. and Pnueli A., Verification of concurrent programs: A temporal proof system, Foundations of computer science IV, part 2, MC-tracts 159 (1983).
Merlin P.M. and Segall A., A failsafe distributed routing protocol, IEEE Trans. on Comm., 27–9 (1979).
Segall A., Decentralized maximum-flow algorithms, Networks 12 (1982).
Segall A., Distributed network protocols, IEEE Trans. on Inf. Theory. IT29-1 (1983).
Stomp F.A. and de Roever W.P., A formalization of sequentially phased intuition in network protocols, Unpublished Internal Report 88-15, University of Nijmegen (1988).
Stomp F.A. and de Roever W.P., Designing distributed algorithms by means of formal sequentially phased reasoning (extended abstract), Proc. of the 3rd International Workshop on Distributed algorithms (LNCS 392) (1989)
Stomp F.A. and de Roever W.P., Designing distributed algorithms by means of formal sequentially phased reasoning (full paper), submitted for publication in Distributed Computing.
Stomp F.A. and de Roever W.P., A detailed analysis of Gallager, Humblet, and Spira's distributed minimum-weight spanning tree algorithm — An example of sequentially phased reasoning—, submitted for publication.
Stomp F.A., Design an verification of distributed network algorithms, Ph. D. thesis, Eindhoven University of Eindhoven (1989).
Schlichting R.D. and Schneider F.B., Using message passing for distributed programming, Proof rules and disciplines, ACM TOPLAS 6-3 (1984).
Zerbib F.B.M. and Segall A., A distributed shortest path protocol, Internal Report EE-395, Technion-Israel Institute of Technology, Haifa, Israel (1980).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stomp, F.A. (1990). A derivation of a broadcasting protocol using sequentially phased reasoning. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_84
Download citation
DOI: https://doi.org/10.1007/3-540-52559-9_84
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52559-2
Online ISBN: 978-3-540-47035-9
eBook Packages: Springer Book Archive