\begindata{text, 270028764}
\textdsversion{12}
\template{default}
\majorheading{Andrew and the AMS}


The Andrew Message System is interesting not only for its own unique features, 
but also as the first and largest example of what can be done with the Andrew 
system itself.  In particular, the AMS was the first application to make 
serious demands on both the Andrew File system and the Andrew Toolkit.  It is 
worthwhile, therefore, to consider how these two major pieces of Andrew have 
affected the development of the Andrew Message System


\heading{The Andrew File System}


\subheading{Pros}


Simplified implementation of the message server: no need for explicit 
replication of data.


Support for very large quantities of stored messages, e.g. thousands of 
bboards.


Richer file protection than standard UNIX (simplifies private bboards, shared 
mailboxes, etc.)


More rigorous authentication than standard UNIX (prevents forged mail)


\subheading{Cons (largely UNIX incompatibilies)}


No support for setuid programs


Limited support for hard links


No per-file protection information


Failure potential of close() system call necessitates rewrites of crucial 
software.  (In our case, it was a major factor in our decision to rewrite 
virtually the entire mail delivery system.)


\heading{The Andrew Toolkit}\subheading{

}
\subheading{Pros}


Permits multi-media mail


Permits uniform data exchange (cut/paste) with other applications


Multiple levels of abstraction/detail available to application programmer


\subheading{Cons}


Complexity of programmer interface & documentation

\enddata{text,270028764}
