School of Computing

Module details

CO538 Concurrency Design and Practice (15 credits)

Syllabus

This module provides an introduction to concurrency and parallel programming in general. The CSP model of concurrency is the core of this module, primarily presented through the occam-pi multiprocessing language and additionally using the JCSP library for Java.

  • Parallel programming: processes, channels, alternation, barriers, CREW principle, types, variables and computation.
  • Building concurrent systems: components, layered networks and modularity.
  • Semantic aspects of concurrent programming: security-issues, race-hazards, deadlock, livelock, starvation and non-determinism.
  • Design methodologies for deadlock, livelock and starvation-free systems.
  • Performance of concurrent systems (including the efficient exploitation of multi-core processors).
  • Applications of concurrency for: robotics, embedded-systems, networking, complex system modelling, graphics and hardware design.
  • Implementation of concurrent systems in natively sequential languages, comparing the use of specialised concurrency models (e.g. CSP) with a standard threads-and-locks model.

Note

This web page provides advance information about a module due to run in the coming academic year. We believe the details are accurate at the time of writing but they may be subject to change.

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 13/01/2010 16:10