Theory of Processes CMSC 721 Spring, 1990 Course Syllabus Instructor: Howard E. Motteler Class Time: TuTh 5:30-6:45, CP 206 Office Hours: TuTh 3:45-4:30, also after class Text: Algebraic Theory of Processes, M. Hennessey, MIT Press, 1988. I. Introduction: What is a theory of processes? We begin with some very basic questions: What is a process? What is the relationship between machines, distributed systems, etc., and formal models? What is the relationship between parallelism, concurrency, and non-determinism? What are the applications of a theory of processes? The course attempts to answer these and many other related questions. II. An Algebraic Theory of Processes The Hennessey text directly or indirectly cover much earlier work in the theory of processes, including models such as Milner's CCS and Hoare's CSP. It provides a solid formal foundation for discussing theories of processes. The following topics will be covered (essentially, the entire text): (0) EPL: an example language for describing processes (1) An introduction to equational logic (universal algebra) (2) Testing Processes (3) Continuous Algebras (4) Recursive Processes (5) Communicating Processes III. Dataflow Models of Computation (1) An introduction to Fixpoint theory (2) Dynamic dataflow (a) semantics and applications of fixpoint theory (b) semantics with non-deterministic operators (3) Static dataflow (a) relation to Petri nets and vector addition machines (b) the TFG model; theorems about static dataflow IV. Fairness (1) definitions of fairness (2) fairness in different models V. Other models of parallel computation (1) Hewett's Actors (2) "ad hoc" parallel languages Grading: If the class is not too large, the grades will be based on problem sets, to be given approximately every two weeks. Students may also be asked to write short (max 2 page) reviews of one or two relevant papers. Note: Students who are not used to thinking about concurrent processes are encouraged to sit in on the occam programming class. (occam is an implementation of CSP.) The occam class meets TuTh, at 2:30, in ACIV, rm 016.