updates
[phd-thesis.git] / other.bib
index ba881fd..2f2daad 100644 (file)
--- a/other.bib
+++ b/other.bib
@@ -354,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}},
@@ -442,6 +429,16 @@ Publisher: Association for Computing Machinery},
        file = {Barendsen and Smetsers - 1996 - Uniqueness typing for functional languages with gr.pdf:/home/mrl/.local/share/zotero/storage/BPRC6KJK/Barendsen and Smetsers - 1996 - Uniqueness typing for functional languages with gr.pdf:application/pdf},
 }
 
+@inproceedings{lijnse_itasks_2009,
+       title = {{iTasks} 2: {iTasks} for {End}-users},
+       booktitle = {International {Symposium} on {Implementation} and {Application} of {Functional} {Languages}},
+       publisher = {Springer},
+       author = {Lijnse, Bas and Plasmeijer, Rinus},
+       year = {2009},
+       pages = {36--54},
+       file = {Lijnse and Plasmeijer - 2009 - iTasks 2 iTasks for End-users.pdf:/home/mrl/.local/share/zotero/storage/KACEWKXY/Lijnse and Plasmeijer - 2009 - iTasks 2 iTasks for End-users.pdf:application/pdf},
+}
+
 @mastersthesis{bohm_asynchronous_2019,
        address = {Nijmegen},
        title = {Asynchronous {Actions} in a {Synchronous} {World}},
@@ -523,6 +520,16 @@ few changes in existing programs.},
        file = {Baccelli et al. - 2018 - Reprogramming Low-end IoT Devices from the Cloud.pdf:/home/mrl/.local/share/zotero/storage/M6LX5ZJN/Baccelli et al. - 2018 - Reprogramming Low-end IoT Devices from the Cloud.pdf:application/pdf},
 }
 
+@mastersthesis{piers_task-oriented_2016,
+       address = {Nijmegen},
+       title = {Task-{Oriented} {Programming} for developing non-distributed interruptible embedded systems},
+       language = {en},
+       school = {Radboud University},
+       author = {Piers, Jasper},
+       year = {2016},
+       file = {Piers - Task-Oriented Programming for developing non-distr.pdf:/home/mrl/.local/share/zotero/storage/X8BZM9D4/Piers - Task-Oriented Programming for developing non-distr.pdf:application/pdf},
+}
+
 @inproceedings{baccelli_scripting_2018,
        title = {Scripting {Over}-{The}-{Air}: {Towards} {Containers} on {Low}-end {Devices} in the {Internet} of {Things}},
        booktitle = {{IEEE} {PerCom} 2018},
@@ -537,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},
 }
@@ -566,12 +573,23 @@ few changes in existing programs.},
        file = {groj10-Haskell_front_end_Clean.pdf:/home/mrl/.local/share/zotero/storage/WVZWX8WT/groj10-Haskell_front_end_Clean.pdf:application/pdf},
 }
 
+@article{plasmeijer_itasks:_2007,
+       title = {{iTasks}: executable specifications of interactive work flow systems for the web},
+       volume = {42},
+       number = {9},
+       journal = {ACM SIGPLAN Notices},
+       author = {Plasmeijer, Rinus and Achten, Peter and Koopman, Pieter},
+       year = {2007},
+       pages = {141--152},
+       file = {plar2007-ICFP07-iTasks.pdf:/home/mrl/.local/share/zotero/storage/N8EUZP7D/plar2007-ICFP07-iTasks.pdf:application/pdf},
+}
+
 @incollection{plasmeijer_shallow_2016,
        address = {Cham},
        series = {Lecture {Notes} in {Computer} {Science}},
        title = {A {Shallow} {Embedded} {Type} {Safe} {Extendable} {DSL} for the {Arduino}},
        volume = {9547},
-       isbn = {978-3-319-39109-0 978-3-319-39110-6},
+       isbn = {978-3-319-39110-6},
        url = {http://link.springer.com/10.1007/978-3-319-39110-6},
        urldate = {2017-02-22},
        booktitle = {Trends in {Functional} {Programming}},
@@ -737,7 +755,6 @@ Publisher: Association for Computing Machinery},
        journal = {Parallel Processing Letters},
        author = {Hammond, Kevin and Berthold, Jost and Loogen, Rita},
        year = {2003},
-       note = {\_eprint: https://doi.org/10.1142/S0129626403001380},
        pages = {413--424},
        file = {Hammond et al. - 2003 - AUTOMATIC SKELETONS IN TEMPLATE HASKELL.pdf:/home/mrl/.local/share/zotero/storage/HBQ8UXY3/Hammond et al. - 2003 - AUTOMATIC SKELETONS IN TEMPLATE HASKELL.pdf:application/pdf},
 }
@@ -918,7 +935,7 @@ Publisher: Association for Computing Machinery},
        author = {Shioda, Masato and Iwasaki, Hideya and Sato, Shigeyuki},
        year = {2014},
        note = {event-place: Västerås, Sweden},
