Abstraction mappings are one of the major tools used to construct correctness proofs for concurrent algorithms. Several examples are given of situations in which it is useful to allow the abstraction mappings to be multivalued. The examples involve algorithm optimization, algorithm distribution, and proofs of time bounds.


abstraction mapping mapping possibilities mapping safety property Alternating Bit Protocol transaction processing garbage collection distributed algorithms time bounds history variables 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Martin Abadi and Leslie Lamport. The existence of refinement mappings. Digital Equipment Corporation, TR No. 29, August 14,1988.Google Scholar
  2. [2]
    J. Aspnes, A. Fekete, N. Lynch, M. Merritt, and W. Weihl. A theory of timestamp-based concurrency control for nested transactions. In Proceedings of 14th International Conference on Very Large Data Bases, pages 431–444, Los Angeles, CA., August 1988.Google Scholar
  3. [3]
    H. Attiya and N. Lynch. Time bounds for real-time process control in the presence of timing uncertainty. April 1989. Submitted for publication.Google Scholar
  4. [4]
    K.A. Bartlett, R.A. Scantlebury, and P.T. Wilkinson. A note on reliable full-duplex transmission over half-duplex links. Communications of the ACM, 12, 1969.Google Scholar
  5. [5]
    Arthur Bernstein and Paul K. Harter, Jr. Proving real-time properties of programs with temporal logic. In Proceedings of the 8th Annual ACM Symposium on Operating System Principles, pages 1–11, ACM, 1981.Google Scholar
  6. [6]
    Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder. Grapevine: an exercise in distributed computing. Communications of the ACM, 25(4):260–274, April 1982.Google Scholar
  7. [7]
    B. Bloom. Constructing two-writer atomic registers. In Proceedings of 6th ACM Symposium on Principles of Distributed Computing, pages 249–259, Vancouver, British Columbia, Canada, August 1987. Also, to appear in special issue of IEEE Transactions on Computers on Parallel and Distributed Algorithms.Google Scholar
  8. [8]
    A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, and D. Terry. Epidemic algorithms for replicated database maintenance. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, pages 1–12, August 1987.Google Scholar
  9. [9]
    A. Fekete, N. Lynch, M. Merritt, and W. Weihl. Commutativity-based locking for nested transactions. In Proceedings of 3rd International Workshop on Persistent Object Systems, pages 113–127, Newcastle, Australia, January 1989. An extended version is available as Technical Memo, MIT/LCS/TM-370, Laboratory for Computer Science, MIT, Cambridge, MA, August 1988.Google Scholar
  10. [10]
    Joseph Y. Halpern and Lenore D. Zuck. A little knowledge goes a long way: simple knowledge-based derivations and correctness proofs for a family of protocols. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, pages 269–280, August 1987. A revised version appears as IBM Research Report RJ 5857, October, 1987.Google Scholar
  11. [11]
    Maurice Herlihy. Extending multiversion time-stamping protocols to exploit type information. IEEE Transactions on Computers, C-36(4):443–448, April 1987.Google Scholar
  12. [12]
    Simon S. Lam and A. Udaya Shankar. Protocol verification via projections. IEEE Transactions on Software Engineering, SE-10(4):325–342, July 1984.Google Scholar
  13. [13]
    Leslie Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems, 5(2):190–222, April 1983.CrossRefGoogle Scholar
  14. [14]
    J. Leo. Personal Communication.Google Scholar
  15. [15]
    M. Li and P.M.B. Vitanyi. Tape versus stacks and queue: the lower bounds. Information and Computation, 78:56–85, 1988.Google Scholar
  16. [16]
    N. Lynch and K. Goldman. Distributed Algorithms. MIT/LCS/RSS 5, Massachusetts Institute of Technology, Laboratory for Computer Science, 1989. Lecture notes for 6.852.Google Scholar
  17. [17]
    N. Lynch and M. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, pages 137–151, August 1987. Extended version in Technical Report MIT/LCS/TR-387, Lab for Computer Science, Massachusetts Institute of Technology, April 1987.Google Scholar
  18. [18]
    N. Lynch and M. Tuttle. An introduction to input/output automata. To be published in Centrum voor Wiskunde en Informatica Quarterly. Also in Technical Memo, MIT/LCS/TM-373, Lab for Computer Science Massachusettes Institute of Technology, November 1988.Google Scholar
  19. [19]
    Nancy A. Lynch. Concurrency control for resilient nested transactions. Advances in Computing Research, 3:335–373, 1986.Google Scholar
  20. [20]
    Robin Milner. A Calculus of Communicating Systems. Lecture Notes in Computer Science 92, Springer-Verlag, Berlin, 1980.Google Scholar
  21. [21]
    F. Modugno, M. Merritt, and M. Tuttle. Time constrained automata. November 1988. Unpublished manuscript.Google Scholar
  22. [22]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6(4):319–340, 1976.CrossRefGoogle Scholar
  23. [23]
    David P. Reed. Implementing atomic actions on decentralized data. ACM Transactions on Computer Systems, 1(1):3–23, February 1983.CrossRefGoogle Scholar
  24. [24]
    S.K. Sarin, B.T. Blaustein, and C.W. Kaufman. System architecture for partition-tolerant distributed databases. IEEE Trans. Comput., C-34, December 1985.Google Scholar
  25. [25]
    R. Schaffer. On the correctness of atomic multi-writer registers. Bachelor's Thesis, June 1988, Massachusetts Institute Technology. Also, Technical Memo MIT/LCS/TM-364.Google Scholar
  26. [26]
    F. Schneider. Personal Communication.Google Scholar
  27. [27]
    J.L. Welch, L. Lamport, and N. Lynch. A lattice-structured proof technique applied to a minimum spanning tree algorithm. In Proceedings of the 7th Annual ACM Symposium on Principles of Distributed Computing, pages 28–43, Toronto, Canada, August 1988. Expanded version in Technical Memo, MIT/LCS/TM-361, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA, June 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Nancy A. Lynch
    • 1
  1. 1.Laboratory for Computer ScienceMITCambridge

Personalised recommendations