A New Model for Web-Based Executable Code

Georgia Tech College of Computing Faculty Fellowship Award Proposal

Mark Guzdial


Current models for executable code based on Web pages (e.g., Java, SafeTcl, Python applets in Grail) are at the wrong level in comparison with what real use is. All of the existing models provide a virtual machine model that is comparable to any non-Web-based processor or language model. This flexibility allows us to have, for example, a word-processor or spreadsheet program built into a Java applet. There are two significant problems with this approach:


I propose to develop a new virtual machine for network distributable executable code, which we are calling the MuVM.

How This Is Different Than What I've Done Before

In the last year, my work in computer-supported collaborative learning environments has led me to work at more infrastructure building than I have previously. For example, my current environments (e.g., CoWeb/Swiki) are built on a Webserver that I have built myself. One of these new kinds of environments allows students to easily place executable code on the server (an "Active Swiki"), to allow for sharing of interactive multimedia documents (such as graphical simulations). The problems that we have faced are all the traditional problems of distributable code, but at a different level. For example, security is a problem, but not from "hacker attacks." Students are rarely malicious in the "Active Swiki", but because they are students, they make mistakes which often result in Denial of Service problems, such as infinite loops or consuming too much memory. These results led to an investigation of current models for distributable code, and the determination that the current models are inadequate for these relatively common purposes.

Thus, this work will lead me much more deeply into issues of Systems and Information Security than I have previously.


We do believe that there will be opportunities for greater funding of this project, once an initial VM is completed and proof-of-concept prototype can be demonstrated.