minor patch
[phd-thesis.git] / preamble / glossaries.tex
1 \usepackage[nolangwarn,abbreviations,nonumberlist,prefix]{glossaries-extra}
2 \setabbreviationstyle{long-short-sc}
3 \setabbreviationstyle[noexpand]{short-nolong}
4 \Addlcwords{of}
5 \usepackage{glossary-mcols}
6 \pdfstringdefDisableCommands{%
7 \def\glsxtrlong#1{}%
8 \def\glsxtrlongpl#1{}%
9 \def\glsxtrshort#1{}%
10 \def\glsxtrshortpl#1{}%
11 \def\acrfull#1{}%
12 \def\acrfullpl#1{}%
13 \def\Glsxtrlong#1{}%
14 \def\Glsxtrlongpl#1{}%
15 \def\Glsxtrshort#1{}%
16 \def\Glsxtrshortpl#1{}%
17 \def\Acrfull#1{}%
18 \def\Acrfullpl#1{}%
19 \def\gls#1{}%
20 \def\glspl#1{}%
21 \def\glsentrytext#1{}%
22 \def\Gls#1{}%
23 \def\Glspl#1{}%
24 \def\Glsentrytext#1{}%
25 \def\titlecap#1{}%
26 \def\MakeUppercase#1{}%
27 }
28
29 % Initialize the glossaries
30 \makeglossaries%
31
32 % Acronym
33 \newcommand{\myacronym}[4][]{%
34 % \newacronym[type=\glsdefaulttype,#1]{#2}{#3}{#4}
35 \newabbreviation[#1]{#2}{#3}{#4}
36 }
37 \myacronym[category=noexpand]{3COWS}{3cows}{The three ``CO'' (Composability, Comprehensibility, Correctness) winter school}
38 \myacronym{ADC}{adc}{analog-to-digital converter}
39 \myacronym{ADT}{adt}{algebraic data type}
40 \myacronym{AST}{ast}{abstract syntax tree}
41 \myacronym{API}{api}{application programming interface}
42 \myacronym{ARDSL}{ardsl}{\gls{ARDUINO} \glsxtrshort{DSL}}
43 \myacronym[category=noexpand]{CEFP}{cefp}{Central European \glsxtrlong{FP} School}
44 \myacronym{CRS}{crs}{\gls{CLEAN} Raspberry Pi system}
45 \myacronym{CRTS}{crts}{\gls{CLEAN} Raspberry Pi temperature sensor}
46 \myacronym{CWS}{cws}{\gls{CLEAN} \gls{WEMOS} system}
47 \myacronym{CWTS}{cwts}{\gls{CLEAN} \gls{WEMOS} temperature sensor}
48 \myacronym{DHT}{dht}{digital humidity and temperature}
49 \myacronym{DSL}{dsl}{domain-specific language}
50 \myacronym{DVFS}{dvfs}{dynamic voltage and frequency scaling}
51 \myacronym{ECO2}{eCO\textsubscript{2}}{equivalent carbon dioxide}
52 \myacronym{EDSL}{edsl}{embedded \glsxtrlong{DSL}}
53 \myacronym[prefixfirst={a\ },prefix={an\ }]{FP}{fp}{functional programming}
54 \myacronym[prefixfirst={a\ },prefix={an\ }]{FRP}{frp}{functional reactive programming}
55 \myacronym[prefixfirst={a\ },prefix={an\ }]{FPGA}{fpga}{field-programmable gate array}
56 \myacronym{GADT}{gadt}{generalised \glsxtrshort{ADT}}
57 \myacronym{GHC}{ghc}{Glasgow \gls{HASKELL} Compiler}
58 \myacronym{GPIO}{gpio}{general-purpose \glsxtrlong{IO}}
59 \myacronym{GPL}{gpl}{general-purpose language}
60 \myacronym{GRS}{grs}{graph rewriting system}
61 \myacronym{GUI}{gui}{graphical \glsxtrlong{UI}}
62 \myacronym{HOAS}{hoas}{high-order abstract syntax}
63 \myacronym{IOT}{Io\kern-.3mmT}{internet of things}
64 \myacronym[category=noexpand]{IDE}{ide}{integrated development environment}
65 \myacronym[category=noexpand]{IO}{i/o}{input/output}
66 \myacronym{IR}{ir}{intermediate representation}
67 \myacronym{ISR}{isr}{interrupt service routine}
68 \myacronym{LEAN}{lean}{language of East-Anglia and Nijmegen}
69 \myacronym[category=noexpand,prefixfirst={a\ },prefix={an\ }]{LED}{led}{light-emitting diode}
70 \myacronym[category=noexpand]{OLED}{oled}{organic \glsxtrshort{LED}}
71 \myacronym[category=noexpand]{OS}{os}{operating system}
72 \myacronym{OTA}{ota}{over-the-air}
73 \myacronym{PIR}{pir}{passive infrared}
74 \myacronym{PFRP}{p-frp}{priority-based \glsxtrshort{FRP}}
75 \myacronym{PRS}{prs}{\gls{PYTHON} Raspberry Pi system}
76 \myacronym{PWS}{pws}{\gls{MICROPYTHON} \gls{WEMOS} system}
77 \myacronym{PRTS}{prts}{\gls{PYTHON} Raspberry Pi temperature sensor}
78 \myacronym{PWTS}{pwts}{\gls{MICROPYTHON} \gls{WEMOS} temperature sensor}
79 \myacronym{QDSL}{qdsl}{quoted \glsxtrshort{DSL}}
80 \myacronym[category=noexpand]{RAM}{ram}{random-access memory}
81 \myacronym{RFID}{rfid}{radio-frequency identification}
82 \myacronym{RTOS}{rtos}{real-time \glsxtrshort{OS}}
83 \myacronym{RTS}{rts}{run-time system}
84 \myacronym[prefixfirst={a\ },prefix={an\ }]{SDS}{sds}{shared data source}
85 \myacronym[prefixfirst={a\ },prefix={an\ }]{SN}{sn}{sensor network}
86 \myacronym{SLOC}{sloc}{source lines of code}
87 \myacronym{TH}{th}{Template \gls{HASKELL}}
88 \myacronym[category=noexpand]{TCP}{tcp}{transmission control protocol}
89 \myacronym{TOP}{top}{task-oriented programming}
90 \myacronym{TOSD}{tosd}{task-oriented software development}
91 \myacronym{TRS}{trs}{term rewriting system}
92 \myacronym{TTH}{tth}{typed \glsxtrlong{TH}}
93 \myacronym{TVOC}{tvoc}{total volatile organic compounds}
94 \myacronym{UI}{ui}{user interface}
95 \myacronym{UOD}{uod}{universe of discourse}
96 \myacronym{UOG}{uog}{University of Glasgow}
97 \myacronym{VM}{vm}{virtual machine}
98
99 % Glossaries
100 \newglossaryentry{ABC}{%
101 name=ABC,
102 description={- \gls{CLEAN}'s intermediate graph-rewriting language},
103 }
104 \newglossaryentry{MTASK}{%
105 name=mTask,
106 description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for edge devices integrated with the \gls{ITASK} system},
107 }
108 \newglossaryentry{ITASK}{%
109 name=iTask,
110 description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for creating distributed multi-user collaborative web applications},
111 }
112 \newglossaryentry{TOPHAT}{%
113 name=TopHat,
114 description={- a \glsxtrshort{TOP} language designed to formally capture the essence of \gls{TOP}}
115 }
116 \newglossaryentry{CLEAN}{%
117 name=Clean,
118 description={- Clean \glsxtrlong{LEAN}, a pure lazy \glsxtrlong{FP} language based on graph rewriting}
119 }
120 \newglossaryentry{HASKELL}{%
121 name=Haskell,
122 description={- a pure lazy \glsxtrlong{FP} language designed by a committe as a concept language}
123 }
124 \newglossaryentry{HASKELL98}{%
125 name=Haskell98,
126 description={- a standardised version of \gls{HASKELL}},
127 }
128 \newglossaryentry{ARDUINO}{%
129 name=Arduino,
130 description={- a widely used framework for programming microcontrollers}
131 }
132 \newglossaryentry{MBED}{%
133 name=mbed,
134 description={- a widely used framework for programming microcontrollers designed for ARM cortex-M}
135 }
136 \newglossaryentry{CPP}{
137 name=C\texttt{++},
138 description={- a general-purpose imperative programming language based on \gls{C}}
139 }
140 \newglossaryentry{C}{
141 name=C,
142 description={- a general-purpose imperative programming}
143 }
144 \newglossaryentry{I2C}{
145 name=I\textsuperscript{2}C,
146 description={(Inter-Integrated Circuit) {-} a simple serial communication protocol often used to connect sensors to microcontrollers}
147 }
148 \newglossaryentry{WIFI}{
149 name=Wi-Fi,
150 description={- is a family of wireless network protocols commonly used for local area networking}
151 }
152 \newglossaryentry{SPI}{
153 name=SPI,
154 description={(Serial Peripheral Interface) {-} a synchronous serial communication protocol often used to connect sensors to microcontrollers}
155 }
156 \newglossaryentry{TINYML}{
157 name=TinyML,
158 description={- a deep learning framework for microcontrollers}
159 }
160 \newglossaryentry{PYTHON}{
161 name=Python,
162 description={- a multi-paradigm interpreted programming language}
163 }
164 \newglossaryentry{MICROPYTHON}{
165 name=MicroPython,
166 description={- a \gls{PYTHON} implementation tailored for microcontrollers}
167 }
168 \newglossaryentry{FREERTOS}{
169 name=FreeRTOS,
170 description={- an open-source \glsxtrshort{RTOS} for microcontrollers}
171 }
172 \newglossaryentry{ONEWIRE}{
173 name=1-wire,
174 description={- a simple single wire communication protocol often used to connect sensors to microcontrollers}
175 }
176 \newglossaryentry{JSON}{
177 name=JSON,
178 description={(JavaScript Object Notation) {-} a open data interchange format using human readable text}
179 }
180 \newglossaryentry{MQTT}{
181 name=MQTT,
182 description={(MQ Telemetry Transport) {-} a publish-subscribe network protocol designed for resource constrained devices}
183 }
184 \newglossaryentry{WEMOS}{
185 name=WEMOS,
186 description={- a popular ESP8266 microcontroller based prototyping platform supporting \gls{ARDUINO}.}
187 }