Skip to main content
Log in

Convergence of iteration systems

  • Special Issue on Self-stabilization
  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

An iteration system is a set of assignment statements whose computation proceeds in steps: at each step, an arbitrary subset of the statements is executed in parallel. The set of statements thus executed may differ at each step; however, it is required that each statement is executed infinitely often along the computation. The convergence of such systems (to a fixed point) is typically verified by showing that the value of a given variant function is decreased by each step that causes a state change. Such a proof requires an exponential number of cases (in the number of assignment statements) to be considered. In this paper, we present alternative methods for verifying the convergence of iteration systems. In most of these methods, upto a linear number of cases need to be considered.

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. Arbib MA: Brains, machines and mathematics. Springer, Berlin Heidelberg New York 1987

    Google Scholar 

  2. Burns JE, Gouda MG, Miller RE: On relaxing interleaving assumptions. Proc MCC Workshop on Self-Stabilizing Systems. MCC Tech Rep #STP-379-89

  3. Brown GM, Gouda MG, Wu CL: Token systems that selfstabilize. IEEE Trans Comput 38(6):845–852 (1989)

    Google Scholar 

  4. Bertsekas DP, Tsitsiklis JN: Parallel and distributed computation. Prentice-Hall, New Jersey 1989

    Google Scholar 

  5. Chandy KM, Misra J: Parallel program, design: a foundation. Addison-Wesley 1988

  6. Dijkstra EW: The solution to a cyclic relaxation problem (1973) Reprinted in: Selected writings on computing: a personal perspective. Springer, Berlin Heidelberg New York 1982, pp 34–35

    Google Scholar 

  7. Dijkstra EW: Self-stabilizing systems in spite of distributed control. Commun ACM 17(11):643–644 (1973)

    Google Scholar 

  8. Gries D: The science of programming. Springer, Berlin Heidelberg New York 1981

    Google Scholar 

  9. Gouda MG, Evangelist M: Convergence response tradeoffs in concurrent systems. MCC Tech Rep #STP-124-89 (also subumitted to ACM TOPLAS)

  10. Grumberg O, Francez N, Makovsky JA, deRoever WP: A proof rule for fair termination of guarded commands. Inf Contr 66: 83–102 (1985)

    Google Scholar 

  11. Harary F: Graph theory. Addison-Wesley 1972

  12. Hoare CAR: Communicating sequential processes. Prentice-Hall International 1985

  13. Kohonen T: Self-organization and associative memory. Springer, Berlin Heidelberg New York 1984

    Google Scholar 

  14. Kung HT, Leiserson CE: Systolic arrays (for VLSI). In: Sparse Matrix Proc, 1978

  15. Lynch NA: I/O automata: a model for discrete event systems. Proc 22nd Annu Conf on Information Sciences and Systems, 1988

  16. Robert F: Discrete iterations — a metric study. Springer, Berlin Heidelberg New York 1986

    Google Scholar 

  17. Wolfram S: Theory and applications of cellular automata, advanced series on complex systems, vol. 1. World Scientific, 1986

Download references

Author information

Authors and Affiliations

Authors

Additional information

Anish Arora is currently completing his Ph.D. degree at the University of Texas at Austin, and has been working in the Software Technology Program at MCC since December 1988. Anish received a B.Tech. degree in Computer Science and Engineering from the Indian Institute of Technology, New Dehli in 1986, and an M.S. degree in Computer Sciences from the University of Texas at Austin in 1988. His research interests inclde fault-tolerance, distributed computing, program correctness, and semantics of concurrency.

Paul Attie is currently completing his Ph.D. degree of the University of Texas at Austin, and has been a member of technical staff in the Software Technology Program of the MCC since January 1990. Paul received a B.A. degree in Engineering Science from Oxford University in 1981, and an M.Sc. degree from the University of London in 1982. His research interests include distributed computing, temporal logic, and algebraic process theory.

Michael Evangelist received his Ph.D. in 1978 from Northwestern, where he did research in formal language theory, graph theory, logic, and computational complexity theory. He taught computer science at Colgate University and, in 1982, became a member of technical staff at Bell Labs and did research in software engineering. Three years later, he joined the Software Technology Program at MCC, where he spent five years working on theoretical and practical issues in the design of distributed systems. Evangelist now heads the Software Engineering Laboratory in the Chicago research center of Andersen Consulting.

Mohamed G. Gouda currently works on and teaches the stabilization of computing systems at the University of Texas at Austin. He designs “cute” communication protocols as a hobby, and proves them correct for fun.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Arora, A., Attie, P., Evangelist, M. et al. Convergence of iteration systems. Distrib Comput 7, 43–53 (1993). https://doi.org/10.1007/BF02278855

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Key words

Navigation