Although µCode has been publicly released on a Web page only in September 2000, the first working release has been in development since 1998. During this time span, µCode has been used in several projects, that have provided valuable feedback in understanding whether its features and mechanisms are appropriate, and for debugging purposes.
The Avican project was the first one to use µCode. Avican is a proof-of-concept videoconference server that is able to adapt to network conditions by migrating itself across the net. Thus, for instance, it can migrate trying to stay as close as possible to the baricenter of the connected clients, in order to minimize latency. Using code mobility, the portion of the videoconference server dispatching the packets belonging to the conference stream can be customized dynamically by the user.
When I was on the faculty of the Department of Computer Science, at Washington University in St. Louis, I thought a laboratory course on "Special Topics in Distributed Systems (CS333)" that encompassed also code mobility. Students developed applications using µCode, and their feedback was probably the most valuable I ever received.
µCode has been also used successfully in combination with communication
packages developed independently, namely with the Lime and Jedi middleware (that
will soon be released on the Web). Lime,
developed at Washington University, is a middleware that provides coordination
among physical and logical mobile units using tuple spaces. Jedi,
developed at Politecnico di Milano, is a middleware based on the
publish-subscribe paradigm. The guys who used Jedi together with µCode developed a distributed agenda
application using mobile agents and event dispatching.
Notably, in both cases no modification was necessary to make µCode
interoperate with these packages.
Finally, the European Union's Esprit Project MOTION, concerned with the realization of a distributed and mobile teamwork infrastructure, is currently considering using µCode to provide code mobility and mobile agents within its architecture.