-       keywords = {D language, Embedded domain specific languages, Library, Metaprogramming},
+       keywords = {Metaprogramming, D language, Embedded domain specific languages, Library},
        pages = {63--72},
        file = {Shioda et al. - 2014 - LibDSL A Library for Developing Embedded Domain S.pdf:/home/mrl/.local/share/zotero/storage/3WFYJPFR/Shioda et al. - 2014 - LibDSL A Library for Developing Embedded Domain S.pdf:application/pdf},
 }
@@ -954,7 +971,7 @@ Publisher: Association for Computing Machinery},
        author = {Eisenberg, Richard A. and Stolarek, Jan},
        year = {2014},
        note = {event-place: Gothenburg, Sweden},
-       keywords = {defunctionalization, Haskell, type-level programming},
+       keywords = {Haskell, defunctionalization, type-level programming},
        pages = {95--106},
        file = {Eisenberg and Stolarek - 2014 - Promoting Functions to Type Families in Haskell.pdf:/home/mrl/.local/share/zotero/storage/PQXGBM6M/Eisenberg and Stolarek - 2014 - Promoting Functions to Type Families in Haskell.pdf:application/pdf},
 }
@@ -972,7 +989,7 @@ Publisher: Association for Computing Machinery},
        author = {Viera, Marcos and Balestrieri, Florent and Pardo, Alberto},
        year = {2018},
        note = {event-place: Lowell, MA, USA},
-       keywords = {Attribute Grammars, Dynamics, EDSL, Haskell, Staging},
+       keywords = {Haskell, EDSL, Attribute Grammars, Dynamics, Staging},
        pages = {95--106},
        file = {Viera et al. - 2018 - A Staged Embedding of Attribute Grammars in Haskel.pdf:/home/mrl/.local/share/zotero/storage/53D4HT9C/Viera et al. - 2018 - A Staged Embedding of Attribute Grammars in Haskel.pdf:application/pdf},
 }
@@ -1132,7 +1149,7 @@ Publisher: Association for Computing Machinery},
        author = {Najd, Shayan and Lindley, Sam and Svenningsson, Josef and Wadler, Philip},
        year = {2016},
        note = {event-place: St. Petersburg, FL, USA},
-       keywords = {domain-specific language, DSL, EDSL, embedded language, normalisation, QDSL, quotation, subformula principle},
+       keywords = {EDSL, domain-specific language, DSL, embedded language, normalisation, QDSL, quotation, subformula principle},
        pages = {25--36},
        file = {Najd et al. - 2016 - Everything Old is New Again Quoted Domain-Specifi.pdf:/home/mrl/.local/share/zotero/storage/NZJW5ZVF/Najd et al. - 2016 - Everything Old is New Again Quoted Domain-Specifi.pdf:application/pdf},
 }
@@ -1167,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},
@@ -1286,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}},
@@ -1405,17 +1427,6 @@ Publisher: Association for Computing Machinery},
        file = {Crooijmans - 2021 - Reducing the Power Consumption of IoT Devices in T.pdf:/home/mrl/.local/share/zotero/storage/YIEQ97KK/Crooijmans - 2021 - Reducing the Power Consumption of IoT Devices in T.pdf:application/pdf},
 }
 
-@article{mcdonell_embedded_2021,
-       title = {Embedded {Pattern} {Matching}},
-       volume = {abs/2108.13114},
-       url = {https://arxiv.org/abs/2108.13114},
-       journal = {CoRR},
-       author = {McDonell, Trevor L. and Meredith, Joshua D. and Keller, Gabriele},
-       year = {2021},
-       note = {arXiv: 2108.13114},
-       file = {2108.13114.pdf:/home/mrl/.local/share/zotero/storage/AJAT8AXI/2108.13114.pdf:application/pdf},
-}
-
 @misc{wadler_expression_1998,
        title = {The expression problem},
        url = {https://homepages.inf.ed.ac.uk/wadler/papers/expression/expression.txt},
@@ -1563,7 +1574,7 @@ Publisher: Association for Computing Machinery},
        author = {de Vries, Edsko and Löh, Andres},
        year = {2014},
        note = {event-place: Gothenburg, Sweden},
-       keywords = {datatype-generic programming, generic views, json, lenses, metadata, sums of products, universes},
+       keywords = {lenses, datatype-generic programming, generic views, json, metadata, sums of products, universes},
        pages = {83--94},
        file = {de Vries and Löh - 2014 - True Sums of Products.pdf:/home/mrl/.local/share/zotero/storage/QHT5IPQA/de Vries and Löh - 2014 - True Sums of Products.pdf:application/pdf},
 }
@@ -1598,7 +1609,7 @@ Publisher: Association for Computing Machinery},
        author = {Pickering, Matthew and Wu, Nicolas and Kiss, Csongor},
        year = {2019},
        note = {event-place: Berlin, Germany},
