|
ThesesThe theses resulting from the Webworks Laboratory are made available here in PDF format. If you would like to see the faces that go with the names, please visit our Rogues Gallery.
|
This is the first of the Master's theses in the Webwoks project (the old DynaLab
project). In it, the
initial design of a virtual computer, called the E-machine, is presented. The
objective of the E-machine was to provide a virtual computer capable of
executing its instruction set both forwards and in reverse, a highly desirable
capability for teaching and learning programming concepts. The E-machine has
undergone numerous modifications in the later theses, so for those interested
in its design, the theses by Eneboe and Pratt may be more appropriate.
Patton's thesis was initially done using the ptroff program available under some Unix systems. Unfortunately, ptroff is no longer available at our local site, so the thesis was reformatted using groff in order to obtain a PostScript version which was then converte to PDF. The version posted here is thus not quite properly formatted (the figures are garbled), but the thesis should be readable for anyone desiring to do so. As noted, the work of this thesis is largely superseded by the later theses in any case.
This thesis is the second in the DynaLab project. For his thesis, Birch
implemented an emulator in C for the E-Machine. In the process, he also made
some changes to the design of the E-Machine itself. Later theses made even
more design changes to the E-Machine and may be more appropriate for those
interested in the E-Machine.
Birch used an early version of WordPerfect for his thesis. A PostScript
version was generated from WordPerfect 5.1 and then converted to PDF. As noted, the later theses contains
more up-to-date information about the E-Machine.
This thesis resulted in the first compiler for the E-Machine. The compiler
implemented a subset of Pascal and was successful in demonstrating that the
E-Machine could indeed execute a compiled program both forwards and backwards.
The compiler broke new ground in that it had to successfully keep track of the
Pascal "animation units" that corresponded to "packets" of E-machine code so
that future animators could highlight the proper Pascal source code
corresponding to what the E-Machine was currently executing. Compiling for
animation and reverse execution thus requires a number of data structures and
"hooks" not necessary in normal compilers. In the process of implementing the
compiler, Goosey had to make further modifications to the E-machine.
Goosey's thesis contains information that is still useful for an understanding
of compiling for reverse execution and animation, but it is now largely out of
date. Since graduating, she has remained with the Webworks project as a
Research Scientist and now has a nearly complete ISO standard Pascal compiler
with a few Turbo Pascal extensions. Various data structures associated with
the compiler have changed in the meantime as well.
Goosey's thesis was done in LaTeX. A Postscript was generated, from which
a PDF version was produced.
This thesis is similar to the one by Goosey in that a new compiler for the
E-Machine was written. The compiler was for a small subset of Ada defined in
the book Crafting a Compiler by Fischer and LeBlanc. Poole had the
advantage of Goosey's ground breaking work. Nonetheless, the features of Ada
required new compiling innovations as well as improvements to the E-Machine.
The Ada/CS compiler is now out of date, because changes have been made to the
E-machine and animators since Poole graduated.
Poole's thesis was written in LaTeX, from which a Postscript and, finally, a PDF
version was created.
Pratt's thesis resulted in the first animator for the DynaLab project. The
E-machine and compilers are of no use without a graphical user interface for
animating source programs under control of the user. Pratt's animator worked on
Unix systems with Motif. It needed some work to run under more recent
releases of Motif, but it functioned very well in an X-Window environment.
With the advent of the World Wide Web and the platform independence of Web
browsers, work was focused in this direction, and the X-window (platform
dependent) version was no longer supported. Later work by Chris Boroni as
part of his PhD thesis (not yet completed) led to a Microsoft Windows version of
the animator, and then to a Java version that runs in standard Web
browsers. This is the version currently supported.
Pratt's thesis was written in LaTeX. A PDF version is supplied here.
Eneboe's thesis laid the groundwork for a C compiler for the E-Machine. Eneboe
completed a PCCTS grammar for C and implemented a number of C features in his
compiler. Modifications had to be made to the E-Machine to handle some aspects
of C. At this point there are no plans to extend this work, and there is no
version that runs in the current Web-based environment.
Eneboe's thesis was written in LaTeX, from which a PDF file was created.