updates
[phd-thesis.git] / other.bib
index 188e95c..2f2daad 100644 (file)
--- a/other.bib
+++ b/other.bib
@@ -287,22 +287,6 @@ Publisher: Association for Computing Machinery},
        file = {Mitchell and Plotkin - 1988 - Abstract types have existential type.pdf:/home/mrl/.local/share/zotero/storage/QXDE5H7C/Mitchell and Plotkin - 1988 - Abstract types have existential type.pdf:application/pdf},
 }
 
-@inproceedings{steenvoorden_tophat_2019,
-       address = {New York, NY, USA},
-       series = {{PPDP} '19},
-       title = {{TopHat}: {A} {Formal} {Foundation} for {Task}-{Oriented} {Programming}},
-       isbn = {978-1-4503-7249-7},
-       url = {https://doi.org/10.1145/3354166.3354182},
-       doi = {10.1145/3354166.3354182},
-       abstract = {Software that models how people work is omnipresent in today's society. Current languages and frameworks often focus on usability by non-programmers, sacrificing flexibility and high level abstraction. Task-oriented programming (TOP) is a programming paradigm that aims to provide the desired level of abstraction while still being expressive enough to describe real world collaboration. It prescribes a declarative programming style to specify multi-user workflows. Workflows can be higher-order. They communicate through typed values on a local and global level. Such specifications can be turned into interactive applications for different platforms, supporting collaboration during execution. TOP has been around for more than a decade, in the forms of iTasks and mTasks, which are tailored for real-world usability. So far, it has not been given a formalisation which is suitable for formal reasoning.In this paper we give a description of the TOP paradigm and then decompose its rich features into elementary language elements, which makes them suitable for formal treatment. We use the simply typed lambda-calculus, extended with pairs and references, as a base language. On top of this language, we develop TopHat, a language for modular interactive workflows. We describe TopHat by means of a layered semantics. These layers consist of multiple big-step evaluations on expressions, and two labelled transition systems, handling user inputs.With TopHat we prepare a way to formally reason about TOP languages and programs. This approach allows for comparison with other work in the field. We have implemented the semantic rules of TopHat in Haskell, and the task layer on top of the iTasks framework. This shows that our approach is feasible, and lets us demonstrate the concepts by means of illustrative case studies. TOP has been applied in projects with the Dutch coast guard, tax office, and navy. Our work matters because formal program verification is important for mission-critical software, especially for systems with concurrency.},
-       booktitle = {Proceedings of the 21st {International} {Symposium} on {Principles} and {Practice} of {Declarative} {Programming}},
-       publisher = {Association for Computing Machinery},
-       author = {Steenvoorden, Tim and Naus, Nico and Klinik, Markus},
-       year = {2019},
-       note = {event-place: Porto, Portugal},
-       file = {Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:/home/mrl/.local/share/zotero/storage/W7HJ5MEF/Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:application/pdf},
-}
-
 @inproceedings{yorgey_giving_2012,
        address = {New York, NY, USA},
        series = {{TLDI} '12},
@@ -370,19 +354,6 @@ Publisher: Association for Computing Machinery},
        file = {Gibbons - 2015 - Functional Programming for Domain-Specific Languag.pdf:/home/mrl/.local/share/zotero/storage/ARUBLFU6/Gibbons - 2015 - Functional Programming for Domain-Specific Languag.pdf:application/pdf},
 }
 
-@incollection{lubbers_writing_2019,
-       address = {Cham},
-       title = {Writing {Internet} of {Things} applications with {Task} {Oriented} {Programming}},
-       abstract = {The Internet of Things (IOT) is growing fast. In 2018, there was approximately one connected device per person on earth and the number has been growing ever since. The devices interact with the environment via different modalities at the same time using sensors and actuators making the programs parallel. Yet, writing this type of programs is difficult because the devices have little computation power and memory, the platforms are heterogeneous and the languages are low level. Task Oriented Programming (TOP) is a novel declarative programming language paradigm that is used to express coordination of work, collaboration of users and systems, the distribution of shared data and the human computer interaction. The mTask language is a specialized, yet full-fledged, multi-backend TOP language for IOT devices. With the bytecode interpretation backend and the integration with iTasks, tasks can be executed on the device dynamically. This means that —according to the current state of affairs— tasks can be tailor-made at run time, compiled to device-agnostic bytecode and shipped to the device for interpretation. Tasks sent to the device are fully integrated in iTasks to allow every form of interaction with the tasks such as observation of the task value and interaction with Shared Data Sources (SDSs). The application is —server and devices— are programmed in a single language, albeit using two embedded Domain Specific Languages (EDSLs).},
-       language = {en},
-       booktitle = {Central {European} {Functional} {Programming} {School}: 8th {Summer} {School}, {CEFP} 2019, {Budapest}, {Hungary}, {July} 17–21, 2019, {Revised} {Selected} {Papers}},
-       publisher = {Springer International Publishing},
-       author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
-       year = {2019},
-       pages = {51},
-       file = {Lubbers - Writing Internet of Things applications with Task .pdf:/home/mrl/.local/share/zotero/storage/ILZIBYW5/Lubbers - Writing Internet of Things applications with Task .pdf:application/pdf},
-}
-
 @mastersthesis{veen_van_der_mutable_2020,
        address = {Nijmegen},
        title = {Mutable {Collection} {Types} in {Shallow} {Embedded} {DSLs}},
@@ -573,7 +544,7 @@ few changes in existing programs.},
        shorttitle = {Developing {Real} {Life}, {TOP} {Applications} for the {IOT}},
        language = {en},
        school = {Radboud University},
-       author = {Amazonas Cabral De Andrade, Matheus},
+       author = {Amazonas Cabral de Andrade, Matheus},
        year = {2018},
        file = {Lubbers - prof. dr. dr.h.c. ir. M.J. Plasmeijer.pdf:/home/mrl/.local/share/zotero/storage/JXPEWS85/Lubbers - prof. dr. dr.h.c. ir. M.J. Plasmeijer.pdf:application/pdf},
 }
@@ -1213,17 +1184,6 @@ Publisher: Association for Computing Machinery},
        file = {Leijen and Meijer - 2000 - Domain Specific Embedded Compilers.pdf:/home/mrl/.local/share/zotero/storage/YHPF2VZ6/Leijen and Meijer - 2000 - Domain Specific Embedded Compilers.pdf:application/pdf},
 }
 
