A key challenge of modern programming language design is to provide tools that will allow software engineers to develop robust, flexible, concurrent, and distributed applications. Moreover, communication is a fundamental and integral part of computation, whether between different computers on a network, or between components within a single computer.
The aim of this seminar is to discuss issues of modern application development with the special focus on communication, concurrent computation, and the pi-calculus.
The pi-calculus (see Part 1, Part 2) is formal model for concurrent computation, in which the topology of communication can evolve dynamically during evaluation. The pi-calculus is an extension of the process algebra CCS, following the work by Engberg and Nielsen, who have added mobility to CCS while preserving its algebraic properties.
The seminar is self-contained, that is, no prerequisites are needed for computer science graduate students. There will be a tutorial on the pi-calculus based on a paper of Joachim Parrow.
A tentative list of papers for the seminar is as follows:
Other papers may be added if time permits. Participants are also welcome to suggest papers.
You can sign up for 1 credit if you like by registering for course 610 ML. You can also attend without registering if you wish. Students who are registered for credit will be expected to present a paper by leading the discussion on it. Students registered for credit will also be expected to be active in reading papers and participating in discussions. (Grading is S/F only, of course.)
We meet at 10:00-10:50 on Friday mornings, in 217 Atanasoff Hall, beginning this Friday. If you plan to attend, please send email to Markus Lumpe. Let us know if you have a conflict with the planned time but would still like to attend.