spacer
Sign in  Our people  Site map  About us  Contact us -->
spacer
Facebook
spacer
Twitter
spacer
Linked in
Google plus
spacer
Digg
spacer
Pinterest
spacer
Stumble Upon

spacer Concurrency and Distributed Systems

The language of Communicating Sequential Processes (CSP) is a powerful tool for understanding concurrent behaviour. It models parallel execution and inter-process communication, it supports a practical theory of correctness and refinement, and it is attractive and intuitive to use in specification.

Course dates

23rd November 2015Oxford University Department of Computer Science16 places remaining.

Objectives

At the end of the course, students will have a deeper understanding of concurrency. They will be better equipped to design and develop distributed systems.

Contents

Events and processes:
models of concurrency; representing communication and interaction; components and interfaces; behavioural and state-based specification; levels of abstraction.
Interaction:
state machines; internal and external choice; nondeterminism; safety and liveness constraints; algebraic properties; traces and refusals; process refinement.
Concurrency:
parallel combination; specifying interfaces; static alphabets; refinement in context; dynamic process creation and mobile code.
Abstraction:
changing levels of abstraction; mechanisms: interleaving, renaming, and hiding; abstraction and nondeterminism; encapsulation and refinement.
Communication:
shared channels; synchronous and asynchronous communication; modelling values and state; input and output; indexing and replication; data independence.
Sequential composition:
distributed termination; sequential composition of parallel components; abstract data types; processes and state; polling, interrupts, and timeouts.
Applications:
case studies and exercises, including: communication protocols; critical systems; caching algorithms; objects, classes, and threads.

Requirements

There are no prerequisites for this course, although some familiarity with discrete mathematics would be useful: Software engineering mathematics would be an ideal preparation.


gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.