University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Concurrency:  2011-2012

Information

Lecturer

Degrees

Part A CoreComputer Science

Part AMathematics and Computer Science

Schedule AMSc in Computer Science

MSc in Mathematics and Foundations of Computer Science

Term

Overview

Computer networks, multiprocessors and parallel algorithms, though radically different, all provide examples of processes acting in parallel to achieve some goal. All benefit from the efficiency of concurrency yet require careful design to ensure that they function correctly. The concurrency course introduces the fundamental concepts of concurrency using the notation of Communicating Sequential Processes. By introducing communication, parallelism, deadlock, live-lock, etc., it shows how CSP represents, and can be used to reason about, concurrent systems. Students are taught how to design interactive processes and how to modularise them using synchronisation. One important feature of the module is its use of both algebraic laws and semantic models to reason about reactive and concurrent designs. Another is its use of FDR to animate designs and verify that they meet their specifications

Learning outcomes

At the end of the course the student should: 

Synopsis

Syllabus

Deterministic processes: traces, operational semantics; prefixing, choice, concurrency and communication. Nondeterminism: failures and divergences; nondeterministic choice, hiding and interleaving. Further operators: pipes and (time permitting) sequential composition. Refinement, specification and proof. Process algebra: equational and inequational reasoning.

Reading list

 

Course Text:

Alternatives:

Overheads: can be found on the UCS Teaching Materials page.

Related research at the Department of Computer Science

Activities