Not offered in 1999
4 points - 3 hours per week - Second semester - Caulfield -
Prerequisites: SFT2207
Objectives At the completion of this subject student should know the characteristics of concurrent and parallel systems; know the different paradigms of concurrent programming; and be able to program concurrent systems and master resource access control.
Synopsis The subject teaches the principles and practices of concurrent programming and their significance in high-performance software systems development. The main themes are: concurrency and synchronisation, safety and liveness properties, shared variables, critical sections, semaphores, monitors, message passing (asynchronous, remote procedure calls, rendezvous, tuple space), UNITY model, Java multi-threading and synchronisation concurrent object-oriented programming, concurrent resource access control in databases and UNIX.
Assessment Examination: 60% - Practical work: 40%
Prescribed texts
Andrews G R Concurrent programming: Principles and practice Benjamin-Cummings, 1991
Recommended texts
Agha G Actors, a model of concurrent computation in
distributed systems MIT Press, 1986
Burns A and Davies G Concurrent programming Addison-Wesley, 1993
Carriero N and Gelernter D How to write parallel programs: A first
course MIT Press, 1991
Chandy K M and Taylor S An introduction to parallel programming Jones
and Bartlett, 1992