-@incollection{koopman_simulation_2018,
-       address = {Cham},
-       title = {Simulation of a {Task}-{Based} {Embedded} {Domain} {Specific} {Language} for the {Internet} of {Things}},
-       language = {en},
-       booktitle = {Central {European} {Functional} {Programming} {School}: 7th {Summer} {School}, {CEFP} 2018, {Košice}, {Slovakia}, {January} 22–26, 2018, {Revised} {Selected} {Papers}},
-       publisher = {Springer International Publishing},
-       author = {Koopman, Pieter and Lubbers, Mart and Plasmeijer, Rinus},
-       year = {2018},
-       pages = {51},
-}
-
 @techreport{plasmeijer_clean_2021,
        address = {Nijmegen},
        title = {Clean {Language} {Report} version 3.1},
@@ -1294,7 +1254,6 @@ Publisher: Association for Computing Machinery},
        author = {{Peter T. Lewis}},
        month = sep,
        year = {1985},
-       annote = {By connecting devices such as traffic signal control boxes, underground gas station tanks and home refrigerators to supervisory control systems, modems, auto-dialers and cellular phones, we can transmit status of these devices to cell sites, then pipe that data through the Internet and address it to people near and far that need that information.  I predict that not only humans, but machines and other things will interactively communicate via the Internet.  The Internet of Things, or IoT, is the integration of people, processes and technology with connectable devices and sensors to enable remote monitoring, status, manipulation and evaluation of trends of such devices.  When all these technologies and voluminous amounts of Things are interfaced together -- namely, devices/machines, supervisory controllers, cellular and the Internet, there is nothing we cannot connect to and communicate with.  What I am calling the Internet of Things will be far reaching.},
 }
 
 @article{weiser_computer_1991,
@@ -1333,6 +1292,22 @@ Publisher: Association for Computing Machinery},
        pages = {36--43},
 }
 
