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.
Assignment
The choice of topic is yours. The only constraints are:
It should have some connection with what we've looked at in
class, obviously.
It should ideally include an interesting design component.
It should definitely involve building something.
Ideas
Here are some possible ideas to get you started.
Implement the spi-calculus and experiment with encoding some
additional authentication protocols from the literature.
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.
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?)
Explore algorithms for implementing join-calculus-like locations
and/or channels on a large-scale distributed network.
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.
Explore another domain of mobile agent application programming
(e.g. "itinerant search agents," etc.).
Deliverables
Up to you, but should definitely include:
A carefully written design document
A running demo
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.