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, eal@eecs.berkeley.edu.
Required reading includes:
The MoCs we will consider include: