In the context of the CHORUS project, we have developed utool, the Swiss Army Knife of Underspecification. Utool solves underspecified descriptions in various formalisms, using the fastest currently (2005) known underspecification solver. It will also convert between different formalisms for scope underspecification, solve underspecified descriptions efficiently, and perform some utility tasks such as a net test. It is implemented in Java.

utool can be obtained from its own home page.

Talking Lego Robots

In 2002 and 2004, Geert-Jan Kruijff and I supervised student teams who built talking robots from Lego Mindstorms. These were robots built from ordinary Lego bricks which were connected to a dialogue system and speech recognition and synthesis software on a PC. They worked really well, and were covered by various newspapers and on radio and TV.

My primary contribution to the project was the integration of the dialogue system, speech software, and robot control programs. I can't make the software publically available here because it's badly documented and the speech and dialogue software we used are proprietary systems, but I mean to go back and replace these by open-source components once I have the time. In the meantime, you can have a look at the final projects from 2002 and 2004.


FrOz is an engine for text adventure games that is based on technologies from computational linguistics and theorem proving. It runs a dependency parser to analyse the player's input, a TAG generation system to compute output to be shown to the player, and the Racer description logic system to keep track of the world. It is implemented in Oz.

FrOz is available from its own webpage. Note that this was a programming project for students, so I'm not responsible for the quality of the code. :) But it works.