Objectives
Learning about algebraic methods in the field of concurrency or grid theory: specification languages, modelling of processes, and distributed algorithms.
Contents
Elementary process algebra, program algebra and thread algebra. Process algebra is an algebraic approach suitable for the specification and analysis of parallel, communicating systems: (concurrent) behavior can be expressed in process expressions and is subject to forms of algebraic reasoning, e.g., one can either prove or falsify that the implementation of a concurrent system satisfies after abstraction its specification. We will analyze a distributed algorithm (e.g., a leader election protocol). In program algebra (contrary to process algebra) one considers aspects of the form of programs that are not preserved after abstraction to behavior, such as programs with go-to instructions. This is meaningful in the study of program transformations that occur, for instance, in programming languages with multi-threading. Finally, we shortly consider thread algebra as a natural semantics for program algebra.
Registration at
Registration for courses is mandatory, but will be done by the Education Service Centre for the 1st year MSc students for courses of the first semester. See also
http://www.student.uva.nl and choose your master and then 'New procedure 'Registration for courses Faculty of Science'.
Format
Lectures, working sessions and lab sessions.
Study materials
Research papers and other written material (provided at the Blackboard site of the course).
Assessment
Written exam and judgement of submitted work.
|