B629: Languages for Programming the Web
Project 6: Wildcard


We've covered a number of concrete programming frameworks, theoretical models, issues, and questions. This project is a chance for you to focus your attention on an area that particularly interests you.


  1. The choice of topic is yours. The only constraints are:


Here are some possible ideas to get you started.
  1. Implement the spi-calculus and experiment with encoding some additional authentication protocols from the literature.
  2. Build a simple (nondistributed) implementation of the Ambient calculus and use it to experiment with variations on the example programs given in the Ambit paper.
  3. Build a distributed implementation of the Ambient calculus on top of some mobile agent framework. (Can you treat real internet firewalls as ambients, as Cardelli and Gordon suggest?)
  4. Explore algorithms for implementing join-calculus-like locations and/or channels on a large-scale distributed network.
  5. Use the existing join-calculus implementation to implement a mobile agent application. Compare its facilities with those offered by Aglets for the task you've chosen.
  6. Explore another domain of mobile agent application programming (e.g. "itinerant search agents," etc.).


  1. Up to you, but should definitely include:
    1. A carefully written design document
    2. A running demo
  2. Please make sure that your project is self-contained, easy to navigate, and independent of the local IU computing base. (It would be good to provide an HTML cover page with instructions for the demo.)

Submission Procedure

Same as usual.

Due date

The project is due at midnight on the 15th of December.

B629: Languages for Programming the Web
Benjamin Pierce (pierce@cs.indiana.edu)