|
MOVES: Software Modeling and Verification
(Informatik 2)
|
Programming Concurrent Systems
Fall 2001
Study programmes: Diplomstudiengang Informatik,
Master Programme Software Systems Engineering
Overview
This two-hour course provides an introduction to distributed programming
techniques. It is tailored to Erlang, a concurrent functional
language which is designed for implementing distributed and
fault-tolerant telecommunication software. Besides the basic programming
constructs, concepts for managing networks of processes, for asynchronous
communication, and for automatic recovery from errors will be
discussed. Moreover we present approaches to the formal verification
of correctness properties.
Schedule
Lecture: Thursday, 10:00-11:30am, AH IV
(on January 24th, 2002: AH VI)
Exams
please see this slide
Resources
-
G. Coulouris, J. Dollimore, T. Kindberg:
Distributed Systems: Concepts and Design, 3rd edition,
Addison-Wesley, 2001
(Online material is available
here.)
Covers the introductory parts of the lecture where general
characteristics and concepts of distributed systems are discussed.
-
J. Armstrong, R. Virding, M. Williams:
Concurrent Programming in Erlang, 2nd edition,
Prentice Hall, 1996
(The first part is available
here.)
Forms the basis of the practical parts of the lecture:
the syntax and the intuitive meaning of programs,
concrete programming techniques, and implementation
aspects.
-
L.-Å. Fredlund:
A Framework for Reasoning about Erlang Code, PhD thesis,
Royal Institute of Technology (KTH), Stockholm, Sweden
(Available here.)
Contains the theoretical material of the lecture, which is
presented in Section 3 of the thesis: transition systems,
the expression-level and system-level rule systems, and their
properties.
-
M. Felleisen, R. Hieb:
The Revised Report on the Syntactic Theories of Sequential
Control and State, Rice University Technical Report No. 100-89
(Available
here.)
Introduces the concept of reduction contexts, which is
exploited in the lecture to simplify the presentation of the
structural operational rules.
-
M. Castro:
Erlang
in Real Time
Concentrates on the real-time aspects of the language. Not
directly considered in the lecture.
-
Commercial Erlang/OTP web page
-
Open Source Erlang web page
-
Erlang installation at the Computer Science workstation pool
|