Skip to:Content
|
Bottom
Cover image for Programming distributed computing systems : a foundational approach
Title:
Programming distributed computing systems : a foundational approach
Personal Author:
Publication Information:
Cambridge, MA : The MIT Press, 2013.
Physical Description:
xvi, 271 p. : illustration ; 24 cm.
ISBN:
9780262018982

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010340978 QA76.9.D5 V37 2013 Open Access Book Book
Searching...
Searching...
30000010285199 QA76.9.D5 V37 2013 Open Access Book Book
Searching...

On Order

Summary

Summary

An introduction to fundamental theories of concurrent computation and associated programming languages for developing distributed and mobile computing systems.

Starting from the premise that understanding the foundations of concurrent programming is key to developing distributed computing systems, this book first presents the fundamental theories of concurrent computing and then introduces the programming languages that help develop distributed computing systems at a high level of abstraction. The major theories of concurrent computation--including the π-calculus, the actor model, the join calculus, and mobile ambients--are explained with a focus on how they help design and reason about distributed and mobile computing systems. The book then presents programming languages that follow the theoretical models already described, including Pict, SALSA, and JoCaml. The parallel structure of the chapters in both part one (theory) and part two (practice) enable the reader not only to compare the different theories but also to see clearly how a programming language supports a theoretical model.

The book is unique in bridging the gap between the theory and the practice of programming distributed computing systems. It can be used as a textbook for graduate and advanced undergraduate students in computer science or as a reference for researchers in the area of programming technology for distributed computing. By presenting theory first, the book allows readers to focus on the essential components of concurrency, distribution, and mobility without getting bogged down in syntactic details of specific programming languages. Once the theory is understood, the practical part of implementing a system in an actual programming language becomes much easier.


Author Notes

Carlos A. Varela is Associate Professor in the Department of Computer Science at Rensselaer Polytechnic Institute.


Reviews 1

Choice Review

This book provides a very gradual yet thorough illustration of concurrent programming theory and methods. The concepts are defined univocally and precisely, and the theoretical parts of the volume are very approachable. Varela (Rensselaer Polytechnic Institute) made a deliberate choice to present the content using a gradual learning curve. This choice benefits general self-learners the most, but it will also be appreciated by senior undergraduate students looking to learn distributed computing and its theoretical underpinnings. As a result, the book's audience is broader than expected. There is a successful mix of theory and practice, although the proportions vary for each chapter. A number of engaging and sometimes challenging exercises round out the 11 chapters. The online supplement is useful since it contains all the code in the book in downloadable form. The text's accessibility, methodical presentation style, wealth of examples, and online supplement make Programming Distributed Computing Systems a valuable resource for advanced students and practitioners. Summing Up: Highly recommended. Upper-division undergraduates, graduate students, researchers/faculty, and professionals/practitioners. L. Benedicenti University of Regina


Table of Contents

Gul Agha
Forewordp. ix
Prefacep. xi
Acknowledgmentsp. xv
1 Introductionp. 1
2 ¿ Calculusp. 11
I Theoretical Models of Concurrency, Distribution, and Mobilityp. 33
3 ¿ Calculusp. 37
4 Actorsp. 59
5 Join Calculusp. 79
6 Ambient Calculusp. 95
7 Formalizing Concurrency, Distribution, and Mobilityp. 111
II Programming Languages for Distributed and Mobile Computingp. 139
8 Programming with Processesp. 145
9 Programming with Actorsp. 165
10 Programming with Join Patternsp. 205
11 Social Networking Examplep. 223
Referencesp. 259
Indexp. 267
Go to:Top of Page