s/Dr./Prof./
[~bandali/bndl.org] / mmath.m4
CommitLineData
eb1aab37
AB
1dnl -*- html -*-
2define(__title, `Master of Mathematics')dnl
3define(__slug, `mmath')dnl
4include(header.html)dnl
5
6<article>
7<h1>Master of Mathematics</h1>
8
fcc5b13a
AB
9<p class="justify">I graduated from the University of Waterloo with
10the degree of Master of Mathematics in Computer Science in Spring
112020. My research at the <a href="//watform.uwaterloo.ca">Waterloo
12Formal Methods</a> group focused on formal logic, model checking, and
13verification; under supervision of
7602da83 14<a href="//cs.uwaterloo.ca/~nday/">Prof. Nancy Day</a>.</p>
eb1aab37
AB
15
16<h2>A Comprehensive Study of Declarative Modelling Languages</h2>
fcc5b13a
AB
17dnl
18dnl<p><em>Jump to:</em>
19dnl<a href="#thesis">thesis</a> |
20dnl<a href="#presentation">presentation</a> |
21dnl<a href="#models">models</a></p>
eb1aab37
AB
22
23<h3 id="thesis">Thesis</h3>
24
25<p>Reference version:
26<a href="//p.bndl.org/bandali-mmath-thesis.pdf">pdf</a> |
be86a872 27<a href="bandali-bib#bandali2020">bib</a><br/>
fcc5b13a
AB
28__latex sources:
29<a href="//p.bndl.org/bandali-mmath-thesis.tar.gz">tar.gz</a> |
30<a href="//p.bndl.org/bandali-mmath-thesis.zip">zip</a></p>
eb1aab37 31
573bd43b
AB
32<details>
33<summary>Abstract</summary>
eb1aab37
AB
34<blockquote id="abstract">
35<p>Declarative behavioural modelling is a powerful modelling paradigm
36that enables users to model system functionality abstractly and
37formally. An abstract model is a concise and compact representation
38of key characteristics of a system, and enables the stakeholders to
39reason about the correctness of the system in the early stages of
40development.</p>
41
42<p>There are many different declarative languages and they have
43greatly varying constructs for representing a transition system, and
44they sometimes differ in rather subtle ways. In this thesis, we
45compare seven formal declarative modelling languages B, Event-B,
46Alloy, Dash, TLA<sup>+</sup>, PlusCal, and AsmetaL on several
47criteria. We classify these criteria under three main categories:
48structuring transition systems (control modelling), data descriptions
49in transition systems (data modelling), and modularity aspects of
50modelling. We developed this comparison by completing a set of case
51studies across the data- vs. control-oriented spectrum in all of the
52above languages.</p>
53
54<p>Structurally, a transition system is comprised of a snapshot
55declaration and snapshot space, initialization, and a transition
56relation, which is potentially composed of individual transitions. We
57meticulously outline the differences between the languages with
58respect to how the modeller would express each of the above components
59of a transition system in each language, and include discussions
60regarding stuttering and inconsistencies in the transition relation.
61Data-related aspects of a formal model include use of basic and
62composite datatypes, well-formedness and typechecking, and separation
63of name spaces with respect to global and local variables. Modularity
64criteria includes subtransition systems and data decomposition. We
65employ a series of small and concise exemplars we have devised to
66highlight these differences in each language. To help modellers
67answer the important question of which declarative modelling language
68may be most suited for modelling their system, we present
69recommendations based on our observations about the differentiating
70characteristics of each of these languages.</p>
71</blockquote>
573bd43b 72</details>
eb1aab37 73
573bd43b
AB
74<details open>
75<summary>License</summary>
fcc5b13a
AB
76<pre>
77This thesis is free software: you can redistribute it and/or modify
78it under the terms of the GNU General Public License as published by
79the Free Software Foundation, either version 3 of the License, or
80(at your option) any later version.
81
82This thesis is distributed in the hope that it will be useful,
83but WITHOUT ANY WARRANTY; without even the implied warranty of
84MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
85GNU General Public License for more details.
86
87You should have received a copy of the GNU General Public License
88along with this thesis. If not, see &lt;<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>&gt;.
89</pre>
573bd43b 90</details>
fcc5b13a
AB
91
92<p>A copy of the GNU General Public License is available
93from <a href="gpl-3.0.html">gpl-3.0.html</a>, as well as in
94the <code>COPYING</code> file included in both of the __latex source
95archives linked above.</p>
96
eb1aab37
AB
97<h3 id="presentation">Presentation</h3>
98
99<p>Reference version:
100pdf (coming soon)<br/>
fcc5b13a
AB
101__latex sources:
102tar.gz | zip (coming soon)</p>
eb1aab37
AB
103
104<p>This is the presentation I delivered to my supervisor and the
105second readers of my thesis on Jun 30, 2020, as
106<a href="//cs.uwaterloo.ca/events/masters-thesis-presentation-formal-methods-comprehensive-study-declarative-modelling-languages">announced</a>
107on the Cheriton School of Computer Science website.</p>
108
109<h3 id="models">Models</h3>
110
111<p>Reference version:
fcc5b13a 112tar.gz | zip (coming soon)</p>
eb1aab37
AB
113</article>
114
115define(__copy, `2020')dnl
116include(footer.html)dnl