CS 536S - Distributed Systems Design (FL '03)
(Formerly CS 576S)
Dr. Catalin Roman


Class notes on certain topics are now available here.


Class Information

Instructor : Catalin Roman (935-6132)
   roman@wustl.edu
Meeting Time : M-W 5:30 P.M. - 7:00 P.M.
Location : Cupples II 202
Prerequisites : Senior or graduate standing
Credit : 3 units
Textbook : Selected articles (subject to change)
Grading : They are assigned based on the   homework alone. In order to obtain a   passing grade, all homework must be   completed. No late homework is   accepted without instructor’s   permission as solutions are discussed   in class. All homework must be   typeset.
Newsgroup : wu.cs.class.536


Overview


Concurrency and communication
Mobile computing
Security
Real-time processing
Multimedia computing


Modern computing environments are highly distributed. This has been the result of major advances in networking technology and their rapid assimilation by a society that functions in a highly distributed and decentralized manner. The goal of this course is to familiarize students with basic concepts, models, and languages that shaped recent developments in distributed computing. The focus is on exploring new ways of thinking about computing and communication that made the development of distributed software systems possible. Competing concepts and design strategies will be examined both from a theoretical and a practical perspective. The course starts with a review of a broad range of models of concurrency and gradually shifts attention to specialized areas of growing import to the computing field, e.g., real-time processing, security, and multimedia. The emerging field of mobile computing will receive special coverage throughout the course.


Homeworks

Homeworks will be assigned in class. They will be due in class, and the due date will be determined when the homework is handed out. All homeworks must be completed in order to pass the class. All homeworks must be typeset.

[List of assigned homeworks]


Syllabus

Concurrency and Communication

1. Shared Variables

* Andrews, G. R., Concurrent Processing: Principles and Practice, Benjamin/Cummings Pub. Co., 1991. (ch. 2-6)

* Homework #1

2. Message Passing

* Andrews, G. R., Concurrent Processing: Principles and Practice, Benjamin/Cummings Pub. Co., 1991. (ch. 7-8)

* Bernstein, A. J., "Output Guards and Nondeterminism in 'Communicating Sequential Processes'," TPLS 2, No. 2., April 1980, pp. 234-238.

* Homework #2


3. Remote Procedure Call

* Andrews, G. R., Concurrent Processing: Principles and Practice, Benjamin/Cummings Pub. Co., 1991. (ch. 9)

* Liskov, B., An Overview of the Argus Language and System, MIT Technical Memo, 1984.

* Homework #3

4. Shared Dataspace (Linda, UNITY, Swarm)

* Cunningham, H. C., Roman, G.-C., and Plun, J. Y., "Assertional Reasoning about Dynamic Systems," Parallel Computations: Paradigms and Applications, Zomaya, A. Y., (editor), Chapman & Hall (London, UK).

* Homework #4

5. I/O Automata

* Lynch, N. A., and Tuttle, M. R., "An Introduction to Input/Output Automata," MIT Technical Memo MIT/LCS/TM-373, Nov. 1988.

* Homework #5

6. CSP

* Olderog, E.R., and Hoare, C. A. R., "Specification-Oriented Semantics for Communicating Porcesses," Acta Informatica 23, 1986, pp. 9-66.

* Homework #6


7 . Petri nets

* Peterson, J. L., "Petri Nets," Computing Surveys 9, No. 3, Sept. 1977, pp. 223-252.

* Homework #7

8. Object-Oriented Models (Actors)

* Lieberman, H., "Concurrent Object-Oriented Programming in Act 1," Object-Oriented Programming, Yonezawa, A., and Tokoro, M., (editors), MIT Press, 1987, pp. 9-36.

* Agha, G., and Hewitt, C., "Concurrent Programming Using Actors" Object-Oriented Programming, Yonezawa, A., and Tokoro, M., (editors), MIT Press, 1987, pp. 37-53.

* Homework #8

9. Data flow

* Davis, A. L., and Keller, R. M., "Data Flow Program Graphs," Computer 15, No. 2, 1984, pp. 26-41.

* Homework #9

10. Logic programming

* Clark, R. L., "Parallel Logic Programming," Computer Journal 33, No. 6, 1990, pp. 482-493.

* Homework #10




Mobile Computing (subject to change)

11. Research issues in wireless information systems

* Katz, R. H., "Adaptability and Mobility in Wireless Information Systems," IEEE Personal Communications, First Quarter, 1994, pp. 6-17.

* Imielinski, T., and Badrinath, B. R., "Mobile Wireless Computing: Solutions and Chalanges in Data Management," Technical Report, Rutgers University. Short version published in CACM 37, No. 10, October 1994, pp. 18-28.

* Homework #11


Security (subject to change)

12. High-water mark, access matrix, information flow, etc.

* Landwehr, C. E., "Formal Models of Computer Security," Computing Surveys 13, No. 3, September 1981, pp. 248-278.

* Homework #12

 


Real-time Processing (subject to change)

13. Reasoning about real-time behavior

* Alur, R., and Henzinger, T. A., "Logics and Models of Real-Time," (de Bakker et al, editors), LNCS 600, 1992, SpringerVerlag, pp. 74-106.

* Homework #13



Multimedia Computing (subject to change)

14. Hypermedia models and issues

* Halsz, F., and Schwartz, M., "The Dexter Hypertext Reference Model," CACM 37, No. 2, February 1994, pp. 30-39.

* Grønbæk, K., and Trigg, R. H., "Design Issues for a Dexter-Based Hypermedia System," CACM 37, No. 2, February 1994, pp. 40-49.

* Hardman, L., Bulterman, D. C, A., and van Rossum, G., "The Amsterdam Hypermedia Model: Adding Time and Context to the Dexter Model," CACM 37, No. 2, February 1994, pp. 50-62.

* Grønbæk, K., Hem, J. A., Madsen, O. L., and Sloth, L., "Cooperative Hypermedia Systems: A Dexter-Based Architecture," CACM 37, No. 2, February 1994, pp. 64-74.

* Homework #14