I have read Matthew Conway's dissertation and it appears that previous versions of Alice used C/C++ and Python. But when I downloaded the source code for Alice 2.0, it looks like all Java files. Has there been an overhaul in Alice's system architecture?

First, I'm thrilled to see someone taking the time to read Matt's dissertation!

Yes, the Architecture of Alice has changed many times, as the team has rewritten it at various points. The system is - for all practial purposes - written entirely in Java at this point, primarily because we wanted the cross platform ability, as well as the libraries and the speed+garbage collection.

The Alice team has a very high regard for python, and has used it extensively in the past.