Professional Documents
Culture Documents
Page 1 of 3
Restoration of SHRDLU
Phase III
ProjectPlan January 25, 2000 Overview
SHRDLU is a program that manipulates a virtual "block world," and interfaces with the user in English conversation. SHRDLU was written almost 30 years ago, in a now-obsolete language (MACLISP), to run on a now-obsolete system, and as such has been relegated to the texts of Philosophy and Computer Science, where it provides a remarkable example of "intelligence" through the understanding of natural language. The goal of this project is to "breathe life" into SHRDLU, by porting it to a modern language that will run on a variety of systems. Additionally, the edition will be re -released as free software so that additions and other ports may be made. By doing this, we will have recovered not only a valuable historical artifact, but also a wonderful learning tool.
Requirements
Our project contact, Dr. Carol Ann Smith, set the project requirements. It is her goal to have a working copy that she can demonstrate to her philosophy students. While this seems to be a simple concept on the outside, it contains several intrinsic requirements. In order to be usable by all of her students, now and in the future, it needs to be written in a widely and freely available language. Additionally, it needs to be released under a public license to ensure that her students will be able to use it at school or at their homes. Also, it will need to be usable on the general purpose UNIX machines and in the labs in the Humanities -Social Sciences building. For this reason, our port will run on HP -UX and Windows NT/9x.
Note that these two operating systems are not exclusive, due to the portable nature of the language we are choosing, the ported Shrdlu should be able to run on any system that supports GNU Common LISP and Java.
Current State
During the first semester of work on SHRDLU, a tremendous amount of knowledge about SHRDLU was gathered. As the work progressed, project members saw more and more how complex the system was, but the focus was on a straightforward porting of MACLISP operations to their LISP equivalents. It seemed most important to turn the source completely into LISP, even if it was not "correct." Once this was done, testing could provide valuable clues as to how to port more "correctly." Unfortunately, SHRDLU's various components are very "entangled," with each component depending heavily on many of the others. Our assumption that we could port SHRDLU with minimal knowledge of how the system worked proved to be costly. By the conclusion of the first phase, a few isolated pieces of the source could be compiled by our LISP interpreter. MicroPlanner, which is actually considered a separate language, was by far the most independent piece of the puzzle, and thus proved the most testable. Even still, it was far from "functional." The next most independent component is Programmar, also considered a language in its own right. Programmar is a tool by which english grammar can be parsed into a form from which meaning can be more readily extracted. Since the start of the second phase of the project, Programmar has been brought to a point beyond that of MicroPlanner. It (with the help of other components) can now accept many English sentences and successfully output MicroPlanner code. The MicroPlanner code is also parsed correctly in most instances to result in a mostly -functional system. There remains some major bugs in the system, however. Such as the parsing of some forms of questions, and the functionality of the history database.
http://web.umr.edu/~shrdlu/project_plan.html
8/16/2004
SHRDLU
Page 2 of 3
Mid March:
l l l
Fully functional English parsing, with semantics enabled. Combined testing: asking of English questions about the state of the world, or commands to manipulate that world. Begin integration of Java web or client/server implementation.
Remaining time:
l
Integration of the remaining components into a fully interactive system with Java front-end.
http://web.umr.edu/~shrdlu/project_plan.html
8/16/2004
SHRDLU plnr progmr setup show smass smspec smutil syscom thtrac MACLisp MACLisp LISP MACLisp MACLisp MACLisp MicroPlanner MACLisp MicroPlanner 2400 MicroPlanner Interpreter 500 Programmar Interpreter 250 Init files for SHRDLU 1000 Show -Tell program 100 semantic utilities 1000 semantic specialists 1200 semantic utilities 600 toplevel utility funtions 200 planner system functions
Page 3 of 3
This document was revised and adapted from the original "Porting SHRDLU" written by Matthew Fischer
http://web.umr.edu/~shrdlu/project_plan.html
8/16/2004