Not offered in 1999
6 points - 3 hours per week - Second semester - Caulfield - Prerequisites: SFT1102 or SFT2110, SFT2121
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