One area for improvement is the architecture's XML message passing. The message passing architecture is in place, but the vocabulary to which the toolkit is responsive could be improved to support two-way communication. Also, the ability for particular agents to extend the vocabulary of the XML Executor module would enhance the toolkit's usability. For example, currently the monitoring agents which send information to Calvin function as independent programs. If they could be made to respond to commands specified in XML such as ``stop monitoring,'' or ``return status,'' a control panel could be added to Calvin's user interfaces to control all the agents from one central panel.
Finally, a Java-based client database system would increase Calvin's distributability. Such a database system would relieve Calvin's reliance on a separate database server. This would increase the processing burden on the client workstations, but would provide a more compact software package. Existing products, such as InstantDB (http://instantdb.enhydra.org) do not have enough functionality to be useful yet for Calvin, although they are getting close.