many many updates
[phd-thesis.git] / glossaries.tex
1 % Acronym
2 \newcommand{\myacronym}[4][]{%
3 % \newacronym[type=\glsdefaulttype,#1]{#2}{#3}{#4}
4 \newabbreviation[#1]{#2}{#3}{#4}
5 }
6 \myacronym[category=noexpand]{3COWS}{3COWS}{The three ``CO'' (Composability, Comprehensibility, Correctness) winter school}
7 \myacronym{ADC}{ADC}{analog-to-digital converter}
8 \myacronym{ADT}{ADT}{algebraic data type}
9 \myacronym{API}{API}{application programming interface}
10 \myacronym{ARDSL}{ARDSL}{\gls{ARDUINO} \glsxtrshort{DSL}}
11 \myacronym[category=noexpand]{CEFP}{CEFP}{Central European Summer School of \glsxtrlong{FP}}
12 \myacronym{CRS}{CRS}{\gls{CLEAN} Raspberry Pi system}
13 \myacronym{CRTS}{CRTS}{\gls{CLEAN} Raspberry Pi temperature sensor}
14 \myacronym{CWS}{CWS}{\gls{CLEAN} \gls{WEMOS} system}
15 \myacronym{CWTS}{CWTS}{\gls{CLEAN} \gls{WEMOS} temperature sensor}
16 \myacronym{DHT}{DHT}{digital humidity and temperature}
17 \myacronym{DSL}{DSL}{domain-specific language}
18 \myacronym{DVFS}{DVFS}{dynamic voltage and frequency scaling}
19 \myacronym{ECO2}{eCO\textsubscript{2}}{equivalent carbon dioxide}
20 \myacronym{EDSL}{eDSL}{embedded \glsxtrlong{DSL}}
21 \myacronym[prefixfirst={a\ },prefix={an\ }]{FP}{FP}{functional programming}
22 \myacronym[prefixfirst={a\ },prefix={an\ }]{FRP}{FRP}{functional reactive programming}
23 \myacronym[prefixfirst={a\ },prefix={an\ }]{FPGA}{FPGA}{field-programmable gate array}
24 \myacronym{GADT}{GADT}{generalised \glsxtrshort{ADT}}
25 \myacronym{GHC}{GHC}{Glasgow \gls{HASKELL} Compiler}
26 \myacronym{GPIO}{GPIO}{general-purpose \glsxtrlong{IO}}
27 \myacronym{GPL}{GPL}{general-purpose language}
28 \myacronym{GRS}{GRS}{graph rewriting system}
29 \myacronym{GUI}{GUI}{graphical \glsxtrlong{UI}}
30 \myacronym{HOAS}{HOAS}{high-order abstract syntax}
31 \myacronym{IOT}{Io\kern-.3mmT}{internet of things}
32 \myacronym[category=noexpand]{IDE}{IDE}{integrated development environment}
33 \myacronym[category=noexpand]{IO}{I/O}{input/output}
34 \myacronym{IR}{IR}{intermediate representation}
35 \myacronym{ISR}{ISR}{interrupt service routine}
36 \myacronym{LEAN}{LEAN}{language of East-Anglia and Nijmegen}
37 \myacronym[prefixfirst={a\ },prefix={an\ }]{LED}{LED}{light-emitting diode}
38 \myacronym{OLED}{OLED}{organic \glsxtrlong{LED}}
39 \myacronym[category=noexpand]{OS}{OS}{operating system}
40 \myacronym{OTA}{OTA}{over-the-air}
41 \myacronym{PIR}{PIR}{passive infrared}
42 \myacronym{PFRP}{P-FRP}{priority-based \glsxtrlong{FRP}}
43 \myacronym{PRS}{PRS}{\gls{PYTHON} Raspberry Pi system}
44 \myacronym{PWS}{PWS}{\gls{MICROPYTHON} \gls{WEMOS} system}
45 \myacronym{PRTS}{PRTS}{\gls{PYTHON} Raspberry Pi temperature sensor}
46 \myacronym{PWTS}{PWTS}{\gls{MICROPYTHON} \gls{WEMOS} temperature sensor}
47 \myacronym{QDSL}{QDSL}{quoted \glsxtrshort{DSL}}
48 \myacronym[category=noexpand]{RAM}{RAM}{random-access memory}
49 \myacronym{RFID}{RFID}{radio-frequency identification}
50 \myacronym{RTOS}{RTOS}{real-time \glsxtrshort{OS}}
51 \myacronym{RTS}{RTS}{run-time system}
52 \myacronym[prefixfirst={a\ },prefix={an\ }]{SDS}{SDS}{shared data source}
53 \myacronym[prefixfirst={a\ },prefix={an\ }]{SN}{SN}{sensor network}
54 \myacronym{SLOC}{SLOC}{source lines of code}
55 \myacronym{TH}{TH}{Template \gls{HASKELL}}
56 \myacronym[category=noexpand]{TCP}{TCP}{transmission control protocol}
57 \myacronym{TOP}{TOP}{task-oriented programming}
58 \myacronym{TOSD}{TOSD}{task-oriented software development}
59 \myacronym{TRS}{TRS}{term rewriting system}
60 \myacronym{TTH}{TTH}{typed \glsxtrlong{TH}}
61 \myacronym{TVOC}{TVOC}{total volatile organic compounds}
62 \myacronym{UI}{UI}{user interface}
63 \myacronym{UOD}{UoD}{universe of discourse}
64 \myacronym{UOG}{UoG}{University of Glasgow}
65 \myacronym{VM}{VM}{virtual machine}
66
67 % Glossaries
68 \newglossaryentry{ABC}{%
69 name=ABC,
70 description={- \gls{CLEAN}'s intermediate graph-rewriting language},
71 }
72 \newglossaryentry{MTASK}{%
73 name=mTask,
74 description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for microcontrollers integrated with the \gls{ITASK} system},
75 }
76 \newglossaryentry{ITASK}{%
77 name=iTask,
78 description={- a \glsxtrshort{TOP} \glsxtrshort{EDSL} for creating distributed multi-user collaborative web applications},
79 }
80 \newglossaryentry{TOPHAT}{%
81 name=TopHat,
82 description={- a \glsxtrshort{TOP} language designed to formally capture the essence of \gls{TOP}}
83 }
84 \newglossaryentry{CLEAN}{%
85 name=Clean,
86 description={- Clean \glsxtrlong{LEAN}, a pure lazy \glsxtrlong{FP} language based on graph rewriting}
87 }
88 \newglossaryentry{HASKELL}{%
89 name=Haskell,
90 description={- a pure lazy \glsxtrlong{FP} language designed by a committe as a concept language}
91 }
92 \newglossaryentry{HASKELL98}{%
93 name=Haskell98,
94 description={- a standardised version of \gls{HASKELL}},
95 }
96 \newglossaryentry{ARDUINO}{%
97 name=Arduino,
98 description={- a widely used framework for programming microcontrollers}
99 }
100 \newglossaryentry{MBED}{%
101 name=mbed,
102 description={- a widely used framework for programming microcontrollers designed for ARM cortex-M}
103 }
104 \newglossaryentry{CPP}{
105 name=C\texttt{++},
106 description={- a general-purpose imperative programming language based on \gls{C}}
107 }
108 \newglossaryentry{C}{
109 name=C,
110 description={- a general-purpose imperative programming}
111 }
112 \newglossaryentry{I2C}{
113 name=I\textsuperscript{2}C,
114 description={(Inter-Integrated Circuit) {-} a simple serial communication protocol often used to connect sensors to microcontrollers}
115 }
116 \newglossaryentry{SPI}{
117 name=SPI,
118 description={(Serial Peripheral Interface) {-} a synchronous serial communication protocol often used to connect sensors to microcontrollers}
119 }
120 \newglossaryentry{TINYML}{
121 name=TinyML,
122 description={- a deep learning framework for microcontrollers}
123 }
124 \newglossaryentry{PYTHON}{
125 name=Python,
126 description={- a multi-paradigm interpreted programming language}
127 }
128 \newglossaryentry{MICROPYTHON}{
129 name=MicroPython,
130 description={- a \gls{PYTHON} implementation tailored for microcontrollers}
131 }
132 \newglossaryentry{FREERTOS}{
133 name=FreeRTOS,
134 description={- an open-source \gls{RTOS} for microcontrollers}
135 }
136 \newglossaryentry{ONEWIRE}{
137 name=1-wire,
138 description={- a simple single wire communication protocol often used to connect sensors to microcontrollers}
139 }
140 \newglossaryentry{JSON}{
141 name=JSON,
142 description={(JavaScript Object Notation) {-} a open data interchange format using human readable text}
143 }
144 \newglossaryentry{MQTT}{
145 name=MQTT,
146 description={(MQ Telemetry Transport) {-} a publish-subscribe network protocol designed for resource constrained devices}
147 }
148 \newglossaryentry{WEMOS}{
149 name=WEMOS,
150 description={- a popular ESP8266 microcontroller based prototyping platform supporting \gls{ARDUINO}.}
151 }