Distributed Programming

Theory and Practice

  • A. Udaya Shankar

Table of contents

  1. Front Matter
    Pages i-xviii
  2. A. Udaya Shankar
    Pages 1-39
  3. A. Udaya Shankar
    Pages 41-61
  4. A. Udaya Shankar
    Pages 63-87
  5. A. Udaya Shankar
    Pages 89-110
  6. A. Udaya Shankar
    Pages 111-139
  7. A. Udaya Shankar
    Pages 141-171
  8. A. Udaya Shankar
    Pages 173-189
  9. A. Udaya Shankar
    Pages 191-206
  10. A. Udaya Shankar
    Pages 207-212
  11. A. Udaya Shankar
    Pages 213-224
  12. A. Udaya Shankar
    Pages 225-229
  13. A. Udaya Shankar
    Pages 231-247
  14. A. Udaya Shankar
    Pages 249-253
  15. A. Udaya Shankar
    Pages 255-267
  16. A. Udaya Shankar
    Pages 269-275
  17. A. Udaya Shankar
    Pages 277-298
  18. A. Udaya Shankar
    Pages 299-303
  19. A. Udaya Shankar
    Pages 305-312
  20. A. Udaya Shankar
    Pages 313-320
  21. A. Udaya Shankar
    Pages 321-340
  22. A. Udaya Shankar
    Pages 341-369
  23. Back Matter
    Pages 371-383

About this book


Distributed Programming: Theory and Practice presents a practical and rigorous method to develop distributed programs that correctly implement their specifications. The method also covers how to write specifications and how to use them. Numerous examples such as bounded buffers, distributed locks, message-passing services, and distributed termination detection illustrate the method. Larger examples include data transfer protocols, distributed shared memory, and TCP network sockets.

Distributed Programming: Theory and Practice bridges the gap between books that focus on specific concurrent programming languages and books that focus on distributed algorithms.  Programs are written in a "real-life" programming notation, along the lines of Java and Python with explicit instantiation of  threads and programs.  Students and programmers will see these as programs and not "merely" algorithms in pseudo-code.  The programs implement interesting algorithms and solve problems that are large enough to serve as projects in programming classes and software engineering classes. Exercises and examples are included at the end of each chapter with on-line access to the solutions.

Distributed Programming: Theory and Practice is designed as an advanced-level text book for students in computer science and electrical engineering.  Programmers, software engineers and researchers working in this field will also find this book useful.


Assertional reasoning Compositional construction Distributed programs Distributed shared memory Implementing services Instantiating programs Instantiating threads Multi-threaded programs Network protocols Program correctness Services Specifications Using services

Authors and affiliations

  • A. Udaya Shankar
    • 1
  1. 1., Department of Computer ScienceUniversity of MarylandCollege ParkUSA

Bibliographic information

  • DOI
  • Copyright Information Springer Science+Business Media New York 2013
  • Publisher Name Springer, New York, NY
  • eBook Packages Computer Science
  • Print ISBN 978-1-4614-4880-8
  • Online ISBN 978-1-4614-4881-5
  • Buy this book on publisher's site
Industry Sectors
Materials & Steel
Finance, Business & Banking
IT & Software
Consumer Packaged Goods
Energy, Utilities & Environment
Oil, Gas & Geosciences