source: doc/theses/thierry_delisle_MMath/text/frontpgs.tex @ c588acb

Last change on this file since c588acb was 67982887, checked in by Peter A. Buhr <pabuhr@…>, 6 years ago

specialize thesis directory-names

  • Property mode set to 100644
File size: 5.4 KB
Line 
1% T I T L E   P A G E
2% -------------------
3% Last updated May 24, 2011, by Stephen Carr, IST-Client Services
4% The title page is counted as page `i' but we need to suppress the
5% page number.  We also don't want any headers or footers.
6\pagestyle{empty}
7\pagenumbering{roman}
8
9% The contents of the title page are specified in the "titlepage"
10% environment.
11\begin{titlepage}
12        \begin{center}
13        \vspace*{1.0cm}
14
15        \Huge
16        {\bf Concurrency in \CFA}
17
18        \vspace*{1.0cm}
19
20        \normalsize
21        by \\
22
23        \vspace*{1.0cm}
24
25        \Large
26        Thierry Delisle \\
27
28        \vspace*{3.0cm}
29
30        \normalsize
31        A thesis \\
32        presented to the University of Waterloo \\
33        in fulfillment of the \\
34        thesis requirement for the degree of \\
35        Master of Mathematics \\
36        in \\
37        Computer Science \\
38
39        \vspace*{2.0cm}
40
41        Waterloo, Ontario, Canada, 2018 \\
42
43        \vspace*{1.0cm}
44
45        \copyright\ Thierry Delisle 2018 \\
46        \end{center}
47\end{titlepage}
48
49% The rest of the front pages should contain no headers and be numbered using Roman numerals starting with `ii'
50\pagestyle{plain}
51\setcounter{page}{2}
52
53\cleardoublepage % Ends the current page and causes all figures and tables that have so far appeared in the input to be printed.
54% In a two-sided printing style, it also makes the next page a right-hand (odd-numbered) page, producing a blank page if necessary.
55
56
57
58% D E C L A R A T I O N   P A G E
59% -------------------------------
60  % The following is the sample Delaration Page as provided by the GSO
61  % December 13th, 2006.  It is designed for an electronic thesis.
62  \noindent
63%I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners.
64
65  \bigskip
66
67  \noindent
68
69  I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners.
70
71
72  I understand that my thesis may be made electronically available to the public.
73
74\cleardoublepage
75%\newpage
76
77% A B S T R A C T
78% ---------------
79
80\begin{center}\textbf{Abstract}\end{center}
81
82\CFA is a modern, non-object-oriented extension of the C programming language. This thesis serves as a definition and an implementation for the concurrency and parallelism \CFA offers. These features are created from scratch due to the lack of concurrency in ISO C. Lightweight threads are introduced into the language. In addition, monitors are introduced as a high-level tool for control-flow based synchronization and mutual-exclusion. The main contributions of this thesis are two-fold: it extends the existing semantics of monitors introduce by~\cite{Hoare74} to handle monitors in groups and also details the engineering effort needed to introduce these features as core language features. Indeed, these features are added with respect to expectations of C programmers, and integrate with the \CFA type-system and other language features.
83
84
85\cleardoublepage
86%\newpage
87
88% A C K N O W L E D G E M E N T S
89% -------------------------------
90
91\begin{center}\textbf{Acknowledgements}\end{center}
92
93I would like to thank my supervisor, Professor Peter Buhr, for his guidance through my degree as well as the editing of this document.
94
95I would like to thank Professors Martin Karsten and Gregor Richards, for reading my thesis and providing helpful feedback.
96
97Thanks to Aaron Moss, Rob Schluntz and Andrew Beach for their work on the \CFA project as well as all the discussions which have helped me concretize the ideas in this thesis.
98
99Finally, I acknowledge that this has been possible thanks to the financial help offered by the David R. Cheriton School of Computer Science and the corporate partnership with Huawei Ltd.
100
101\cleardoublepage
102%\newpage
103
104% % D E D I C A T I O N
105% % -------------------
106
107% \begin{center}\textbf{Dedication}\end{center}
108
109% % This is dedicated to the one I love.
110% TODO
111% \cleardoublepage
112% %\newpage
113
114% T A B L E   O F   C O N T E N T S
115% ---------------------------------
116\renewcommand\contentsname{Table of Contents}
117\tableofcontents
118\cleardoublepage
119\phantomsection
120%\newpage
121
122% L I S T   O F   T A B L E S
123% ---------------------------
124\addcontentsline{toc}{chapter}{List of Tables}
125\listoftables
126\cleardoublepage
127\phantomsection         % allows hyperref to link to the correct page
128%\newpage
129
130% L I S T   O F   F I G U R E S
131% -----------------------------
132\addcontentsline{toc}{chapter}{List of Figures}
133\listoffigures
134\cleardoublepage
135\phantomsection         % allows hyperref to link to the correct page
136%\newpage
137
138% L I S T   O F   L I S T I N G S
139% -----------------------------
140\addcontentsline{toc}{chapter}{List of Listings}
141\lstlistoflistings
142\cleardoublepage
143\phantomsection         % allows hyperref to link to the correct page
144%\newpage
145
146% L I S T   O F   S Y M B O L S
147% -----------------------------
148% To include a Nomenclature section
149% \addcontentsline{toc}{chapter}{\textbf{Nomenclature}}
150% \renewcommand{\nomname}{Nomenclature}
151% \printglossary
152% \cleardoublepage
153% \phantomsection % allows hyperref to link to the correct page
154% \newpage
155
156% L I S T   O F   T A B L E S
157% -----------------------------
158\addcontentsline{toc}{chapter}{List of Acronyms}
159\printglossary[type=\acronymtype,title={List of Acronyms}]
160\cleardoublepage
161\phantomsection         % allows hyperref to link to the correct page
162
163% Change page numbering back to Arabic numerals
164\pagenumbering{arabic}
165
Note: See TracBrowser for help on using the repository browser.