Semantics of Mobile Agents
The pi-calculus provides a simple yet powerful foundation for studying the semantics of mobile computation. Its power arises from a uniform treatment of mobility: the movement of data inside a program is modeled in the same way as the movement of a program across a network. Possessing a small number of simple primitives, the pi-calculus provides a rich theory for expressing and understanding a variety of programming idioms, such as functional programming, object-oriented programming, and (of course) mobile computation. The pi-calculus and related calculi have been used as foundations for the design of high-level distributed programming languages and for the description and analysis of cryptographic protocols.
In this course, we will study the pi-calculus, its theory, and some of its applications, such as its use for describing and analyzing cryptographic protocols. Grades will be based on regular assignments and class participation, possibly including student-led discussions or informal presentations.