Demodiss based proposal and dissertation for testing purposes.
authorRichard Whitehouse <github@richardwhiuk.com>
Tue, 25 Jan 2011 05:29:09 +0000 (05:29 +0000)
committerRichard Whitehouse <github@richardwhiuk.com>
Tue, 25 Jan 2011 05:29:09 +0000 (05:29 +0000)
docs/Makefile [new file with mode: 0644]
docs/diss.tex [new file with mode: 0644]
docs/figs/cuarms.eps [new file with mode: 0644]
docs/figs/diagram.eps [new file with mode: 0644]
docs/figs/diagram.fig [new file with mode: 0644]
docs/figs/diagram.fig.bak [new file with mode: 0644]
docs/propbody.lyx [new file with mode: 0644]
docs/propbody.tex [new file with mode: 0644]
docs/proposal.tex [new file with mode: 0644]
docs/refs.bib [new file with mode: 0644]

diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644 (file)
index 0000000..904241d
--- /dev/null
@@ -0,0 +1,70 @@
+# This is the Makefile for the demonstration dissertation
+# written by Martin Richards
+#
+# Note that continuation lines require '\'
+# and that TAB is used after ':' and before unix commands.
+
+DISS = diss.tex refs.bib propbody.tex figs/diagram.eps makefile.txt
+
+PROP = proposal.tex propbody.tex
+
+help:
+       @echo
+       @echo "USAGE:"
+       @echo
+       @echo "make          display help information"
+       @echo "make prop     make the proposal and view it using xdvi"
+       @echo "make diss.ps  make a postscript version of the dissertation"
+       @echo "make diss.pdf make a .pdf version of the dissertation"
+       @echo "make gv       view the dissertation with ghostview"
+       @echo "make gs       view the dissertation with ghostscript"
+       @echo "make all      construct proposal.dvi and diss.ps"
+       @echo "make count    display an estimated word count"
+       @echo "make pub      put demodiss.tar on my homepage"
+       @echo "make clean    remove all remakeable files"
+       @echo "make pr       print the dissertation"
+       @echo
+
+prop:  proposal.dvi
+       xdvi proposal.dvi
+
+diss.ps:       $(DISS)
+       latex diss
+       bibtex diss
+       latex diss
+       bibtex diss
+       latex diss
+       bibtex diss
+       dvips -Ppdf -G0 -t a4 -pp 0-200 -o diss.ps diss.dvi
+
+diss.pdf:      diss.ps
+       ps2pdf diss.ps
+
+makefile.txt:  Makefile
+       expand Makefile >makefile.txt
+count:
+       detex diss.tex | tr -cd '0-9A-Za-z \n' | wc -w
+
+proposal.dvi: $(PROP)
+       latex proposal
+
+all:   proposal.dvi diss.ps
+
+pub:   diss.pdf
+       cp diss.pdf /homes/mr/public_html/demodiss.pdf
+       make clean
+       (cd ..; tar cfv /homes/mr/public_html/demodiss.tar demodiss)
+
+clean:
+       rm -f diss.ps *.dvi *.aux *.log *.err
+       rm -f core *~ *.lof *.toc *.blg *.bbl
+       rm -f makefile.txt
+
+gv:    diss.ps
+       ghostview diss.ps
+
+gs:    diss.ps
+       gs diss.ps
+
+pr:    diss.ps
+       lpr diss.ps
diff --git a/docs/diss.tex b/docs/diss.tex
new file mode 100644 (file)
index 0000000..4041592
--- /dev/null
@@ -0,0 +1,496 @@
+% The master copy of this demo dissertation is held on my filespace
+% on the cl file serve (/homes/mr/teaching/demodissert/)
+
+% Last updated by MR on 2 August 2001
+
+\documentclass[12pt,twoside,notitlepage]{report}
+
+\usepackage{a4}
+\usepackage{verbatim}
+
+\input{epsf}                            % to allow postscript inclusions
+% On thor and CUS read top of file:
+%     /opt/TeX/lib/texmf/tex/dvips/epsf.sty
+% On CL machines read:
+%     /usr/lib/tex/macros/dvips/epsf.tex
+
+
+
+\raggedbottom                           % try to avoid widows and orphans
+\sloppy
+\clubpenalty1000%
+\widowpenalty1000%
+
+\addtolength{\oddsidemargin}{6mm}       % adjust margins
+\addtolength{\evensidemargin}{-8mm}
+
+\renewcommand{\baselinestretch}{1.1}    % adjust line spacing to make
+                                        % more readable
+
+\begin{document}
+
+\bibliographystyle{plain}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Title
+
+
+\pagestyle{empty}
+
+\hfill{\LARGE \bf Martin Richards}
+
+\vspace*{60mm}
+\begin{center}
+\Huge
+{\bf How to write a dissertation in \LaTeX} \\
+\vspace*{5mm}
+Diploma in Computer Science \\
+\vspace*{5mm}
+St John's College \\
+\vspace*{5mm}
+\today  % today's date
+\end{center}
+
+\cleardoublepage
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Proforma, table of contents and list of figures
+
+\setcounter{page}{1}
+\pagenumbering{roman}
+\pagestyle{plain}
+
+\chapter*{Proforma}
+
+{\large
+\begin{tabular}{ll}
+Name:               & \bf Martin Richards                       \\
+College:            & \bf St John's College                     \\
+Project Title:      & \bf How to write a dissertation in \LaTeX \\
+Examination:        & \bf Diploma in Computer Science, July 2001        \\
+Word Count:         & \bf 1587\footnotemark[1]
+(well less than the 12000 limit) \\
+Project Originator: & Dr M.~Richards                    \\
+Supervisor:         & Dr M.~Richards                    \\ 
+\end{tabular}
+}
+\footnotetext[1]{This word count was computed
+by {\tt detex diss.tex | tr -cd '0-9A-Za-z $\tt\backslash$n' | wc -w}
+}
+\stepcounter{footnote}
+
+
+\section*{Original Aims of the Project}
+
+To write a demonstration dissertation\footnote{A normal footnote without the
+complication of being in a table.} using \LaTeX\ to save
+student's time when writing their own dissertations. The dissertation
+should illustrate how to use the more common \LaTeX\ constructs. It
+should include pictures and diagrams to show how these can be
+incorporated into the dissertation.  It should contain the entire
+\LaTeX\ source of the dissertation and the Makefile.  It should
+explain how to construct an MSDOS disk of the dissertation in
+Postscript format that can be used by the book shop for printing, and,
+finally, it should have the prescribed layout and format of a diploma
+dissertation.
+
+
+\section*{Work Completed}
+
+All that has been completed appears in this dissertation.
+
+\section*{Special Difficulties}
+
+Learning how to incorporate encapulated postscript into a \LaTeX\
+document on both CUS and Thor.
+\newpage
+\section*{Declaration}
+
+I, [Name] of [College], being a candidate for Part II of the Computer
+Science Tripos [or the Diploma in Computer Science], hereby declare
+that this dissertation and the work described in it are my own work,
+unaided except as may be specified below, and that the dissertation
+does not contain material that has already been used to any substantial
+extent for a comparable purpose.
+
+\bigskip
+\leftline{Signed [signature]}
+
+\medskip
+\leftline{Date [date]}
+
+\cleardoublepage
+
+\tableofcontents
+
+\listoffigures
+
+\newpage
+\section*{Acknowledgements}
+
+This document owes much to an earlier version written by Simon Moore
+\cite{moore95}.  His help, encouragement and advice was greatly 
+appreciated.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% now for the chapters
+
+\cleardoublepage        % just to make sure before the page numbering
+                        % is changed
+
+\setcounter{page}{1}
+\pagenumbering{arabic}
+\pagestyle{headings}
+
+\chapter{Introduction}
+
+\section{Overview of the files}
+
+This document consists of the following files:
+
+\begin{itemize}
+\item {\tt Makefile} --- The Makefile for the dissertation and Project Proposal
+\item {\tt diss.tex} --- The dissertation
+\item {\tt propbody.tex} --- Appendix~C  -- the project proposal 
+\item {\tt proposal.tex}  --- A \LaTeX\ main file for the proposal 
+\item{\tt figs} -- A directory containing diagrams and pictures
+\item{\tt refs.bib} --- The bibliography database
+\end{itemize}
+
+\section{Building the document}
+
+This document was produced using \LaTeXe which is based upon
+\LaTeX\cite{Lamport86}.  To build the document you first need to
+generate {\tt diss.aux} which, amongst other things, contains the
+references used.  This if done by executing the command:
+
+{\tt latex diss}
+
+\noindent
+Then the bibliography can be generated from {\tt refs.bib} using:
+
+{\tt bibtex diss}
+
+\noindent
+Finally, to ensure all the page numbering is correct run {\tt latex}
+on {\tt diss.tex} until the {\tt .aux} files do not change.  This
+usually takes 2 more runs.
+
+\subsection{The makefile}
+
+To simplify the calls to {\tt latex} and {\tt bibtex}, 
+a makefile has been provided, see Appendix~\ref{makefile}. 
+It provides the following facilities:
+
+\begin{itemize}
+
+\item{\tt make} \\
+ Display help information.
+
+\item{\tt make prop} \\
+ Run {\tt latex proposal; xdvi proposal.dvi}.
+
+\item{\tt make diss.ps} \\
+ Make the file {\tt diss.ps}.
+
+\item{\tt make gv} \\
+ View the dissertation using ghostview after performing 
+{\tt make diss.ps}, if necessary.
+
+\item{\tt make gs} \\
+ View the dissertation using ghostscript after performing 
+{\tt make diss.ps}, if necessary.
+
+\item{\tt make count} \\
+Display an estimate of the word count.
+
+\item{\tt make all} \\
+Construct {\tt proposal.dvi} and {\tt diss.ps}.
+
+\item{\tt make pub} \\ Make a {\tt .tar} version of the {\tt demodiss}
+directory and place it in my {\tt public\_html} directory.
+
+\item{\tt make clean} \\ Delete all files except the source files of
+the dissertation. All these deleted files can be reconstructed by
+typing {\tt make all}.
+
+\item{\tt make pr} \\
+Print the dissertation on your default printer.
+
+\end{itemize}
+
+
+\section{Counting words}
+
+An approximate word count of the body of the dissertation may be
+obtained using:
+
+{\tt wc diss.tex}
+
+\noindent
+Alternatively, try something like:
+
+\verb/detex diss.tex | tr -cd '0-9A-Z a-z\n' | wc -w/
+
+
+
+
+\cleardoublepage
+
+
+
+\chapter{Preparation}
+
+This chapter is empty!
+
+
+\cleardoublepage
+\chapter{Implementation}
+
+\section{Verbatim text}
+
+Verbatim text can be included using \verb|\begin{verbatim}| and
+\verb|\end{verbatim}|. I normally use a slightly smaller font and
+often squeeze the lines a little closer together, as in:
+
+{\renewcommand{\baselinestretch}{0.8}\small\begin{verbatim}
+GET "libhdr"
+GLOBAL { count:200; all  }
+LET try(ld, row, rd) BE TEST row=all
+                        THEN count := count + 1
+                        ELSE { LET poss = all & ~(ld | row | rd)
+                               UNTIL poss=0 DO
+                               { LET p = poss & -poss
+                                 poss := poss - p
+                                 try(ld+p << 1, row+p, rd+p >> 1)
+                               }
+                             }
+LET start() = VALOF
+{ all := 1
+  FOR i = 1 TO 12 DO
+  { count := 0
+    try(0, 0, 0)
+    writef("Number of solutions to %i2-queens is %i5*n", i, count)
+    all := 2*all + 1
+  }
+  RESULTIS 0
+}
+\end{verbatim}
+}
+
+\section{Tables}
+
+\begin{samepage}
+Here is a simple example\footnote{A footnote} of a table.
+
+\begin{center}
+\begin{tabular}{l|c|r}
+Left      & Centred & Right \\
+Justified &         & Justified \\[3mm]
+%\hline\\%[-2mm]
+First     & A       & XXX \\
+Second    & AA      & XX  \\
+Last      & AAA     & X   \\
+\end{tabular}
+\end{center}
+
+\noindent
+There is another example table in the proforma.
+\end{samepage}
+
+\section{Simple diagrams}
+
+Simple diagrams can be written directly in \LaTeX.  For example, see
+figure~\ref{latexpic1} on page~\pageref{latexpic1} and see
+figure~\ref{latexpic2} on page~\pageref{latexpic2}.
+
+\begin{figure}
+\setlength{\unitlength}{1mm}
+\begin{center}
+\begin{picture}(125,100)
+\put(0,80){\framebox(50,10){AAA}}
+\put(0,60){\framebox(50,10){BBB}}
+\put(0,40){\framebox(50,10){CCC}}
+\put(0,20){\framebox(50,10){DDD}}
+\put(0,00){\framebox(50,10){EEE}}
+
+\put(75,80){\framebox(50,10){XXX}}
+\put(75,60){\framebox(50,10){YYY}}
+\put(75,40){\framebox(50,10){ZZZ}}
+
+\put(25,80){\vector(0,-1){10}}
+\put(25,60){\vector(0,-1){10}}
+\put(25,50){\vector(0,1){10}}
+\put(25,40){\vector(0,-1){10}}
+\put(25,20){\vector(0,-1){10}}
+
+\put(100,80){\vector(0,-1){10}}
+\put(100,70){\vector(0,1){10}}
+\put(100,60){\vector(0,-1){10}}
+\put(100,50){\vector(0,1){10}}
+
+\put(50,65){\vector(1,0){25}}
+\put(75,65){\vector(-1,0){25}}
+\end{picture}
+\end{center}
+\caption{\label{latexpic1}A picture composed of boxes and vectors.}
+\end{figure}
+
+\begin{figure}
+\setlength{\unitlength}{1mm}
+\begin{center}
+
+\begin{picture}(100,70)
+\put(47,65){\circle{10}}
+\put(45,64){abc}
+
+\put(37,45){\circle{10}}
+\put(37,51){\line(1,1){7}}
+\put(35,44){def}
+
+\put(57,25){\circle{10}}
+\put(57,31){\line(-1,3){9}}
+\put(57,31){\line(-3,2){15}}
+\put(55,24){ghi}
+
+\put(32,0){\framebox(10,10){A}}
+\put(52,0){\framebox(10,10){B}}
+\put(37,12){\line(0,1){26}}
+\put(37,12){\line(2,1){15}}
+\put(57,12){\line(0,2){6}}
+\end{picture}
+
+\end{center}
+\caption{\label{latexpic2}A diagram composed of circles, lines and boxes.}
+\end{figure}
+
+
+
+\section{Adding more complicated graphics}
+
+The use of \LaTeX\ format can be tedious and it is often better to use
+encapsulated postscript to represent complicated graphics.
+Figure~\ref{epsfig} and ~\ref{xfig} on page \pageref{xfig} are
+examples. The second figure was drawn using {\tt xfig} and exported in
+{\tt.eps} format. This is my recommended way of drawing all diagrams.
+
+
+\begin{figure}[tbh]
+\centerline{\epsfbox{figs/cuarms.eps}}
+\caption{\label{epsfig}Example figure using encapsulated postscript}
+\end{figure}
+
+\begin{figure}[tbh]
+\vspace{4in}
+\caption{\label{pastedfig}Example figure where a picture can be pasted in}
+\end{figure}
+
+
+\begin{figure}[tbh]
+\centerline{\epsfbox{figs/diagram.eps}}
+\caption{\label{xfig}Example diagram drawn using {\tt xfig}}
+\end{figure}
+
+
+
+
+\cleardoublepage
+\chapter{Evaluation}
+
+\section{Printing and binding}
+
+If you have access to a laser printer that can print on two sides, you
+can use it to print two copies of your dissertation and then get them
+bound by the Computer Laboratory Bookshop. Otherwise, print your
+dissertation single sided and get the Bookshop to copy and bind it double
+sided.
+
+
+Better printing quality can sometimes be obtained by giving the
+Bookshop an MSDOS 1.44~Mbyte 3.5" floppy disc containing the
+Postscript form of your dissertation. If the file is too large a
+compressed version with {\tt zip} but not {\tt gnuzip} nor {\tt
+compress} is acceptable. However they prefer the uncompressed form if
+possible. From my experience I do not recommend this method.
+
+\subsection{Things to note}
+
+\begin{itemize}
+\item Ensure that there are the correct number of blank pages inserted
+so that each double sided page has a front and a back.  So, for
+example, the title page must be followed by an absolutely blank page
+(not even a page number).
+
+\item Submitted postscript introduces more potential problems.
+Therefore you must either allow two iterations of the binding process
+(once in a digital form, falling back to a second, paper, submission if
+necessary) or submit both paper and electronic versions.
+
+\item There may be unexpected problems with fonts.
+
+\end{itemize}
+
+\section{Further information}
+
+See the Computer Lab's world wide web pages at URL:
+
+{\tt http://www.cl.cam.ac.uk/TeXdoc/TeXdocs.html}
+
+
+\cleardoublepage
+\chapter{Conclusion}
+
+I hope that this rough guide to writing a dissertation is \LaTeX\ has
+been helpful and saved you time.
+
+
+
+
+\cleardoublepage
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the bibliography
+
+\addcontentsline{toc}{chapter}{Bibliography}
+\bibliography{refs}
+\cleardoublepage
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the appendices
+\appendix
+
+\chapter{Latex source}
+
+\section{diss.tex}
+{\scriptsize\verbatiminput{diss.tex}}
+
+\section{proposal.tex}
+{\scriptsize\verbatiminput{proposal.tex}}
+
+\section{propbody.tex}
+{\scriptsize\verbatiminput{propbody.tex}}
+
+
+
+\cleardoublepage
+
+\chapter{Makefile}
+
+\section{\label{makefile}Makefile}
+{\scriptsize\verbatiminput{makefile.txt}}
+
+\section{refs.bib}
+{\scriptsize\verbatiminput{refs.bib}}
+
+
+\cleardoublepage
+
+\chapter{Project Proposal}
+
+\input{propbody}
+
+\end{document}
diff --git a/docs/figs/cuarms.eps b/docs/figs/cuarms.eps
new file mode 100644 (file)
index 0000000..8bb2446
--- /dev/null
@@ -0,0 +1,277 @@
+%!
+% Arms of Cambridge University
+% Philip Hazel, July 1986
+%%BoundingBox: -30 0 30 72
+
+/cuarmsdict 30 dict def cuarmsdict begin
+/mtrx matrix def
+/lionfix{filled{gsave 1 setgray fill grestore}if stroke}def
+/toefix{gsave 1 setgray fill grestore stroke} def
+
+/ea{/savematrix mtrx currentmatrix def
+translate 5 -1 roll rotate scale 0 0 1 5 -2 roll arc
+savematrix setmatrix}def
+
+/ec{/savematrix mtrx currentmatrix def
+translate 5 -1 roll rotate scale 0 0 1 5 -2 roll arcn
+savematrix setmatrix}def
+
+/db /rlineto load def /dt /lineto load def /mt /moveto load def
+
+/lion1{0.77 0.77 scale
+-200 -600 translate
+406 338 mt 440 375 45 -115 38 arc
+120 -90 90 15 11 445 425 ea
+120 -90 90 15 15 402 442 ea
+130 -143 25 33 20 360 454 ea
+
+360 485 32 217 73 arcn 397 507 dt
+464 524 45 241 70 arc 464 554 20 36 -133 arcn
+377 396 161 63 97 arc 362 494 62 93 227 arc
+512 690 308 235 255 arc 437 373 16 70 -105 arcn
+420 360 dt -100 20 db -50 0 db -20 40 db
+
+262 55 125 80 55 200 465 ea
+270 -41 185 23 15 265 517 ea
+260 540 dt -4 20 db -6 10 db -16 -2 db -14 -8 db
+90 -90 90 40 20 200 560 ea
+-14 8 db -16 2 db -6 -10 db -4 -20 db
+90 -5 221 23 15 135 517 ea
+98 55 125 80 55 200 465 ea
+420 340 285 164 183 arc
+} def
+
+/lion2{126 299 27 70 126 arc
+98 333 15 271 190 arcn
+287 438 230 207 170 arcn
+307 0 145 50 25 33 522 ea
+
+240 485 240 162 177 arc
+20 496 18 177 270 arc
+96 -10 190 26 12 7 450 ea
+
+111 -25 180 36 12 15 388 ea 40 350 dt
+119 -30 190 33 10 36 318 ea 70 296 dt
+
+127 -15 180 28 7 66 260 ea
+130 213 45 138 120 arcn
+120 296 36 -75 -40 arc
+}def
+
+/lion3{69 255 81 11 -37 arcn
+-123 362 300 -33 -47 arcn
+40 57 160 30 11 49 98 ea
+40 175 350 40 15 57 90 ea
+
+72 150 345 50 18 115 123 ea
+90 150 330 45 14 155 177 ea
+80 150 340 50 10 186 230 ea
+110 105 240 32 22 218 284 ea
+}def
+
+/lion4{332 247 36 115 210 arc
+307 160 31 40 -55 arcn
+160 390 305 -58 -70 arcn
+22 30 160 20 7 243 90 ea
+27 170 330 30 12 250 77 ea 288 90 dt
+
+60 125 300 45 15 312 100 ea 340 125 dt
+72 155 360 30 12 356 140 ea
+380 190 25 210 400 arc
+90 230 50 18 13 383 208 ec
+363 240 22 300 356 arc
+}def
+
+/lion5{476 296 108 212 242 arc
+412 171 32 50 -30 arcn
+55 90 310 40 20 420 84 ea
+
+498 102 54 200 235 arc
+93 200 360 40 11 470 105 ea
+95 165 350 30 8 474 173 ea
+479 205 5 210 360 arc 490 270 dt
+470 260 13 350 195 arcn
+348 247 108 10 60 arc
+}def
+
+/lion6{90 0 360 30 15 72 445 ea toefix
+243 324 108 180 208 arc stroke}def
+
+/lion7{10 0 360 30 20 53 148 ea toefix}def
+/lion8{-5 0 360 33 13 243 115 ea toefix}def
+
+/lion9{50 0 360 27 13 393 103 ea toefix
+317 280 mt 335 292 18 235 380 arc
+385 238 dt stroke}def
+
+/lion10{160 360 mt 4 -20 db 16 -20 db 16 20 db 4 20 db 10 -14 db
+10 -6 db 10 6 db 10 24 db 14 0 db 16 10 db stroke
+gsave 200 490 translate
+1 1 2{pop 16 0 mt 24 40 db -26 -20 db fill
+-1 1 scale}for grestore
+90 90 270 60 25 200 465 ea 200 450 dt closepath 1 setlinewidth stroke
+500 710 203 240 271 arc stroke
+} def
+
+/lion11{280 280 dt 262 203 18 133 220 arc
+228 156 36 42 -50 arcn
+52 38 315 44 23 160 20 ea 195 40 dt
+
+67 135 322 44 17 220 54 ea
+85 100 305 27 20 263 90 ea
+75 130 340 22 10 293 118 ea
+314 137 8 -150 40 arc
+
+380 197 72 202 148 arcn
+250 317 99 323 350 arc
+
+422 334 72 208 248 arc
+47 360 240 24 11 394 242 ec
+60 60 310 30 20 364 178 ea
+
+65 110 340 30 15 408 196 ea
+72 150 350 15 8 435 239 ea
+450 260 11 220 40 arc
+505 375 108 237 200 arcn
+}def
+
+/lion12{30 0 360 30 20 135 56 ea toefix
+35 0 360 22 15 352 212 ea toefix
+280 280 mt 347 300 dt stroke
+}def
+
+/lion13{0 45 -40 31 20 178 242 ec
+40 90 310 31 20 137 168 ea 170 174 dt
+
+80 90 320 41 20 189 163 ea
+82 160 310 35 20 226 218 ea
+73 180 325 25 10 263 266 ea 333 284 dt
+
+341 260 18 145 215 arc
+325 183 27 30 -58 arcn
+37 90 320 35 15 287 84 ea
+
+80 50 280 23 12 325 80 ea
+75 160 335 25 17 350 124 ea
+112 140 290 15 11 378 154 ea 383 170 dt
+395 180 9 265 31 arc
+462 230 72 210 180 arcn
+
+405 160 32 60 -10 arcn
+82 90 340 34 17 432 13 ea
+105 150 330 35 15 455 63 ea
+100 160 330 30 11 466 126 ea 461 161 dt
+80 180 345 26 8 475 187 ea
+125 180 60 40 15 456 251 ec
+325 265 108 14 43 arc
+}def
+
+/lion14{335 306 22 265 336 arc 390 230 dt stroke
+10 0 360 25 13 122 198 ea toefix
+13 0 360 22 13 266 106 ea toefix
+60 0 360 28 15 400 24 ea toefix
+}def
+
+/lion15{69 255 81 11 -40 arcn
+40 57 160 30 11 49 123 ea
+40 175 350 40 15 57 113 ea
+
+72 150 320 50 18 115 145 ea
+90 120 270 27 15 155 188 ea
+80 170 340 50 10 186 230 ea
+110 105 240 32 22 218 284 ea
+}def
+
+/lion16{10 0 360 30 20 53 168 ea toefix}def
+
+
+/cuarms{/filled exch def gsave 0.05 0.05 scale
+  1 1 2
+  {pop   %repeat for symmetry
+
+  %outline
+  0 1475 moveto 600 1475 lineto
+  600 343 0 0 500 arcto 4 {pop} repeat
+  0 0 lineto gsave 1 setgray fill grestore 15 setlinewidth stroke
+
+  125 1475 moveto 125 1000 lineto 600 1000 lineto
+  filled {600 1475 lineto fill} if
+
+  125 75 moveto 125 700 lineto 600 700 lineto
+  filled {600 343 0 0 500 arcto 4 {pop} repeat fill}
+  {20 setlinewidth stroke} ifelse
+
+  %ermine
+  [[0 1170] [63 1045] [63 1295] [225 850] [375 850] [525 850]
+   [300 730] [450 730] [0 275] [0 540] [63 120] [63 400]]
+    {
+    aload pop
+    gsave translate
+    0 115 10 0 360 arc fill
+    172 107 170 180 210 arc
+    8 20 lineto 0 0 lineto -8 20 lineto
+    -172 107 170 -30 0 arc
+    closepath fill
+    grestore
+    }
+    forall
+
+  %book
+  gsave 0 745 translate
+  0 0 moveto 60 0 lineto 60 -80 lineto 100 -80 lineto 100 0 lineto
+  140 0 lineto 140 225 lineto
+  70 213 20 37 143 arc 0 213 20 37 90 arc fill
+
+  1 setgray
+  70 213 12 0 180 arc
+  58 183 lineto 82 183 lineto fill
+  0 213 12 0 90 arc
+  0 183 lineto 12 183 lineto fill
+
+  80 -22 12 0 180 arc
+  80 -43 12 180 0 arc fill
+  80 -67 6 0 360 arc fill
+
+  105 25 8 0 360 arc fill
+  105 180 8 0 360 arc fill
+
+  0 -90 90 50 25 0 112.5 ea
+  0 90 -90 45 20 0 112.5 ec fill
+
+  0 -90 90 20 5 0 112.5 ea fill
+
+  grestore -1 1 scale
+  }for
+
+%point of shield
+0 0 7.5 0 360 arc fill
+
+%lions
+2 setlinewidth
+
+gsave -405 1450 translate
+lion1 lion2 lion3 lion4 lion5 lionfix
+lion6 lion7 lion8 lion9 lion10
+grestore
+
+gsave -400 675 translate
+lion1 lion2 lion13 lionfix
+lion6 lion14 lion10
+grestore
+
+gsave 322 1450 translate
+lion1 lion2 lion3 lion4 lion5 lionfix
+lion6 lion7 lion8 lion9 lion10
+grestore
+
+317 675 translate
+lion1 lion2 lion15 lion11 lionfix
+lion6 lion16 lion12 lion10
+
+grestore}def
+end
+
+%End of cuarms
+cuarmsdict begin
+true cuarms
+end
diff --git a/docs/figs/diagram.eps b/docs/figs/diagram.eps
new file mode 100644 (file)
index 0000000..44fdf7c
--- /dev/null
@@ -0,0 +1,200 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: diagram.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 1
+%%CreationDate: Tue Feb 27 15:40:13 2001
+%%For: mr@shep.cl.cam.ac.uk (Martin Richards)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 457 335
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%Magnification: 0.7500
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-74.0 354.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+       /endangle exch def
+       /startangle exch def
+       /yrad exch def
+       /xrad exch def
+       /y exch def
+       /x exch def
+       /savematrix mtrx currentmatrix def
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
+       savematrix setmatrix
+       } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n -1000 8865 m -1000 -1000 l 12787 -1000 l 12787 8865 l cp clip
+ 0.04500 0.04500 sc
+% Arc
+7.500 slw
+gs n 4599.6 3855.5 1984.5 -156.8 -14.0 arc
+gs col0 s gr
+ gr
+
+% Arc
+gs n 6401.1 3043.6 1601.4 178.9 14.7 arcn
+gs col0 s gr
+ gr
+
+15.000 slw
+% Ellipse
+n 9037 2137 937 338 0 360 DrawEllipse gs col0 s gr
+
+7.500 slw
+% Ellipse
+n 2137 1875 293 293 0 360 DrawEllipse gs col29 1.00 shd ef gr gs col0 s gr
+
+% Polyline
+n 2550 1575 m 3450 1050 l 3750 1575 l 4875 1275 l 5475 450 l 7200 1425 l
+ 6975 2325 l 8025 2175 l gs col0 s gr 
+% Polyline
+n 2025 3975 m 3150 3975 l 3150 4650 l 2025 4650 l cp gs col0 s gr 
+% Polyline
+n 7455 5325 m 7350 5325 7350 6045 105 arcto 4 {pop} repeat
+  7350 6150 8970 6150 105 arcto 4 {pop} repeat
+  9075 6150 9075 5430 105 arcto 4 {pop} repeat
+  9075 5325 7455 5325 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+30.000 slw
+n 3225 6675 m 4350 6675 l 4350 5850 l 3225 5850 l cp gs col4 s gr 
+% Polyline
+7.500 slw
+n 6705 2850 m 6600 2850 6600 5295 105 arcto 4 {pop} repeat
+  6600 5400 11670 5400 105 arcto 4 {pop} repeat
+  11775 5400 11775 2955 105 arcto 4 {pop} repeat
+  11775 2850 6705 2850 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+75.000 slw
+n 1725 2775 m 3075 3375 l 4200 2550 l 5400 7800 l 6375 6675 l 10725 5850 l gs col2 s gr 
+% Polyline
+15.000 slw
+gs  clippath
+7008 5809 m 7125 5850 l 7003 5869 l 7152 5883 l 7158 5823 l cp
+clip
+n 3300 4275 m 3301 4275 l 3305 4276 l 3311 4277 l 3320 4278 l 3334 4280 l
+ 3351 4282 l 3373 4286 l 3400 4290 l 3431 4294 l 3467 4300 l
+ 3506 4306 l 3548 4312 l 3593 4319 l 3640 4327 l 3689 4335 l
+ 3738 4343 l 3788 4352 l 3837 4361 l 3886 4370 l 3933 4379 l
+ 3979 4389 l 4023 4398 l 4066 4408 l 4107 4418 l 4146 4428 l
+ 4183 4439 l 4219 4450 l 4253 4461 l 4286 4474 l 4318 4486 l
+ 4350 4500 l 4380 4514 l 4409 4528 l 4439 4543 l 4468 4559 l
+ 4497 4576 l 4526 4594 l 4555 4612 l 4584 4631 l 4613 4651 l
+ 4642 4671 l 4670 4691 l 4699 4713 l 4727 4734 l 4756 4756 l
+ 4784 4778 l 4813 4801 l 4841 4823 l 4869 4846 l 4898 4869 l
+ 4926 4891 l 4954 4914 l 4983 4936 l 5011 4958 l 5039 4980 l
+ 5068 5001 l 5096 5022 l 5125 5043 l 5153 5063 l 5182 5082 l
+ 5210 5102 l 5239 5121 l 5268 5139 l 5296 5157 l 5325 5175 l
+ 5355 5194 l 5386 5212 l 5417 5230 l 5447 5248 l 5478 5266 l
+ 5509 5284 l 5539 5302 l 5570 5320 l 5601 5338 l 5632 5356 l
+ 5663 5374 l 5695 5391 l 5726 5409 l 5757 5427 l 5788 5445 l
+ 5820 5462 l 5851 5480 l 5882 5497 l 5913 5514 l 5944 5531 l
+ 5975 5547 l 6005 5564 l 6036 5579 l 6066 5595 l 6096 5610 l
+ 6126 5625 l 6156 5639 l 6185 5652 l 6214 5665 l 6243 5677 l
+ 6272 5689 l 6300 5700 l 6332 5712 l 6364 5722 l 6397 5732 l
+ 6430 5742 l 6464 5750 l 6500 5759 l 6537 5766 l 6576 5774 l
+ 6616 5781 l 6657 5788 l 6700 5795 l 6743 5802 l 6787 5808 l
+ 6830 5814 l 6872 5819 l 6913 5825 l 6951 5829 l 6987 5834 l
+ 7019 5838 l 7046 5841 l 7070 5844 l 7089 5846 l 7103 5848 l
+ 7125 5850 l gs col0 s gr gr
+
+% arrowhead
+7.500 slw
+n 7008 5809 m 7125 5850 l 7003 5869 l  col0 s
+/Times-Roman ff 180.00 scf sf
+6225 4425 m
+gs 1 -1 sc (Arc) col0 sh gr
+/Times-Roman ff 180.00 scf sf
+5625 1125 m
+gs 1 -1 sc (Poly line) col0 sh gr
+/Times-Roman ff 180.00 scf sf
+9000 2175 m
+gs 1 -1 sc (Ellipse) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Bold ff 180.00 scf sf
+2550 4350 m
+gs 1 -1 sc (Hello) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Courier-Bold ff 240.00 scf sf
+8175 5775 m
+gs 1 -1 sc (World) dup sw pop 2 div neg 0 rm  col0 sh gr
+$F2psEnd
+rs
diff --git a/docs/figs/diagram.fig b/docs/figs/diagram.fig
new file mode 100644 (file)
index 0000000..ba4cebc
--- /dev/null
@@ -0,0 +1,35 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 100 0 -1 0.000 0 0 0 0 4599.558 3855.531 2775 3075 4725 1875 6525 3375
+5 1 0 1 0 7 100 0 -1 0.000 0 1 0 0 6401.065 3043.554 4800 3075 5475 4350 7950 3450
+1 2 0 2 0 7 100 0 -1 0.000 1 0.0000 9037 2137 937 338 8100 2137 9974 2137
+1 4 0 1 0 29 100 0 20 0.000 1 0.0000 2137 1875 293 293 1844 1875 2430 1875
+2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 8
+        2550 1575 3450 1050 3750 1575 4875 1275 5475 450 7200 1425
+        6975 2325 8025 2175
+2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5
+        2025 3975 3150 3975 3150 4650 2025 4650 2025 3975
+2 4 0 1 0 7 100 0 -1 0.000 0 0 7 0 0 5
+        9075 5325 9075 6150 7350 6150 7350 5325 9075 5325
+2 2 0 3 4 7 100 0 -1 0.000 0 0 -1 0 0 5
+        3225 6675 4350 6675 4350 5850 3225 5850 3225 6675
+2 4 0 1 0 7 100 0 -1 0.000 0 0 7 0 0 5
+        11775 2850 11775 5400 6600 5400 6600 2850 11775 2850
+2 1 0 6 2 4 100 0 -1 0.000 0 0 -1 0 0 6
+        1725 2775 3075 3375 4200 2550 5400 7800 6375 6675 10725 5850
+3 2 0 2 0 7 100 0 -1 0.000 0 1 0 5
+       0 0 1.00 60.00 120.00
+        3300 4275 4350 4500 5325 5175 6300 5700 7125 5850
+        0.000 -1.000 -1.000 -1.000 0.000
+4 0 0 100 0 0 12 0.0000 4 135 285 6225 4425 Arc\001
+4 0 0 100 0 0 12 0.0000 4 180 645 5625 1125 Poly line\001
+4 1 0 100 0 0 12 0.0000 4 180 525 9000 2175 Ellipse\001
+4 1 0 100 0 2 12 0.0000 4 135 450 2550 4350 Hello\001
+4 1 0 100 0 14 16 0.0000 4 150 675 8175 5775 World\001
diff --git a/docs/figs/diagram.fig.bak b/docs/figs/diagram.fig.bak
new file mode 100644 (file)
index 0000000..13130a2
--- /dev/null
@@ -0,0 +1,36 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 100 0 -1 0.000 0 0 0 0 4599.558 3855.531 2775 3075 4725 1875 6525 3375
+5 1 0 1 0 7 100 0 -1 0.000 0 1 0 0 6401.065 3043.554 4800 3075 5475 4350 7950 3450
+1 2 0 2 0 7 100 0 -1 0.000 1 0.0000 9037 2137 937 338 8100 2137 9974 2137
+1 4 0 1 0 29 100 0 20 0.000 1 0.0000 2137 1875 293 293 1844 1875 2430 1875
+2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 8
+        2550 1575 3450 1050 3750 1575 4875 1275 5475 450 7200 1425
+        6975 2325 8025 2175
+2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5
+        2025 3975 3150 3975 3150 4650 2025 4650 2025 3975
+2 4 0 1 0 7 100 0 -1 0.000 0 0 7 0 0 5
+        9075 5325 9075 6150 7350 6150 7350 5325 9075 5325
+2 2 0 3 4 7 100 0 -1 0.000 0 0 -1 0 0 5
+        3225 6675 4350 6675 4350 5850 3225 5850 3225 6675
+2 4 0 1 0 7 100 0 -1 0.000 0 0 7 0 0 5
+        11775 2850 11775 5400 6600 5400 6600 2850 11775 2850
+2 1 0 6 2 4 100 0 -1 0.000 0 0 -1 0 0 7
+        1725 2775 1725 2775 3075 3375 4200 2550 5400 7800 6375 6675
+        10725 5850
+3 2 0 2 0 7 100 0 -1 0.000 0 1 0 5
+       0 0 1.00 60.00 120.00
+        3300 4275 4350 4500 5325 5175 6300 5700 7125 5850
+        0.000 -1.000 -1.000 -1.000 0.000
+4 0 0 100 0 0 12 0.0000 4 135 285 6225 4425 Arc\001
+4 0 0 100 0 0 12 0.0000 4 180 645 5625 1125 Poly line\001
+4 1 0 100 0 0 12 0.0000 4 180 525 9000 2175 Ellipse\001
+4 1 0 100 0 2 12 0.0000 4 135 450 2550 4350 Hello\001
+4 1 0 100 0 14 16 0.0000 4 150 675 8175 5775 World\001
diff --git a/docs/propbody.lyx b/docs/propbody.lyx
new file mode 100644 (file)
index 0000000..c13d23a
--- /dev/null
@@ -0,0 +1,533 @@
+#LyX file created by tex2lyx 1.6.7
+\lyxformat 264
+\begin_document
+\begin_header
+\textclass article
+\language english
+\inputencoding auto
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize default
+\use_geometry false
+\use_amsmath 1
+\use_esint 1
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+% Draft #1 (final?)
+\end_layout
+
+\begin_layout Standard
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vfil
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+centerline{
+\end_layout
+
+\end_inset
+
+
+\size larger
+Part II Computer Science Project Proposal
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+\begin_inset VSpace 0.4in
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+centerline{
+\end_layout
+
+\end_inset
+
+Simulation and Analysis of Data Link Layer Protocols in Local Area Networks 
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+\begin_inset VSpace 0.4in
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+centerline{
+\end_layout
+
+\end_inset
+
+
+\size large
+R.\InsetSpace ~
+J.\InsetSpace ~
+Whitehouse, Homerton College
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+\begin_inset VSpace 0.3in
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+centerline{
+\end_layout
+
+\end_inset
+
+Originator: M.\InsetSpace ~
+Scott
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+\begin_inset VSpace 0.3in
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+centerline{
+\end_layout
+
+\end_inset
+
+14 October 2010
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vfil
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\size default
+
+\begin_layout Subsection*
+
+Special Resources Required
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+The use of my own desktop workstation (2.6 GHz Intel Core 2 Q6600, 2 GB RAM and 3 TB Disk). 
+\newline
+ File space on PWF -- 50Mbytes
+\newline
+ File space on my own server -- 100 Mbytes
+\newline
+ The use of my laptop (2.13 GHz Intel Core 2 Duo, 2 GB RAM and 128 GB Disk). 
+\begin_inset VSpace 0.2in
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+
+\size large
+
+
+\series bold
+Project Supervisor:
+\family default
+\series default
+\shape default
+ M.\InsetSpace ~
+Scott 
+\begin_inset VSpace 0.2in
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+
+\size large
+
+
+\series bold
+Director of Studies:
+\family default
+\series default
+\shape default
+ Dr\InsetSpace ~
+R.\InsetSpace ~
+K.\InsetSpace ~
+Harle 
+\begin_inset VSpace 0.2in
+\end_inset
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+
+\size large
+
+
+\series bold
+Project Overseers:
+\family default
+\series default
+\shape default
+ Dr\InsetSpace ~
+A.\InsetSpace ~
+Blackwell & Dr\InsetSpace ~
+C.\InsetSpace ~
+Mascolo
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vfil
+\end_layout
+
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+pagebreak
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+% Main document
+\end_layout
+
+\begin_layout Standard
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Introduction
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+In local area networks, Ethernet is the dominant Data Link Layer protocol. Many attempts have been made to improve on it's percieved weaknesses.
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+My aim is to compare one of these proposals, MOOSE, with Ethernet in a simulation in order to examine the advantages and disadvantages of such a replacement.
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+My work will be focussed on providing an implementation of MOOSE in a commonly used network simulator, preparing a number of simulation scenarios and then generating data in order to allow a comparative analysis. The final stage of my project will be to evaluate the data produce in order to provide a useful comparison between the protocols.
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+Extension work to my project will consist of implementing other suggested replacements of Ethernet in order to provide more comparisons. I will also include more different metrics in order to allow a better comparison to be made.
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Work that has to be done
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+The project breaks down into the following main sections:-
+\end_layout
+
+\begin_layout Enumerate
+
+\size large
+
+The implementation of MOOSE on ns2, a well known Network Simulator.
+\end_layout
+
+\begin_layout Enumerate
+
+\size large
+
+The design of a number of simulations designed to show the differences between Ethernet and MOOSE.
+\end_layout
+
+\begin_layout Enumerate
+
+\size large
+
+The comparative analysis of MOOSE and Ethernet using data gathered by simulation.
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Difficulties to Overcome
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+The following main learning tasks will have to be undertaken before the project can be started:
+\end_layout
+
+\begin_layout Itemize
+
+\size large
+
+To learn how to implement a protocol in ns2.
+\end_layout
+
+\begin_layout Itemize
+
+\size large
+
+To learn how to program in Tcl.
+\end_layout
+
+\begin_layout Itemize
+
+\size large
+
+To improve the use of git to allow version control of the project.
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Starting Point
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+I have knowledge of how Ethernet works from Digital Communications 1 and I am adept in writing C++ code. I have experience in compiling and building programs in a Linux architecture.
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Resources
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+In this project, I will be writing a fair amount of code in order to allow ns2 to simulate MOOSE. This code will be version controlled and backed up in order to ensure it is safe from any form of data loss. In order to achieve this I will be using a Ubuntu Linux desktop machine using git. This will allow the code to be version controlled. In order to back it up, I will push my changes in git onto both the PWF servers provided by the University Computing Service, and a separate Ubuntu Linux box that I own away from Cambridge.
+\end_layout
+
+\begin_layout Standard
+
+\size large
+
+The project will also require a dissertation to be written. This will be done on my laptop, which will again be backed up to the PWF and my server, and a external hard drive.
+\end_layout
+
+\size default
+
+\begin_layout Section*
+
+Work Plan
+\end_layout
+
+\end_body
+\end_document
diff --git a/docs/propbody.tex b/docs/propbody.tex
new file mode 100644 (file)
index 0000000..f99df7d
--- /dev/null
@@ -0,0 +1,168 @@
+
+% Draft 1
+
+\vfil
+
+\centerline{\Large Part II Computer Science Project Proposal}
+\vspace{0.4in}
+\centerline{\Large Simulation of Data Link Layer Protocols }
+\vspace{0.4in}
+\centerline{\large R.~J.~Whitehouse, Homerton College}
+\vspace{0.3in}
+\centerline{\large Originator: M.~Scott}
+\vspace{0.3in}
+\centerline{\large 14 October 2010}
+
+\vfil
+
+\subsection*{Special Resources Required}
+The use of my own desktop workstation (2.6 GHz Intel Core 2 Q6600, 2 GB RAM and 3 TB Disk). \\
+File space on PWF -- 500 Mbytes\\
+File space on my own server -- 500 Mbytes\\
+The use of my laptop (2.13 GHz Intel Core 2 Duo, 2 GB RAM and 128 GB Disk).
+\vspace{0.2in}
+
+\noindent
+{\bf Project Supervisor:} M.~Scott
+\vspace{0.2in}
+
+\noindent
+{\bf Director of Studies:} Dr~R.~K.~Harle
+\vspace{0.2in}
+\noindent
+\noindent
+{\bf Project Overseers:} Dr~A.~Blackwell \& Dr~C.~Mascolo
+
+\vfil
+\pagebreak
+
+% Main document
+
+\section*{Introduction}
+
+In local area networks, Ethernet is the dominant data link layer protocol. Many attempts have been made to improve on its perceived weaknesses in terms of large amount of broadcast traffic, large forwarding tables required and poor routing.
+
+My aim is to compare one of these proposals, MOOSE (Multi-level Origin-Organised Scalable Ethernet) with Ethernet in a simulation in order to examine the advantages and disadvantages of such a replacement.
+
+My work will be focussed on providing an implementation of MOOSE in a commonly used network simulator - ns2, preparing a number of simulation scenarios and then generating data in order to allow a comparative analysis. The final stage of my project will be to evaluate the data produce in order to provide a useful comparison between the protocols.
+
+ns2 is a heavily used network simulator used in research. It is available under the GNU General Public License and is written in C++ and Tcl.  
+
+The data gathered for comparative analysis will aim to show the differences and similarities between MOOSE and Ethernet. This will consist of, among other metrics, the size of the forwarding tables in the switches in the network, the number of messages sent across all switches and a representation of how many of these are control messages. 
+
+The simulation will be done on a mixture of generated data, and anonymized data traces which is publicly available. This is to attempt to ensure that valid metrics are obtained for a variety of different network configurations. Alongside the anonymized data traces, the generated data will be designed to conform to publicly available statistics of network data.
+
+\section*{Work that has to be done}
+
+The project breaks down into the following main sections:-
+
+\begin{enumerate}
+
+\item The exploration of the implementation of Ethernet on ns2 - confirming it passes various tests and analysis of the implementation.
+
+\item The implementation of MOOSE on ns2.
+
+This will involve modifying the Ethernet protocol provided by ns2 to incorporate MOOSE semantics. This should include switches that are able to accept hosts being attached to them, rewrite packets with Ethernet addresses into ones with MOOSE addresses and vice versa, and participate in a network - including being able to transmit and receive packets from other hosts.
+
+As an extension, various different routing protocols should be implemented to allow their characteristics with MOOSE to be varied.
+
+\item The design of a number of simulations designed to show the differences between Ethernet and MOOSE.
+
+MOOSE is designed to perform better on large networks, while Ethernet was originally designed for networks with fewer than a thousand hosts. Several different network topologies should be experimented with in order to show the differences between the protocols. Realistic networks should be used to show the practical applications of both, while extreme network topologies should be designed to test the limits of the design.
+
+\item The comparative analysis of MOOSE and Ethernet using data gathered by simulation.
+
+A variety of metrics should be gathered - ideally showing all the differences between MOOSE and Ethernet. These should be analysed to see how they would affect real world performance and how relevant the simulation is to potential real world implementations.
+
+This will also involve using data provided from elsewhere which should be modified into a form acceptable by the simulator. Additional data will also need to be generated and effort should be taken to ensure that this data is realistic.
+
+\end{enumerate}
+
+\section*{Evaluating the success of the project}
+
+The success of this project will be measured against a number of criteria. These are:
+
+\begin{enumerate}
+
+\item The correct implementation of simulated MOOSE switch which performs addressing rewriting and performs correctly in a network involving both other MOOSE switches and other Ethernet switches. This will be tested by simulating the switch inside ns2 and then using a number of unit tests to ensure it is performing correctly.
+
+\item The formation of a number of network topologies which seek to show the difference between Ethernet and MOOSE. This will be evaluated under simulation by showing the difference in a number of metrics.
+
+\item The collection of a number of metrics showing the difference between the protocols, including the following:
+
+\begin{itemize}
+
+\item The size of the state data held by the switch and change in performance characteristics as this reaches a predefined limit.
+
+\item The amount of overhead in terms of control messages relative to the amount of data transfered.
+
+\item The efficiency of the routes used by the protocol.
+
+\end{itemize}
+
+\end{enumerate}
+
+\section*{Difficulties to Overcome}
+
+The following main learning tasks will have to be undertaken before 
+the project can be started:
+
+\begin{itemize}
+
+\item To learn how to implement a protocol in ns2.
+
+\item To learn how to program in Tcl.
+
+\item To improve the use of git to allow version control of the project.
+
+\end{itemize}
+
+\section*{Starting Point}
+
+I have knowledge of how Ethernet works from Digital Communications 1 and I am adept in writing C++ code. I have experience in compiling and building programs in a Linux architecture.
+
+ns2 includes a implementation of Ethernet which I will use as a basis for creating the MOOSE protocol implementation. It also includes several implementations of different routing algorithms.
+
+\section*{Resources}
+
+In this project, I will be writing a fair amount of code in order to allow ns2 to simulate MOOSE. This code will be version controlled and backed up in order to ensure it is safe from any form of data loss. In order to achieve this I will be using a Ubuntu Linux desktop machine using git. This will allow the code to be version controlled. In order to back it up, I will push my changes in git onto both the PWF servers provided by the University Computing Service, and a separate Ubuntu Linux box that I own away from Cambridge.
+
+The project will also require a dissertation to be written. This will be done on my laptop, which will again be backed up to the PWF and my server, and a external hard drive.
+
+\section*{Work Plan}
+
+The planned start date is 25th October 2010. Up until this point, I will do preparatory work such as arranging materials, and doing background research. The work will be divided up into fortnightly segments.
+
+\begin{itemize}
+
+\item {\bf 25th October 2010 - 14th November 2010} This time will be spent doing preparatory work such as learning how to use the ns2 simulator and learning Tcl which will be used in the project.
+
+\item {\bf 15th Novemer 2010 - 28th November 2010} I will start the implementation of the MOOSE protocol for ns2. In this week I shall explore the current Ethernet implementation and work out what code needs replacing. I shal start implementing the address rewriting.
+
+\item {\bf 29th November 2010 - 12th December 2010} I will complete the address rewriting for the switches and begin work on the reworking the forwarding table. 
+
+\item {\bf 13th December 2010 - 26th December 2010} By the end of this period, I will have completed the work on the forwarding table and shall have a working MOOSE switch.
+
+\item {\bf 27th December 2010 - 9th January 2011} During this time, I shall work on implementing extensions identified in MOOSE such as improving the routing protocol and implementing auto-configuration.
+
+\item {\bf 10th January 2011 - 23rd January 2011} At this point, I will have a working MOOSE switch in ns2. At this point I shall start work on using the switch for simulation. I shall spend this week preparing the publicly available data for testing and designing network topologies.
+
+\item {\bf 24th Janary 2011 - 6th February 2011} During this fortnight I shall write the progress report and start work on testing the infrastructure to collect metrics. I shall then start inputting data for the simulation.
+
+\item {\bf 7th February 2011 - 20th February 2011} By the end of this fortnight, I aim to have a complete set of simulation data. This will involve completing the network tests and compiling the metrics gathered.
+
+\item {\bf 21st February 2011 - 6th March 2011} At this point I will begin the dissertation write up. By the end of this period I aim to have the introduction and preparation chapters complete.
+
+\item {\bf 7th March 2011 - 20th March 2011} I will continue the dissertation write up. By the end of this period I aim to have the implementation and evaluation chapters complete.
+
+\item {\bf 21st March 2011 - 3rd April 2011} By the end of this period I will have completed the dissertation write up. This will involve completing the conclusion chapter and ensuring that it is a coherent document.
+
+\item {\bf 4th April 2011 - 17th April 2011} I shall use this time for making any changes to the dissertation necessary.
+
+\item {\bf 18th April 2011 - 1st May 2011} I have left this time empty to allow any catchup necessary and to do final finishing touches.
+
+\item {\bf 2nd May 2011 - 16th May 2011} Final changes made to dissertation. Print and bind report ready to hand in. Remind supervisor to complete report form ready for the deadline.
+
+\end{itemize}
+
diff --git a/docs/proposal.tex b/docs/proposal.tex
new file mode 100644 (file)
index 0000000..9b1ac90
--- /dev/null
@@ -0,0 +1,14 @@
+% This is a LaTeX driving document to produce a standalone copy
+% of the project proposal held in propbody.tex.  Notice that
+% propbody can be used in this context as well as being incorporated
+% in the dissertation (see diss.tex).
+
+\documentstyle[12pt,a4]{article}
+\begin{document}
+
+\include{propbody}
+
+\end{document}
+
+
+
diff --git a/docs/refs.bib b/docs/refs.bib
new file mode 100644 (file)
index 0000000..4c9225c
--- /dev/null
@@ -0,0 +1,11 @@
+@BOOK{Lamport86,
+TITLE = "{LaTeX} --- a document preparation system --- user's guide
+and reference manual",
+AUTHOR = "Lamport, L.",
+PUBLISHER = "Addison-Wesley",
+YEAR = "1986"}
+
+@REPORT{Moore95,
+TITLE = "How to prepare a dissertation in LaTeX",
+AUTHOR = "Moore, S.W.",
+YEAR = "1995"}