updates
[phd-thesis.git] / self.bib
1 @inproceedings{lubbers_multitasking_2019,
2 address = {Opatija, Croatia},
3 title = {Multitasking on {Microcontrollers} using {Task} {Oriented} {Programming}},
4 copyright = {All rights reserved},
5 shorttitle = {Multitasking on {Microcontrollers} using {TOP}},
6 doi = {10.23919/MIPRO.2019.8756711},
7 booktitle = {2019 42nd {International} {Convention} on {Information} and {Communication} {Technology}, {Electronics} and {Microelectronics} ({MIPRO})},
8 author = {Lubbers, M. and Koopman, P. and Plasmeijer, R.},
9 month = may,
10 year = {2019},
11 pages = {1587--1592},
12 file = {08756711.pdf:/home/mrl/.local/share/zotero/storage/4S44JZPK/08756711.pdf:application/pdf;mipro_2019_proceedings.pdf:/home/mrl/.local/share/zotero/storage/5FFJLMTG/mipro_2019_proceedings.pdf:application/pdf;03_4cows_5338.pdf:/home/mrl/.local/share/zotero/storage/3QJTF5HT/03_4cows_5338.pdf:application/pdf}
13 }
14
15 @inproceedings{lubbers_task_2018,
16 address = {Lowell, MA},
17 title = {Task {Oriented} {Programming} and the {Internet} of {Things}},
18 copyright = {All rights reserved},
19 isbn = {978-1-4503-7143-8},
20 doi = {10.1145/3310232.3310239},
21 abstract = {In the omnipresent Internet of Things (IoT), tiny devices sense and alter the environment, process information and communicate with the world. These devices have limited amounts of processing power and memory. This imposes severe restrictions on their software and communication protocols. As a result, applications are composed of parts written in various programming languages that communicate in many different ways. This impedance mismatch hampers development and maintenance. In previous work we have shown how an IoT device can be programmed by defining an embedded Domain Specific Language (eDSL). In this paper we show how IoT tasks can be seemlessly integrated with a Task Oriented Programming (TOP) server such as iTasks. It allows the specification on a high-level of abstraction of arbitrary collaborations between human beings, large systems, and now also IoT devices. The implementation is made in three steps. First, there is an interface to connect devices dynamically to an iTasks server using various communication protocols. Next, we solve the communication problem between IoT devices and the server by porting Shared Data Sources (SDSs) from TOP. As a result, data can be shared, viewed and updated from the server or IoT device. Finally, we crack the maintenance problem by switching from generating fixed code for the IoT devices to dynamically shipping code. It makes it possible to run multiple tasks on an IoT device and to decide at runtime what tasks that should be.},
22 language = {en},
23 booktitle = {Proceedings of the 30th {Symposium} on the {Implementation} and {Application} of {Functional} {Programming} {Languages}},
24 publisher = {ACM},
25 author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
26 year = {2018},
27 pages = {83--94},
28 file = {Lubbers et al. - 2018 - Task Oriented Programming and the Internet of Thin.pdf:/home/mrl/.local/share/zotero/storage/3E5KLI5V/Lubbers et al. - 2018 - Task Oriented Programming and the Internet of Thin.pdf:application/pdf}
29 }
30
31 @mastersthesis{lubbers_task_2017,
32 address = {Nijmegen},
33 title = {Task {Oriented} {Programming} and the {Internet} of {Things}},
34 copyright = {All rights reserved},
35 shorttitle = {{TOP} and the {IoT}},
36 school = {Radboud University},
37 author = {Lubbers, Mart},
38 year = {2017},
39 file = {thesis.pdf:/home/mrl/.local/share/zotero/storage/M49MWHPX/thesis.pdf:application/pdf}
40 }
41
42 @inproceedings{lubbers_interpreting_2019,
43 address = {Singapore},
44 title = {Interpreting {Task} {Oriented} {Programs} on {Tiny} {Computers}},
45 copyright = {All rights reserved},
46 language = {en},
47 booktitle = {Proceedings of the 31th {Symposium} on the {Implementation} and {Application} of {Functional} {Programming} {Languages}},
48 publisher = {ACM},
49 author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
50 year = {2019},
51 pages = {12},
52 file = {pre-conference-proceedings.pdf:/home/mrl/.local/share/zotero/storage/E4R53TGR/pre-conference-proceedings.pdf:application/pdf;Lubbers et al. - 2020 - Interpreting Task Oriented Programs on Tiny Comput.pdf:/home/mrl/.local/share/zotero/storage/8QXYMUIX/Lubbers et al. - 2020 - Interpreting Task Oriented Programs on Tiny Comput.pdf:application/pdf}
53 }
54
55 @inproceedings{koopman_task-based_2018,
56 address = {Vienna, Austria},
57 title = {A {Task}-{Based} {DSL} for {Microcomputers}},
58 copyright = {All rights reserved},
59 isbn = {978-1-4503-6355-6},
60 doi = {10.1145/3183895.3183902},
61 abstract = {The Internet of Things, IoT, makes small connected computing devices almost omnipresent. These devices have typically very limited computing power and severe memory restrictions to make them cheap and power efficient. These devices can interact with the environment via special sensors and actuators. Since each device controls several peripherals running interleaved, the control software is quite complicated and hard to maintain. Task Oriented Programming, TOP, offers lightweight communicating threads that can inspect each other’s intermediate results. This makes it well suited for the IoT. In this paper presents a functional task-based domain specific language for these IoT devices. We show that it yields concise control programs. By restricting the datatypes and using strict evaluation these programs fit within the restrictions of microcontrollers.},
62 language = {en},
63 urldate = {2019-01-14},
64 booktitle = {Proceedings of the {Real} {World} {Domain} {Specific} {Languages} {Workshop} 2018 on - {RWDSL2018}},
65 publisher = {ACM Press},
66 author = {Koopman, Pieter and Lubbers, Mart and Plasmeijer, Rinus},
67 year = {2018},
68 pages = {1--11},
69 file = {a4-Koopman.pdf:/home/mrl/.local/share/zotero/storage/TXZD529C/a4-Koopman.pdf:application/pdf;Koopman et al. - 2018 - A Task-Based DSL for Microcomputers.pdf:/home/mrl/.local/share/zotero/storage/9ETMTMX2/Koopman et al. - 2018 - A Task-Based DSL for Microcomputers.pdf:application/pdf}
70 }
71
72 @inproceedings{lubbers_tiered_2020,
73 address = {Malmö},
74 series = {{IoT} '20},
75 title = {Tiered versus {Tierless} {IoT} {Stacks}: {Comparing} {Smart} {Campus} {Software} {Architectures}},
76 isbn = {978-1-4503-8758-3},
77 doi = {10.1145/3410992.3411002},
78 abstract = {Internet of Things (IoT) software stacks are notoriously complex, conventionally comprising multiple tiers/components and requiring that the developer not only uses multiple programming languages, but also correctly interoperate the components. A novel alternative is to use a single tierless language with a compiler that generates the code for each component, and for their correct interoperation.We report the first ever systematic comparison of tiered and tierless IoT software architectures. The comparison is based on two implementations of a non-trivial smart campus application. PRSS has a conventional tiered Python-based architecture, and Clean Wemos Super Sensors (CWSS) has a novel tierless architecture based on Clean and the iTask and mTask embedded DSLs. An operational comparison of CWSS and PRSS demonstrates that they have equivalent functionality, and that both meet the University of Glasgow (UoG) smart campus requirements.Crucially, the tierless CWSS stack requires 70\% less code than the tiered PRSS stack. We analyse the impact of the following three main factors. (1) Tierless developers need to manage less interoperation: CWSS uses two DSLs in a single paradigm where PRSS uses five languages and three paradigms. (2) Tierless developers benefit from automatically generated, and hence correct, communication. (3) Tierless developers can exploit the powerful high-level abstractions such as Task Oriented Programming (TOP) in CWSS. A far smaller and single paradigm codebase improves software quality, dramatically reduces development time, and improves the maintainability of tierless stacks.},
79 booktitle = {Proceedings of the 10th {International} {Conference} on the {Internet} of {Things}},
80 publisher = {Association for Computing Machinery},
81 author = {Lubbers, Mart and Koopman, Pieter and Ramsingh, Adrian and Singer, Jeremy and Trinder, Phil},
82 year = {2020},
83 note = {event-place: Malmö, Sweden},
84 keywords = {domain specific languages, internet of things, network reliability, software architectures},
85 file = {Lubbers et al. - 2020 - Tiered versus Tierless IoT Stacks Comparing Smart.pdf:/home/mrl/.local/share/zotero/storage/YY3MJRZ6/Lubbers et al. - 2020 - Tiered versus Tierless IoT Stacks Comparing Smart.pdf:application/pdf}
86 }