+@inproceedings{steenvoorden_tophat_2019,
+       address = {New York, NY, USA},
+       series = {{PPDP} '19},
+       title = {{TopHat}: {A} {Formal} {Foundation} for {Task}-{Oriented} {Programming}},
+       isbn = {978-1-4503-7249-7},
+       url = {https://doi.org/10.1145/3354166.3354182},
+       doi = {10.1145/3354166.3354182},
+       abstract = {Software that models how people work is omnipresent in today's society. Current languages and frameworks often focus on usability by non-programmers, sacrificing flexibility and high level abstraction. Task-oriented programming (TOP) is a programming paradigm that aims to provide the desired level of abstraction while still being expressive enough to describe real world collaboration. It prescribes a declarative programming style to specify multi-user workflows. Workflows can be higher-order. They communicate through typed values on a local and global level. Such specifications can be turned into interactive applications for different platforms, supporting collaboration during execution. TOP has been around for more than a decade, in the forms of iTasks and mTasks, which are tailored for real-world usability. So far, it has not been given a formalisation which is suitable for formal reasoning.In this paper we give a description of the TOP paradigm and then decompose its rich features into elementary language elements, which makes them suitable for formal treatment. We use the simply typed lambda-calculus, extended with pairs and references, as a base language. On top of this language, we develop TopHat, a language for modular interactive workflows. We describe TopHat by means of a layered semantics. These layers consist of multiple big-step evaluations on expressions, and two labelled transition systems, handling user inputs.With TopHat we prepare a way to formally reason about TOP languages and programs. This approach allows for comparison with other work in the field. We have implemented the semantic rules of TopHat in Haskell, and the task layer on top of the iTasks framework. This shows that our approach is feasible, and lets us demonstrate the concepts by means of illustrative case studies. TOP has been applied in projects with the Dutch coast guard, tax office, and navy. Our work matters because formal program verification is important for mission-critical software, especially for systems with concurrency.},
+       booktitle = {Proceedings of the 21st {International} {Symposium} on {Principles} and {Practice} of {Declarative} {Programming}},
+       publisher = {Association for Computing Machinery},
+       author = {Steenvoorden, Tim and Naus, Nico and Klinik, Markus},
+       year = {2019},
+       note = {event-place: Porto, Portugal},
+       file = {Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:/home/mrl/.local/share/zotero/storage/E9W4WKZC/Steenvoorden et al. - 2019 - TopHat A Formal Foundation for Task-Oriented Prog.pdf:application/pdf},
+}
+
 @incollection{koopman_type-safe_2019,
        address = {Cham},
        title = {Type-{Safe} {Functions} and {Tasks} in a {Shallow} {Embedded} {DSL} for {Microprocessors}},
@@ -1461,9 +1436,6 @@ Publisher: Association for Computing Machinery},
        month = nov,
        year = {1998},
        note = {e-mail message, accessed on 2021-02-24},
-       annote = {
-
-},
 }
 
 @misc{margaret_deuter_rhapsody_2015,
@@ -1485,7 +1457,6 @@ Publisher: Association for Computing Machinery},
        author = {{Wikipedia contributors}},
        year = {2022},
        note = {accessed on: 2022-09-06},
-       annote = {[Online; accessed 6-September-2022]},
 }
 
 @incollection{backus_introduction_1990,
@@ -1655,6 +1626,18 @@ Publisher: Association for Computing Machinery},
        file = {Pickering et al. - 2021 - A Specification for Typed Template Haskell.pdf:/home/mrl/.local/share/zotero/storage/YBTN4DLK/Pickering et al. - 2021 - A Specification for Typed Template Haskell.pdf:application/pdf},
 }
 
+@book{steenvoorden_tophat_2022,
+       address = {Nijmegen},
+       title = {{TopHat}: {Task}-{Oriented} {Programming} with {Style}},
+       isbn = {978-94-6458-595-7},
+       shorttitle = {{TopHat}: {TOP} with {Style}},
+       language = {English},
+       publisher = {UB Nijmegen},
+       author = {Steenvoorden, Tim},
+       year = {2022},
+       file = {Steenvoorden - 2022 - TopHat Task-Oriented Programming with Style.pdf:/home/mrl/.local/share/zotero/storage/ZV8IT9J5/Steenvoorden - 2022 - TopHat Task-Oriented Programming with Style.pdf:application/pdf},
+}
+
 @inproceedings{folmer_high-level_2022,
        address = {Cham},
        title = {High-{Level} {Synthesis} of {Digital} {Circuits} from {Template} {Haskell} and {SDF}-{AP}},
@@ -1733,7 +1716,6 @@ Publisher: Association for Computing Machinery},
        doi = {10.3990/1.9789036538039},
        note = {ISBN: 978-90-365-3803-9},
        keywords = {Haskell, Digital Circuits, EC Grant Agreement nr.: FP7/248465, EC Grant Agreement nr.: FP7/610686, EWI-23939, FPGA, Functional Programming, Hardware, IR-93962, Lambda calculus, METIS-308711, Rewrite Systems},
-       annote = {eemcs-eprint-23939 },
        file = {Baaij - 2015 - Digital circuit in CλaSH functional specification.pdf:/home/mrl/.local/share/zotero/storage/MYJ33ISL/Baaij - 2015 - Digital circuit in CλaSH functional specification.pdf:application/pdf},
 }
 
@@ -1771,6 +1753,7 @@ Publisher: Association for Computing Machinery},
        title = {Internet of {Things}},
        author = {Ashton, Kevin},
        year = {1999},
+       note = {Presentation at Proctor \& Gamble},
 }
 
 @article{ashton_that_2009,
@@ -1803,3 +1786,24 @@ Publisher: Association for Computing Machinery},
        author = {Lijnse, Bas},
        year = {2022},
 }
+
+@article{sun_compositional_2022,
+       title = {Compositional {Embeddings} of {Domain}-{Specific} {Languages}},
+       volume = {6},
+       doi = {10.1145/3563294},
+       language = {en},
+       number = {OOPSLA2},
+       journal = {Proc. ACM Program. Lang.},
+       author = {Sun, Yaozhu and Dhandhania, Utkarsh and Oliveira, Bruno C. d. S.},
+       year = {2022},
+       pages = {34},
+       file = {Sun and Dhandhania - Compositional Embeddings of Domain-Specific Langua.pdf:/home/mrl/.local/share/zotero/storage/Y4GADQFP/Sun and Dhandhania - Compositional Embeddings of Domain-Specific Langua.pdf:application/pdf},
+}
+
+@misc{lubbers_htask_2022,
+       title = {{hTask}},
+       url = {https://gitlab.com/mlubbers/acsds},
+       urldate = {2022-10-07},
+       author = {Lubbers, Mart},
+       year = {2022},
+}