EECS 219D, Fall 2011: Concurrent Models of Computation

This course covers the theory and practice of concurrent models of computation (MoCs) with applications to software systems, embedded systems, and cyber-physical systems modeling. Topics include analysis for boundedness, deadlock, and determinacy; formal semantics (fixed point semantics and metric-space models); and language design (type systems, higher-order components, structured design). The MoCs covered will vary and may include process networks, threads, message passing, synchronous/reactive, concurrent state machines, dataflow, rendezvous (e.g. CSP, CCS), time-triggered models, discrete-events, and continuous-time models. Compositions of MoCs, such as hybrid systems and Statecharts, may also be included. The course will include analysis of how MoCs are used in programming and modeling languages and will include experimental work with such languages.

The instructor is Professor Edward A. Lee,


Required reading includes:

The MoCs we will consider include:

We will study heterogeneous models, including hybrid systems. We will study how these MoCs are used in languages such as StreamIt, LabVIEW, Lustre/SCADE, Esterel, Signal, and Simulink. We will use Ptolemy II as an experimental framework. Applications to embedded systems design, cyber-physical systems (CPS) modeling, and parallel and distributed software will be considered. See also Previous offerings of this course