\documentstyle[12pt]{article}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\topmargin}{-2pc}
\setlength{\headheight}{1pc}
\setlength{\headsep}{2pc}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{8.5in}
\setlength{\parskip}{.1in}

\begin{document}
\title{End of Summer Report}
\author{Robert S. French}
\date{1 September 1989}
\maketitle

\section{Introduction}

The following sections describe the activities performed by the author
for Digital Equipment Corporation during the period May 29,
1989--September 1, 1989.  Unless otherwise noted, all activities were
performed at MIT Project Athena.

\section{The Next Generation Educational Workstation Project}

As part of an initiative to create a ``next generation'' educational
workstation environment, I attempted to integrate several
state-of-the-art hardware and software systems.  These systems are
discussed below.

\subsection{The DECstation 3100}

Since the DECstation 3100 is a relatively high performance affordable
workstation, it was chosen as the hardware base.

\subsection{The MACH 2.5 operating system}

MACH is a UNIX-derived operating system developed at Carnegie Mellon
University.  It provides standard BSD-compatible functionality while
adding many additional features.  These features include:

\begin{itemize}
\item A portable virtual memory system that includes support for file
mapping, shared memory, and copy-on-write semantics.
\item A preemptive threads package that allows multithreaded processes.
\item A consistent interface for interprocess communication and RPC.
\end{itemize}

As MACH is now of primary interest to both Digital and the Open
Software Foundation, its use in the next generation educational
workstation environment was strategic.  Most of the summer was
devoted to getting a successful MACH environment running.

The use of MACH on the DECstation 3100 was hindered by three primary
problems:

\begin{enumerate}
\item {\bf Legal problems}: there were many problems receiving the MACH 2.5
source code because the DECstation port contained Ultrix-derived code.
\item {\bf Lack of a debugged DECstation port}: CMU had only finished an
alpha test version of the DECstation port; hundreds of bugs were being
fixed per week.  Since then a more stable version has been finished at
CMU.
\item {\bf The CMU development environment}: MACH and its associated
utilities (such as {\bf mig}) require a custom build environment with
nonstandard versions of {\bf make}, {\bf cpp}, and other programs.
It was difficult to get these programs to work in a standard Ultrix
environment.

\subsection{Motif}

OSF/Motif is the user interface toolkit produced by the Open Software
Foundation.  The complete Motif system includes:

\begin{itemize}
\item The Motif Window Manager (mwm)
\item The Motif toolit (Xt and Xm)
\item Various applications and demo programs
\end{itemize}

All portions were successfully brought up on the DECstation 3100 under
MACH with little trouble.

\subsection{The Andrew Toolkit and Applications}

The Andrew Toolkit and the associated Andrew applications were
developed at Carnegie Mellon University.  They provide a consistent
user interface for writing documents, mail, etc., that contain
multi-font text, diagrams, tables, and raster bitmaps.  CMU started
porting the Andrew toolkit to the DECstation 3100 this summer, but
didn't finish in time to be included in this report.

\section{Programming and Design Projects}

The following sections describe projects that were not directly
related to the educational workstation project.

\subsection{Turnin: A Distributed File Exchange System}

The {\bf turnin} system is a distributed file exchange system designed
for classroom use.  Students can ``turnin'' papers and ``pickup''
the graded results.  Early versions of the {\bf turnin} system were
layered on top of NFS.  I wrote the server for a {\bf turnin} server,
which provided Kerberos authenticated RPC support for {\bf turnin}
operations.  Other members of the Athena systems development staff
wrote the client applications.

A USENIX abstract was written for the {\bf turnin} system for
submission to the Winter '90 USENIX, but was not accepted.

The new {\bf turnin} system will be used by MIT courses next spring
once it becomes more stable.

\subsection{Emacs Converted to Use the X Toolkit}

I converter GNU EMACS 18.54 to use the X Toolkit intrinsics for all
management operations instead of the previous Xlib-only based
implementation.  The use of the intrinsics allowed better resource
management and fixed a number of problems with the previous version.
The new version is in daily use at Project Athena.

\section{Conferences Attended}

I attended the following conferences during my tenure with the
corporation.

\subsection{SIGGRAPH '89, July 31--August 4}

SIGGRAPH is an annual graphics conference, attended by over 30,000
computer graphics professionals, that consists of courses, technical
sessions, and an exhibition.  This year the conference was held in
Boston, MA.  I attended the technical sessions, the exhibition, and
several panel and birds of a feather sessions on multimedia video
technology.

\end{document}