-       keywords = {implicits, metaprogramming, staging},
+       keywords = {metaprogramming, staging, implicits},
        pages = {71--84},
        file = {Pickering et al. - 2019 - Multi-Stage Programs in Context.pdf:/home/mrl/.local/share/zotero/storage/3EW7FM44/Pickering et al. - 2019 - Multi-Stage Programs in Context.pdf:application/pdf},
 }
@@ -1607,6 +1618,7 @@ Publisher: Association for Computing Machinery},
        title = {A {Specification} for {Typed} {Template} {Haskell}},
        volume = {abs/2112.03653},
        url = {https://arxiv.org/abs/2112.03653},
+       doi = {10.48550/arXiv.2112.03653},
        journal = {CoRR},
        author = {Pickering, Matthew and Löh, Andres and Wu, Nicolas},
        year = {2021},
@@ -1614,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}},
@@ -1691,6 +1715,95 @@ Publisher: Association for Computing Machinery},
        year = {2015},
        doi = {10.3990/1.9789036538039},
        note = {ISBN: 978-90-365-3803-9},
-       keywords = {Digital Circuits, EC Grant Agreement nr.: FP7/248465, EC Grant Agreement nr.: FP7/610686, EWI-23939, FPGA, Functional Programming, Hardware, Haskell, IR-93962, Lambda calculus, METIS-308711, Rewrite Systems},
+       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},
        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},
 }
+
+@inproceedings{mcdonell_embedded_2022,
+       address = {New York, NY, USA},
+       series = {Haskell 2022},
+       title = {Embedded {Pattern} {Matching}},
+       isbn = {978-1-4503-9438-3},
+       url = {https://doi.org/10.1145/3546189.3549917},
+       doi = {10.1145/3546189.3549917},
+       abstract = {Haskell is a popular choice for hosting deeply embedded languages. A recurring challenge for these embeddings is how to seamlessly integrate user defined algebraic data types. In particular, one important, convenient, and expressive feature for creating and inspecting data—pattern matching—is not directly available on embedded terms. We present a novel technique, embedded pattern matching, which enables a natural and user friendly embedding of user defined algebraic data types into the embedded language, and allows programmers to pattern match on terms in the embedded language in much the same way they would in the host language.},
+       booktitle = {Proceedings of the 15th {ACM} {SIGPLAN} {International} {Haskell} {Symposium}},
+       publisher = {Association for Computing Machinery},
+       author = {McDonell, Trevor L. and Meredith, Joshua D. and Keller, Gabriele},
+       year = {2022},
+       note = {event-place: Ljubljana, Slovenia},
+       keywords = {Haskell, algebraic data types, embedded languages, pattern matching},
+       pages = {123--136},
+       file = {2108.13114.pdf:/home/mrl/.local/share/zotero/storage/AJAT8AXI/2108.13114.pdf:application/pdf},
+}
+
+@phdthesis{krishnamurthi_linguistic_2001,
+       address = {Houston, USA},
+       type = {{PhD} {Thesis}},
+       title = {Linguistic reuse},
+       school = {Rice University},
+       author = {Krishnamurthi, Shriram},
+       year = {2001},
+       file = {Krishnamurthi - 2001 - Linguistic reuse.PDF:/home/mrl/.local/share/zotero/storage/LSKHFPIS/Krishnamurthi - 2001 - Linguistic reuse.PDF:application/pdf},
+}
+
+@misc{ashton_internet_1999,
+       address = {London, UK},
+       type = {Presentation},
+       title = {Internet of {Things}},
+       author = {Ashton, Kevin},
+       year = {1999},
+       note = {Presentation at Proctor \& Gamble},
+}
+
+@article{ashton_that_2009,
+       title = {That ‘{Internet} of {Things}’ {Thing}},
+       volume = {22},
+       number = {7},
+       journal = {RFID journal},
+       author = {Ashton, Kevin},
+       year = {2009},
+       note = {Publisher: Hauppauge, New York},
+       pages = {97--114},
+       file = {Ashton - 2009 - That ‘Internet of Things’ Thing.pdf:/home/mrl/.local/share/zotero/storage/SJ33G6VR/Ashton - 2009 - That ‘Internet of Things’ Thing.pdf:application/pdf},
+}
+
+@phdthesis{van_gemert_task_2022,
+       address = {Nijmegen},
+       type = {Bachelor's {Thesis}},
+       title = {Task {Oriented} {Programming} in {LUA}},
+       language = {en},
+       school = {Radboud University},
+       author = {van Gemert, Dante},
+       year = {2022},
+       file = {van Gemert - 2022 - Task Oriented Programming in LUA.pdf:/home/mrl/.local/share/zotero/storage/UQHAWT83/van Gemert - 2022 - Task Oriented Programming in LUA.pdf:application/pdf},
+}
+
+@misc{lijnse_toppyt_2022,
+       title = {Toppyt},
+       url = {https://gitlab.com/baslijnse/toppyt},
+       urldate = {2022-10-07},
+       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},
+}