CSC419: Introductory Process algebras 6 credits (40-15-5)

Objectives

This course provides a cursory overview of concepts and approaches to process semantics as a means to capture computational behaviour, but prefers an intuitive understanding over mathematical rigour, while exposing the student to various application areas.

Contents

A) Introductory background notions: Overview of operational, axiomatic, denotational and algebraic semantics; domain/lattice theory. Equational theories/term rewriting systems. Systems and systems properties. Theory of processes. Behaviour and states: Interactions, communication, concurrency, reactivity, etc.. Category theoretic notions, proof theory and mathematical models; Algebras, coalgebras and related algebras (e.g., bialgebras); induction and co-induction.

B) Process semantics: Early process algebras: Petri-nets, calculus of communicating systems (CCS); Communicating sequential processes (CSP), Algebra of Communicating Processes (ACP). Modal logic. More recent process algebras: Pi calculus, ambient calculus, PEPA, etc.; Bisimulation, model checking, transition systems. Behavioural equivalence. Category theory; initial and final semantics, algebraic and coalgebraic semantics.

C: Applications: e.g., Process specification, phenomena descriptions; semantics, correctness and safety of processes; network protocol; etc.

Prerequisite:

CSC 209; CSC 301. Cannot be taken with CSC 417