restructure
[phd-thesis.git] / glossaries.tex
index ea4cb3f..b378c46 100644 (file)
@@ -1,90 +1,98 @@
-% Acronyms
-\newacronym{3COWS}{3COWS}{The three ``CO'' (Composability, Comprehensibility, Correctness) winter school}
-\newacronym{ADC}{ADC}{analog-to-digital converter}
-\newacronym{ADT}{ADT}{algebraic data type}
-\newacronym{API}{API}{application programming interface}
-\newacronym{ARDSL}{ARDSL}{\gls{ARDUINO} \acrshort{DSL}}
-\newacronym{BLE}{BLE}{Bluetooth low energy}
-\newacronym{CEFP}{CEFP}{central European summer school of \acrlong{FP}}
-\newacronym{CRS}{CRS}{\gls{CLEAN} Raspberry Pi system}
-\newacronym{CRTS}{CRTS}{\gls{CLEAN} Raspberry Pi temperature sensor}
-\newacronym{CWS}{CWS}{\gls{CLEAN} wemos system}
-\newacronym{CWTS}{CWTS}{\gls{CLEAN} wemos temperature sensor}
-\newacronym{DHT}{DHT}{digital humidity and temperature}
-\newacronym{DSL}{DSL}{domain-specific language}
-\newacronym{ECO2}{eCO\textsubscript{2}}{equivalent carbon dioxide}
-\newacronym{EDSL}{eDSL}{embedded \acrshort{DSL}}
-\newacronym{FP}{FP}{functional programming}
-\newacronym{FRP}{FRP}{functional reactive programming}
-\newacronym{GADT}{GADT}{generalised \acrshort{ADT}}
-\newacronym{GHC}{GHC}{Glasgow \gls{HASKELL} Compiler}
-\newacronym{GPIO}{GPIO}{general-purpose \acrlong{IO}}
-\newacronym{GPL}{GPL}{general-purpose language}
-\newacronym{GRS}{GRS}{graph rewriting system}
-\newacronym{GUI}{GUI}{graphical \acrlong{UI}}
-\newacronym{HOAS}{HOAS}{high-order abstract syntax}
-\newacronym{IOT}{IoT}{internet of things}
-\newacronym{IDE}{IDE}{integrated development environment}
-\newacronym{IO}{IO}{input/output}
-\newacronym{IR}{IL}{intermediate representation}
-\newacronym{LEAN}{LEAN}{language of East-Anglia and Nijmegen}
-\newacronym{LED}{LED}{light-emitting diode}
-\newacronym{MCU}{MCU}{microcontroller unit}
-\newacronym{OLED}{OLED}{organic \acrlong{LED}}
-\newacronym{OS}{OS}{operating system}
-\newacronym{OTA}{OTA}{over-the-air}
-\newacronym{PIR}{PIR}{passive infrared}
-\newacronym{PRS}{PRS}{\gls{PYTHON} Raspberry Pi system}
-\newacronym{PWS}{PWS}{\gls{MICROPYTHON} wemos system}
-\newacronym{PRTS}{PRTS}{\gls{PYTHON} Raspberry Pi temperature sensor}
-\newacronym{PWTS}{PWTS}{\gls{MICROPYTHON} wemos temperature sensor}
-\newacronym{QDSL}{QDSL}{quoted \acrshort{DSL}}
-\newacronym{RAM}{RAM}{random-access memory}
-\newacronym{RFID}{RFID}{radio-frequency identification}
-\newacronym{RTOS}{RTOS}{real-time \acrshort{OS}}
-\newacronym{RTS}{RTS}{run-time system}
-\newacronym{SDS}{SDS}{shared data source}
-\newacronym{SN}{SN}{sensor network}
-\newacronym{SLOC}{SLOC}{source lines of code}
-\newacronym{TH}{TH}{Template \gls{HASKELL}}
-\newacronym{TCP}{TCP}{transmission control protocol}
-\newacronym{TOP}{TOP}{task-oriented programming}
-\newacronym{TOSD}{TOSD}{task-oriented software development}
-\newacronym{TRS}{TRS}{term rewriting system}
-\newacronym{TTH}{TTH}{typed \acrlong{TH}}
-\newacronym{TVOC}{TVOC}{total volatile organic compounds}
-\newacronym{UI}{UI}{user interface}
-\newacronym{UOD}{UoD}{universe of discourse}
-\newacronym{UOG}{UoG}{University of Glasgow}
+% Acronym
+\newcommand{\myacronym}[4][]{%
+%      \newacronym[type=\glsdefaulttype,#1]{#2}{#3}{#4}
+       \newabbreviation[#1]{#2}{#3}{#4}
+}
+\myacronym{3COWS}{3COWS}{The three ``CO'' (Composability, Comprehensibility, Correctness) winter school}
+\myacronym{ADC}{ADC}{analog-to-digital converter}
+\myacronym{ADT}{ADT}{algebraic data type}
+\myacronym{API}{API}{application programming interface}
+\myacronym{ARDSL}{ARDSL}{\gls{ARDUINO} \glsxtrshort{DSL}}
+\myacronym{CEFP}{CEFP}{central European summer school of \glsxtrlong{FP}}
+\myacronym{CRS}{CRS}{\gls{CLEAN} Raspberry Pi system}
+\myacronym{CRTS}{CRTS}{\gls{CLEAN} Raspberry Pi temperature sensor}
+\myacronym{CWS}{CWS}{\gls{CLEAN} \gls{WEMOS} system}
+\myacronym{CWTS}{CWTS}{\gls{CLEAN} \gls{WEMOS} temperature sensor}
+\myacronym{DHT}{DHT}{digital humidity and temperature}
+\myacronym{DSL}{DSL}{domain-specific language}
+\myacronym{ECO2}{eCO\textsubscript{2}}{equivalent carbon dioxide}
+\myacronym{EDSL}{eDSL}{embedded \glsxtrlong{DSL}}
+\myacronym[prefixfirst={a\ },prefix={an\ }]{FP}{functional programming}{functional programming}
+\myacronym[prefixfirst={a\ },prefix={an\ }]{FRP}{FRP}{functional reactive programming}
+\myacronym{GADT}{GADT}{generalised \glsxtrshort{ADT}}
+\myacronym{GHC}{GHC}{Glasgow \gls{HASKELL} Compiler}
+\myacronym{GPIO}{GPIO}{general-purpose \glsxtrlong{IO}}
+\myacronym{GPL}{GPL}{general-purpose language}
+\myacronym{GRS}{GRS}{graph rewriting system}
+\myacronym{GUI}{GUI}{graphical \glsxtrlong{UI}}
+\myacronym{HOAS}{HOAS}{high-order abstract syntax}
+\myacronym{IOT}{Io\kern-.3mmT}{internet of things}
+\myacronym{IDE}{IDE}{integrated development environment}
+\myacronym{IO}{I/O}{input/output}
+\myacronym{IR}{IR}{intermediate representation}
+\myacronym{ISR}{ISR}{interrupt service routine}
+\myacronym{LEAN}{LEAN}{language of East-Anglia and Nijmegen}
+\myacronym[prefixfirst={a\ },prefix={an\ }]{LED}{LED}{light-emitting diode}
+\myacronym{OLED}{OLED}{organic \glsxtrlong{LED}}
+\myacronym{OS}{OS}{operating system}
+\myacronym{OTA}{OTA}{over-the-air}
+\myacronym{PIR}{PIR}{passive infrared}
+\myacronym{PRS}{PRS}{\gls{PYTHON} Raspberry Pi system}
+\myacronym{PWS}{PWS}{\gls{MICROPYTHON} \gls{WEMOS} system}
+\myacronym{PRTS}{PRTS}{\gls{PYTHON} Raspberry Pi temperature sensor}
+\myacronym{PWTS}{PWTS}{\gls{MICROPYTHON} \gls{WEMOS} temperature sensor}
+\myacronym{QDSL}{QDSL}{quoted \glsxtrshort{DSL}}
+\myacronym{RAM}{RAM}{random-access memory}
+\myacronym{RFID}{RFID}{radio-frequency identification}
+\myacronym{RTOS}{RTOS}{real-time \glsxtrshort{OS}}
+\myacronym{RTS}{RTS}{run-time system}
+\myacronym[prefixfirst={a\ },prefix={an\ }]{SDS}{SDS}{shared data source}
+\myacronym[prefixfirst={a\ },prefix={an\ }]{SN}{SN}{sensor network}
+\myacronym{SLOC}{SLOC}{source lines of code}
+\myacronym{TH}{TH}{Template \gls{HASKELL}}
+\myacronym{TCP}{TCP}{transmission control protocol}
+\myacronym{TOP}{TOP}{task-oriented programming}
+\myacronym{TOSD}{TOSD}{task-oriented software development}
+\myacronym{LSOC}{LSOC}{layered separation of concerns}
+\myacronym{TRS}{TRS}{term rewriting system}
+\myacronym{TTH}{TTH}{typed \glsxtrlong{TH}}
+\myacronym{TVOC}{TVOC}{total volatile organic compounds}
+\myacronym{UI}{UI}{user interface}
+\myacronym{UOD}{UoD}{universe of discourse}
+\myacronym{UOG}{UoG}{University of Glasgow}
 
 % Glossaries
 \newglossaryentry{MTASK}{%
        name=mTask,
-       description={is a \acrshort{TOP} \acrshort{EDSL} for microcontrollers integrated with the \gls{ITASK} system},
+       description={is a \glsxtrshort{TOP} \glsxtrshort{EDSL} for microcontrollers integrated with the \gls{ITASK} system},
 }
 \newglossaryentry{ITASK}{%
        name=iTask,
-       description={is a \acrshort{TOP} \acrshort{EDSL} for creating distributed multi-user collaborative web applications},
+       description={is a \glsxtrshort{TOP} \glsxtrshort{EDSL} for creating distributed multi-user collaborative web applications},
 }
 \newglossaryentry{TOPHAT}{%
        name=TopHat,
-       description={is a \acrshort{TOP} language designed to formally capture the essence of \gls{TOP}}.
+       description={is a \glsxtrshort{TOP} language designed to formally capture the essence of \gls{TOP}}
 }
 \newglossaryentry{CLEAN}{%
        name=Clean,
-       description={Clean \acrlong{LEAN}, a pure lazy \acrlong{FP} language based on graph rewriting}
+       description={Clean \glsxtrlong{LEAN}, a pure lazy \glsxtrlong{FP} language based on graph rewriting}
 }
 \newglossaryentry{HASKELL}{%
        name=Haskell,
-       description={is a pure lazy \acrlong{FP} language designed by a committe as a concept language}
+       description={is a pure lazy \glsxtrlong{FP} language designed by a committe as a concept language}
 }
 \newglossaryentry{HASKELL98}{%
        name=Haskell98,
-       description={is a standardised version of \gls{HASKELL}}
+       description={is a standardised version of \gls{HASKELL}},
 }
 \newglossaryentry{ARDUINO}{%
        name=Arduino,
-       description={is a widely used framework for programming microprocessors}
+       description={is a widely used framework for programming microcontrollers}
+}
+\newglossaryentry{MBED}{%
+       name=mbed,
+       description={is a widely used framework for programming microcontrollers designed for ARM cortex-M}
 }
 \newglossaryentry{CPP}{
        name=C\texttt{++},
 }
 \newglossaryentry{I2C}{
        name=I\textsuperscript{2}C,
-       description={is a simple serial communication protocol often used to connect sensors to microprocessors}
+       description={(Inter-Integrated Circuit) is a simple serial communication protocol often used to connect sensors to microcontrollers}
 }
 \newglossaryentry{SPI}{
        name=SPI,
-       description={is a synchronous serial communication protocol often used to connect sensors to microprocessors}
+       description={(Serial Peripheral Interface) is a synchronous serial communication protocol often used to connect sensors to microcontrollers}
 }
 \newglossaryentry{TINYML}{
        name=TinyML,
-       description={is a deep learning framework for microprocessors}
+       description={is a deep learning framework for microcontrollers}
 }
 \newglossaryentry{PYTHON}{
        name=Python,
 }
 \newglossaryentry{MICROPYTHON}{
        name=MicroPython,
-       description={is a \gls{PYTHON} implementation tailored for microprocessors}
+       description={is a \gls{PYTHON} implementation tailored for microcontrollers}
 }
 \newglossaryentry{FREERTOS}{
        name=FreeRTOS,
-       description={is an open-source \gls{RTOS} for microprocessors}
+       description={is an open-source \gls{RTOS} for microcontrollers}
 }
 \newglossaryentry{ONEWIRE}{
        name=1-wire,
-       description={is simple single wire communication protocol often used to connect sensors to microprocessors}
+       description={is simple single wire communication protocol often used to connect sensors to microcontrollers}
 }
 \newglossaryentry{JSON}{
        name=JSON,
 }
 \newglossaryentry{MQTT}{
        name=MQTT,
-       description={(originally MQ Telemetry Transport) is a publish-subscribe network protocol designed for resource constrained devices}
+       description={(MQ Telemetry Transport) is a publish-subscribe network protocol designed for resource constrained devices}
+}
+\newglossaryentry{WEMOS}{
+       name=WEMOS,
+       description={is a popular ESP8266 microcontroller based prototyping platform supporting \gls{ARDUINO}.}
 }
+
+% Never expand
+\glsunset{3COWS}
+\glsunset{CEFP}
+\glsunset{TCP}
+\glsunset{IDE}
+\glsunset{IO}
+\glsunset{OS}
+\glsunset{RAM}