finalise finale
[phd-thesis.git] / other.bib
index 2b89d03..0263c33 100644 (file)
--- a/other.bib
+++ b/other.bib
        language = {English},
        urldate = {2021-02-24},
        publisher = {Release},
-       author = {{GHC Team}},
+       author = {GHC Team},
        year = {2021},
        file = {GHC Team - 2021 - GHC User’s Guide Documentation.pdf:/home/mrl/.local/share/zotero/storage/87ZT5VXL/GHC Team - 2021 - GHC User’s Guide Documentation.pdf:application/pdf},
 }
        language = {English},
        urldate = {2021-02-24},
        publisher = {Release},
-       author = {{GHC Team}},
+       author = {GHC Team},
        year = {2021},
 }
 
@@ -273,23 +273,6 @@ Publisher: Association for Computing Machinery},
        file = {svenningsson2013combining.pdf:/home/mrl/.local/share/zotero/storage/NFBGZCZT/svenningsson2013combining.pdf:application/pdf},
 }
 
-@article{mitchell_abstract_1988,
-       title = {Abstract {Types} {Have} {Existential} {Type}},
-       volume = {10},
-       issn = {0164-0925},
-       doi = {10.1145/44501.45065},
-       abstract = {Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite “value” we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.},
-       number = {3},
-       journal = {ACM Trans. Program. Lang. Syst.},
-       author = {Mitchell, John C. and Plotkin, Gordon D.},
-       month = jul,
-       year = {1988},
-       note = {Place: New York, NY, USA
-Publisher: Association for Computing Machinery},
-       pages = {470--502},
-       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{yorgey_giving_2012,
        address = {New York, NY, USA},
        series = {{TLDI} '12},
@@ -407,7 +390,7 @@ Publisher: Association for Computing Machinery},
        author = {Barendregt, HP and van Eekelen, MCJD and Glauert, JRW and Kennaway, JR and Plasmeijer, MJ and Sleep, MR},
        year = {1987},
        pages = {159--174},
-       file = {barh87-Lean.ps.gz:/home/mrl/.local/share/zotero/storage/63FBHND7/barh87-Lean.ps.gz:application/gzip},
+       file = {barh87-Lean.ps.gz:/home/mrl/.local/share/zotero/storage/63FBHND7/barh87-Lean.ps.gz:application/gzip;barh87-Lean.ps.gz:/home/mrl/.local/share/zotero/storage/6H2UKQGZ/barh87-Lean.ps.gz:application/gzip},
 }
 
 @misc{johnson-davies_lisp_2020,
@@ -437,6 +420,14 @@ Publisher: Association for Computing Machinery},
        file = {Stutterheim et al. - 2018 - Maintaining Separation of Concerns Through Task Or.pdf:/home/mrl/.local/share/zotero/storage/4GXJEM2U/Stutterheim et al. - 2018 - Maintaining Separation of Concerns Through Task Or.pdf:application/pdf},
 }
 
+@phdthesis{serrano_type_2018,
+       type = {{PhD} {Thesis}},
+       title = {Type {Error} {Customization} for {Embedded} {Domain}-{Specific} {Languages}},
+       school = {Utrecht University},
+       author = {Serrano, Alejandro},
+       year = {2018},
+}
+
 @inproceedings{steiner_firmata:_2009,
        title = {Firmata: {Towards} {Making} {Microcontrollers} {Act} {Like} {Extensions} of the {Computer}.},
        booktitle = {{NIME}},
@@ -536,10 +527,11 @@ Publisher: Association for Computing Machinery},
 @inproceedings{jansen_towards_2010,
        address = {Seattle, USA},
        title = {Towards dynamic workflows for crisis management},
-       booktitle = {{ISCRAM} 2010 – 7th {International} {Conference} on {Information} {Systems} for {Crisis} {Response} and {Management}: {Defining} {Crisis} {Management} 3.0, {Proceedings}},
+       isbn = {978-972-49-2247-8},
+       booktitle = {7th {Proceedings} of the {International} {Conference} on {Information} {Systems} for {Crisis} {Response} and {Management}, {Seattle}, {WA}, {USA}, {May}, 2010.},
        publisher = {Information Systems for Crisis Response and Management, ISCRAM},
        author = {Jansen, Jan Martin and Lijnse, Bas and Plasmeijer, Rinus},
-       editor = {French, B. and Tomaszewski, C.},
+       editor = {French, Simon and Tomaszewski, n and Zobel, Christopher},
        year = {2010},
        file = {Jansen et al. - 2010 - Towards dynamic workflows for crisis management.pdf:/home/mrl/.local/share/zotero/storage/AQSZJ3TA/Jansen et al. - 2010 - Towards dynamic workflows for crisis management.pdf:application/pdf},
 }
@@ -548,7 +540,7 @@ Publisher: Association for Computing Machinery},
        title = {Managing {COPD} exacerbations with telemedicine},
        booktitle = {Conference on {Artificial} {Intelligence} in {Medicine} in {Europe}},
        publisher = {Springer},
-       author = {Van Der Heijden, Maarten and Lijnse, Bas and Lucas, Peter JF and Heijdra, Yvonne F and Schermer, Tjard RJ},
+       author = {van der Heijden, Maarten and Lijnse, Bas and Lucas, Peter JF and Heijdra, Yvonne F and Schermer, Tjard RJ},
        year = {2011},
        pages = {169--178},
        file = {Van Der Heijden et al. - 2011 - Managing COPD exacerbations with telemedicine.pdf:/home/mrl/.local/share/zotero/storage/AS3MPSEF/Van Der Heijden et al. - 2011 - Managing COPD exacerbations with telemedicine.pdf:application/pdf},
@@ -563,6 +555,16 @@ Publisher: Association for Computing Machinery},
        file = {Lijnse et al. - 2012 - Incidone A task-oriented incident coordination to.pdf:/home/mrl/.local/share/zotero/storage/EYS9U69B/Lijnse et al. - 2012 - Incidone A task-oriented incident coordination to.pdf:application/pdf},
 }
 
+@inproceedings{santanna_safe_2013,
+       title = {Safe system-level concurrency on resource-constrained nodes},
+       booktitle = {Proceedings of the 11th {ACM} {Conference} on {Embedded} {Networked} {Sensor} {Systems}},
+       publisher = {ACM},
+       author = {Sant'Anna, Francisco and Rodriguez, Noemi and Ierusalimschy, Roberto and Landsiedel, Olaf and Tsigas, Philippas},
+       year = {2013},
+       pages = {11},
+       file = {Sant'Anna et al. - 2013 - Safe system-level concurrency on resource-constrai.pdf:/home/mrl/.local/share/zotero/storage/4865FAU3/Sant'Anna et al. - 2013 - Safe system-level concurrency on resource-constrai.pdf:application/pdf},
+}
+
 @mastersthesis{bohm_asynchronous_2019,
        address = {Nijmegen},
        title = {Asynchronous {Actions} in a {Synchronous} {World}},
@@ -845,7 +847,7 @@ Publisher: Association for Computing Machinery},
        year = {2008},
        note = {Place: New York, NY, USA
 Publisher: Association for Computing Machinery},
-       keywords = {domain specific languages, compile-time meta-programming, Syntax extension},
+       keywords = {compile-time meta-programming, domain specific languages, Syntax extension},
        file = {Tratt - 2008 - Domain Specific Language Implementation via Compil.pdf:/home/mrl/.local/share/zotero/storage/HHGYJK4H/Tratt - 2008 - Domain Specific Language Implementation via Compil.pdf:application/pdf},
 }
 
@@ -924,7 +926,7 @@ Publisher: Association for Computing Machinery},
 }
 
 @article{hammond_automatic_2003,
-       title = {{AUTOMATIC} {SKELETONS} {IN} {TEMPLATE} {HASKELL}},
+       title = {Automatic {Skeletons} in {Template} {Haskell}},
        volume = {13},
        doi = {10.1142/S0129626403001380},
        abstract = {This paper uses Template Haskell to automatically select appropriate skeleton implementations in the Eden parallel dialect of Haskell. The approach allows implementation parameters to be statically tuned according to architectural cost models based on source analyses. This permits us to target a range of parallel architecture classes from a single source specification. A major advantage of the approach is that cost models are user-definable and can be readily extended to new data or computation structures etc.},
@@ -1162,21 +1164,6 @@ Publisher: Association for Computing Machinery},
        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},
 }
 
-@incollection{kiselyov_typed_2012,
-       address = {Berlin, Heidelberg},
-       title = {Typed {Tagless} {Final} {Interpreters}},
-       isbn = {978-3-642-32202-0},
-       abstract = {The so-called `typed tagless final' approach of [6] has collected and polished a number of techniques for representing typed higher-order languages in a typed metalanguage, along with type-preserving interpretation, compilation and partial evaluation. The approach is an alternative to the traditional, or `initial' encoding of an object language as a (generalized) algebraic data type. Both approaches permit multiple interpretations of an expression, to evaluate it, pretty-print, etc. The final encoding represents all and only typed object terms without resorting to generalized algebraic data types, dependent or other fancy types. The final encoding lets us add new language forms and interpretations without breaking the existing terms and interpreters.},
-       booktitle = {Generic and {Indexed} {Programming}: {International} {Spring} {School}, {SSGIP} 2010, {Oxford}, {UK}, {March} 22-26, 2010, {Revised} {Lectures}},
-       publisher = {Springer Berlin Heidelberg},
-       author = {Kiselyov, Oleg},
-       editor = {Gibbons, Jeremy},
-       year = {2012},
-       doi = {10.1007/978-3-642-32202-0_3},
-       pages = {130--174},
-       file = {Kiselyov - 2012 - Typed Tagless Final Interpreters.pdf:/home/mrl/.local/share/zotero/storage/9NBYZLRP/Kiselyov - 2012 - Typed Tagless Final Interpreters.pdf:application/pdf},
-}
-
 @article{laufer_type_1996,
        title = {Type classes with existential types},
        volume = {6},
@@ -1357,6 +1344,21 @@ Publisher: Association for Computing Machinery},
        file = {CleanLanguageReport.pdf:/home/mrl/.local/share/zotero/storage/I2SDRIH6/CleanLanguageReport.pdf:application/pdf},
 }
 
+@incollection{kiselyov_typed_2012,
+       address = {Berlin, Heidelberg},
+       title = {Typed {Tagless} {Final} {Interpreters}},
+       isbn = {978-3-642-32202-0},
+       abstract = {The so-called `typed tagless final' approach of [6] has collected and polished a number of techniques for representing typed higher-order languages in a typed metalanguage, along with type-preserving interpretation, compilation and partial evaluation. The approach is an alternative to the traditional, or `initial' encoding of an object language as a (generalized) algebraic data type. Both approaches permit multiple interpretations of an expression, to evaluate it, pretty-print, etc. The final encoding represents all and only typed object terms without resorting to generalized algebraic data types, dependent or other fancy types. The final encoding lets us add new language forms and interpretations without breaking the existing terms and interpreters.},
+       booktitle = {Generic and {Indexed} {Programming}: {International} {Spring} {School}, {SSGIP} 2010, {Oxford}, {UK}, {March} 22-26, 2010, {Revised} {Lectures}},
+       publisher = {Springer Berlin Heidelberg},
+       author = {Kiselyov, Oleg},
+       editor = {Gibbons, Jeremy},
+       year = {2012},
+       doi = {10.1007/978-3-642-32202-0_3},
+       pages = {130--174},
+       file = {Kiselyov - 2012 - Typed Tagless Final Interpreters.pdf:/home/mrl/.local/share/zotero/storage/9NBYZLRP/Kiselyov - 2012 - Typed Tagless Final Interpreters.pdf:application/pdf},
+}
+
 @inproceedings{nocker_concurrent_1991,
        address = {Berlin, Heidelberg},
        title = {Concurrent clean},
@@ -1509,6 +1511,23 @@ Publisher: Association for Computing Machinery},
        file = {Cheney and Hinze - 2003 - First-class phantom types.pdf:/home/mrl/.local/share/zotero/storage/IBKGCFG2/Cheney and Hinze - 2003 - First-class phantom types.pdf:application/pdf},
 }
 
+@article{mitchell_abstract_1988,
+       title = {Abstract {Types} {Have} {Existential} {Type}},
+       volume = {10},
+       issn = {0164-0925},
+       doi = {10.1145/44501.45065},
+       abstract = {Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite “value” we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.},
+       number = {3},
+       journal = {ACM Trans. Program. Lang. Syst.},
+       author = {Mitchell, John C. and Plotkin, Gordon D.},
+       month = jul,
+       year = {1988},
+       note = {Place: New York, NY, USA
+Publisher: Association for Computing Machinery},
+       pages = {470--502},
+       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{baars_typing_2002,
        address = {New York, NY, USA},
        series = {{ICFP} '02},
@@ -1538,6 +1557,7 @@ Publisher: Association for Computing Machinery},
        year = {2021},
        note = {event-place: Copenhagen, Denmark},
        pages = {20--36},
+       file = {Young et al. - 2021 - On Adding Pattern Matching to Haskell-Based Deeply.pdf:/home/mrl/.local/share/zotero/storage/XRYWKWPT/Young et al. - 2021 - On Adding Pattern Matching to Haskell-Based Deeply.pdf:application/pdf},
 }
 
 @incollection{hinze_generic_2003,
@@ -1587,6 +1607,20 @@ Publisher: Association for Computing Machinery},
        file = {Polak and Jarosz - Automatic Graphical User Interface Form Generation.pdf:/home/mrl/.local/share/zotero/storage/8VK3D8JQ/Polak and Jarosz - Automatic Graphical User Interface Form Generation.pdf:application/pdf},
 }
 
+@inproceedings{koopman_executable_2011,
+       address = {Berlin, Heidelberg},
+       title = {An {Executable} and {Testable} {Semantics} for {iTasks}},
+       isbn = {978-3-642-24452-0},
+       abstract = {The iTask system is an easy to use combinator library for specifying dynamic data dependent workflows in a very flexible way. The specified workflows are executed as a multi-user web-application. The implementation of the iTask system is fairly complicated. Hence we cannot use it for reasoning about the semantics of workflows in the iTask system. In this paper we define an executable semantics that specifies how workflows react on events generated by the workers executing them. The semantics is used to explain iTask and to reason about iTask. Based on this semantics we define a mathematical notion of equivalence of tasks and show how this equivalence for tasks can be approximated automatically. Advantages of this executable semantics are: it is easy to validate the semantics by interactive simulation; properties of the semantics can be tested by our model-based test system Gþinspace∀þinspacest. Gþinspace∀þinspacest can test a large number of properties within seconds. These tests appeared to be a good indication about the consistency of the specified semantics and equivalence relation for tasks. The automatic testing of properties was very helpful in the development of the semantics. The contribution of this paper is a semantics for iTask as well as the method used to construct this operational semantics.},
+       booktitle = {Implementation and {Application} of {Functional} {Languages}},
+       publisher = {Springer Berlin Heidelberg},
+       author = {Koopman, Pieter and Plasmeijer, Rinus and Achten, Peter},
+       editor = {Scholz, Sven-Bodo and Chitil, Olaf},
+       year = {2011},
+       pages = {212--232},
+       file = {Koopman et al. - 2011 - An Executable and Testable Semantics for iTasks.pdf:/home/mrl/.local/share/zotero/storage/6LFA9MNU/Koopman et al. - 2011 - An Executable and Testable Semantics for iTasks.pdf:application/pdf},
+}
+
 @phdthesis{antonova_mtask_2022,
        address = {Nijmegen},
        type = {Bachelor's {Thesis}},
@@ -1878,7 +1912,7 @@ Publisher: Association for Computing Machinery},
 @phdthesis{baaij_digital_2015,
        address = {Netherlands},
        type = {{PhD} {Thesis}},
-       title = {Digital circuit in {C}\${\textbackslash}lambda\${aSH}: functional specifications and type-directed synthesis},
+       title = {Digital circuit in {C$\lambda$aSH}: functional specifications and type-directed synthesis},
        abstract = {Over the last three decades, the number of transistors used in microchips has increased by three orders of magnitude, from millions to billions. The productivity of the designers, however, lags behind. Managing to implement complex algorithms, while keeping non-functional properties within desired bounds, and thoroughly verifying the design against its specification, are the main difficulties in circuit design. As a motivation for our work we make a qualitative analysis of the tools available to circuit designers. Here we see that progress has been slow, and that the same techniques have been used for over 20 years. We claim that functional languages can be used to raise the abstraction level in circuit design. Especially higher-order functional languages, where functions are first-class and can be manipulated by other functions, offer a single abstraction mechanism that can capture many design patterns. This thesis explores the idea of using the functional language Haskell directly as a hardware specification language, and move beyond the limitations of embedded languages. Additionally, we can use normal functions from existing Haskell libraries to model the behaviour of our circuits. This thesis describes the inner workings of our CλaSH compiler, which translates the aforementioned circuit descriptions written in Haskell to low-level descriptions in VHDL. The challenge then becomes the reduction of the higher-level abstractions in the descriptions to a form where synthesis is feasible. This thesis describes a term rewrite system (with bound variables) to achieve this reduction. We prove that this term rewrite system always reduces a polymorphic, higher-order circuit description to a synthesisable variant. Even when descriptions use high-level abstractions, the CλaSH compiler can synthesize efficient circuits. Case studies show that circuits designed in Haskell, and synthesized with the C?aSH compiler, are on par with hand-written VHDL, in both area and gate propagation delay. This thesis thus shows the merits of using a modern functional language for circuit design. The advanced type system and higher-order functions allow us to design circuits that have the desired property of being correct-by-construction. Finally, our synthesis approach enables us to derive efficient circuits from descriptions that use high-level abstractions.},
        language = {Undefined},
        school = {University of Twente},
@@ -1958,6 +1992,18 @@ Publisher: Association for Computing Machinery},
        year = {2022},
 }
 
+@article{kiselyov_implementing_2011,
+       title = {Implementing {Explicit} and {Finding} {Implicit} {Sharing} in {Embedded} {DSLs}},
+       volume = {66},
+       doi = {10.4204/eptcs.66.11},
+       journal = {Electronic Proceedings in Theoretical Computer Science},
+       author = {Kiselyov, Oleg},
+       month = sep,
+       year = {2011},
+       note = {Publisher: Open Publishing Association},
+       pages = {210--225},
+}
+
 @article{sun_compositional_2022,
        title = {Compositional {Embeddings} of {Domain}-{Specific} {Languages}},
        volume = {6},
@@ -1992,29 +2038,6 @@ Publisher: Association for Computing Machinery},
        pages = {122877},
 }
 
-@inproceedings{santanna_safe_2013,
-       title = {Safe system-level concurrency on resource-constrained nodes},
-       booktitle = {Proceedings of the 11th {ACM} {Conference} on {Embedded} {Networked} {Sensor} {Systems}},
-       publisher = {ACM},
-       author = {Sant'Anna, Francisco and Rodriguez, Noemi and Ierusalimschy, Roberto and Landsiedel, Olaf and Tsigas, Philippas},
-       year = {2013},
-       pages = {11},
-       file = {Sant'Anna et al. - 2013 - Safe system-level concurrency on resource-constrai.pdf:/home/mrl/.local/share/zotero/storage/4865FAU3/Sant'Anna et al. - 2013 - Safe system-level concurrency on resource-constrai.pdf:application/pdf},
-}
-
-@article{kiselyov_implementing_2011,
-       title = {Implementing {Explicit} and {Finding} {Implicit} {Sharing} in {Embedded} {DSLs}},
-       volume = {66},
-       url = {https://doi.org/10.4204/eptcs.66.11},
-       doi = {10.4204/eptcs.66.11},
-       journal = {Electronic Proceedings in Theoretical Computer Science},
-       author = {Kiselyov, Oleg},
-       month = sep,
-       year = {2011},
-       note = {Publisher: Open Publishing Association},
-       pages = {210--225},
-}
-
 @article{shi_edge_2016,
        title = {Edge {Computing}: {Vision} and {Challenges}},
        volume = {3},
@@ -2050,7 +2073,7 @@ Publisher: Association for Computing Machinery},
        editor = {Zsók, Viktória and Hughes, John},
        year = {2021},
        pages = {44--66},
-       file = {Koopman et al. - 2021 - Dynamic Editors for Well-Typed Expressions.pdf:/home/mrl/.local/share/zotero/storage/H8QJCNRK/Koopman et al. - 2021 - Dynamic Editors for Well-Typed Expressions.pdf:application/pdf},
+       file = {978-3-030-83978-9_3.pdf:/home/mrl/.local/share/zotero/storage/6654TJL7/978-3-030-83978-9_3.pdf:application/pdf},
 }
 
 @inproceedings{omar_hazelnut_2017,
@@ -2058,7 +2081,6 @@ Publisher: Association for Computing Machinery},
        series = {{POPL} '17},
        title = {Hazelnut: {A} {Bidirectionally} {Typed} {Structure} {Editor} {Calculus}},
        isbn = {978-1-4503-4660-3},
-       url = {https://doi.org/10.1145/3009837.3009900},
        doi = {10.1145/3009837.3009900},
        abstract = {Structure editors allow programmers to edit the tree structure of a program directly. This can have cognitive benefits, particularly for novice and end-user programmers. It also simplifies matters for tool designers, because they do not need to contend with malformed program text. This paper introduces Hazelnut, a structure editor based on a small bidirectionally typed lambda calculus extended with holes and a cursor. Hazelnut goes one step beyond syntactic well-formedness: its edit actions operate over statically meaningful incomplete terms. Naïvely, this would force the programmer to construct terms in a rigid "outside-in" manner. To avoid this problem, the action semantics automatically places terms assigned a type that is inconsistent with the expected type inside a hole. This meaningfully defers the type consistency check until the term inside the hole is finished. Hazelnut is not intended as an end-user tool itself. Instead, it serves as a foundational account of typed structure editing. To that end, we describe how Hazelnut's rich metatheory, which we have mechanized using the Agda proof assistant, serves as a guide when we extend the calculus to include binary sum types. We also discuss various interpretations of holes, and in so doing reveal connections with gradual typing and contextual modal type theory, the Curry-Howard interpretation of contextual modal logic. Finally, we discuss how Hazelnut's semantics lends itself to implementation as an event-based functional reactive program. Our simple reference implementation is written using js\_of\_ocaml.},
        booktitle = {Proceedings of the 44th {ACM} {SIGPLAN} {Symposium} on {Principles} of {Programming} {Languages}},
@@ -2071,19 +2093,10 @@ Publisher: Association for Computing Machinery},
        file = {Omar et al. - 2017 - Hazelnut A Bidirectionally Typed Structure Editor.pdf:/home/mrl/.local/share/zotero/storage/4DNRBZ4H/Omar et al. - 2017 - Hazelnut A Bidirectionally Typed Structure Editor.pdf:application/pdf},
 }
 
-@phdthesis{serrano_type_2018,
-       type = {{PhD} {Thesis}},
-       title = {Type {Error} {Customization} for {Embedded} {Domain}-{Specific} {Languages}},
-       school = {Utrecht University},
-       author = {Serrano, Alejandro},
-       year = {2018},
-}
-
 @article{hester_batteries_2019,
        title = {Batteries {Not} {Included}},
        volume = {26},
        issn = {1528-4972},
-       url = {https://doi.org/10.1145/3351474},
        doi = {10.1145/3351474},
        abstract = {Getting things done amid frequent power failures, batteryless intermittent research is rethinking how we build computing systems and paving the way to a sustainable and scalable digital future. The next trillion devices might be a little weird.},
        number = {1},
@@ -2097,26 +2110,10 @@ Publisher: Association for Computing Machinery},
        file = {Hester and Sorber - 2019 - Batteries Not Included.pdf:/home/mrl/.local/share/zotero/storage/LT53WV8K/Hester and Sorber - 2019 - Batteries Not Included.pdf:application/pdf},
 }
 
-
-@inproceedings{koopman_executable_2011,
-       address = {Berlin, Heidelberg},
-       title = {An {Executable} and {Testable} {Semantics} for {iTasks}},
-       isbn = {978-3-642-24452-0},
-       abstract = {The iTask system is an easy to use combinator library for specifying dynamic data dependent workflows in a very flexible way. The specified workflows are executed as a multi-user web-application. The implementation of the iTask system is fairly complicated. Hence we cannot use it for reasoning about the semantics of workflows in the iTask system. In this paper we define an executable semantics that specifies how workflows react on events generated by the workers executing them. The semantics is used to explain iTask and to reason about iTask. Based on this semantics we define a mathematical notion of equivalence of tasks and show how this equivalence for tasks can be approximated automatically. Advantages of this executable semantics are: it is easy to validate the semantics by interactive simulation; properties of the semantics can be tested by our model-based test system Gþinspace∀þinspacest. Gþinspace∀þinspacest can test a large number of properties within seconds. These tests appeared to be a good indication about the consistency of the specified semantics and equivalence relation for tasks. The automatic testing of properties was very helpful in the development of the semantics. The contribution of this paper is a semantics for iTask as well as the method used to construct this operational semantics.},
-       booktitle = {Implementation and {Application} of {Functional} {Languages}},
-       publisher = {Springer Berlin Heidelberg},
-       author = {Koopman, Pieter and Plasmeijer, Rinus and Achten, Peter},
-       editor = {Scholz, Sven-Bodo and Chitil, Olaf},
-       year = {2011},
-       pages = {212--232},
-       file = {Koopman et al. - 2011 - An Executable and Testable Semantics for iTasks.pdf:/home/mrl/.local/share/zotero/storage/6LFA9MNU/Koopman et al. - 2011 - An Executable and Testable Semantics for iTasks.pdf:application/pdf},
-}
-
 @incollection{management_association_evaluating_2014,
        address = {Hershey, PA, USA},
        title = {Evaluating the {Usability} of {Domain}-{Specific} {Languages}},
        isbn = {978-1-4666-4301-7},
-       url = {https://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-4301-7.ch098},
        abstract = {Domain-Specific Languages (DSLs) can be regarded as User Interfaces (UIs) because they bridge the gap between the domain experts and the computation platforms. Usability of DSLs by domain experts is a key factor for their successful adoption. The few reports supporting improvement claims are persuasive, but mostly anecdotal. Systematic literature reviews show that evidences on the effects of the introduction of DSLs are actually very scarce. In particular, the evaluation of usability is often skipped, relaxed, or at least omitted from papers reporting the development of DSLs. The few exceptions mostly take place at the end of the development process, when fixing problems is already too expensive. A systematic approach, based on techniques for the experimental evaluation of UIs, should be used to assess suitability of new DSLs. This chapter presents a general experimental evaluation model, tailored for DSLs’ experimental evaluation, and instantiates it in several DSL’s evaluation examples.},
        booktitle = {Software {Design} and {Development}: {Concepts}, {Methodologies}, {Tools}, and {Applications}},
        publisher = {IGI Global},
@@ -2132,7 +2129,6 @@ Publisher: Association for Computing Machinery},
        title = {Workflow {Patterns}},
        volume = {14},
        issn = {1573-7578},
-       url = {https://doi.org/10.1023/A:1022883727209},
        doi = {10.1023/A:1022883727209},
        abstract = {Differences in features supported by the various contemporary commercial workflow management systems point to different insights of suitability and different levels of expressive power. The challenge, which we undertake in this paper, is to systematically address workflow requirements, from basic to complex. Many of the more complex requirements identified, recur quite frequently in the analysis phases of workflow projects, however their implementation is uncertain in current products. Requirements for workflow languages are indicated through workflow patterns. In this context, patterns address business requirements in an imperative workflow style expression, but are removed from specific workflow languages. The paper describes a number of workflow patterns addressing what we believe identify comprehensive workflow functionality. These patterns provide the basis for an in-depth comparison of a number of commercially availablework flow management systems. As such, this paper can be seen as the academic response to evaluations made by prestigious consulting companies. Typically, these evaluations hardly consider the workflow modeling language and routing capabilities, and focus more on the purely technical and commercial aspects.},
        number = {1},
@@ -2143,3 +2139,37 @@ Publisher: Association for Computing Machinery},
        pages = {5--51},
        file = {van der Aalst et al. - 2003 - Workflow Patterns.pdf:/home/mrl/.local/share/zotero/storage/WXP2T4R7/van der Aalst et al. - 2003 - Workflow Patterns.pdf:application/pdf},
 }
+
+@inproceedings{belwal_variable_2013,
+       address = {New York, NY, USA},
+       series = {{RACS} '13},
+       title = {Variable {Voltage} {Scheduling} with the {Priority}-{Based} {Functional} {Reactive} {Programming} {Language}},
+       isbn = {978-1-4503-2348-2},
+       doi = {10.1145/2513228.2513271},
+       abstract = {In this paper, we consider how energy consumption can be reduced in the Priority-based Functional Reactive Programming (P-FRP) execution model through the implementation of Dynamic Voltage and Frequency Scaling (DVFS), a technique for modifying circuit delays and altering the operating frequency of the CPU. Use of DVFS can have an impact on task execution time, which adversely affects the temporal guarantees required from the real-time scheduler. Most of the existing studies provide solutions which are suitable for the classical model of preemptive task scheduling. Tasks which are schedulable in the preemptive model cannot be guaranteed to be schedulable in P-FRP, since the abort-based preemptive approach often creates additional costs in terms of response times.},
+       booktitle = {Proceedings of the 2013 {Research} in {Adaptive} and {Convergent} {Systems}},
+       publisher = {Association for Computing Machinery},
+       author = {Belwal, Chaitanya and Cheng, Albert M. K. and Ras, J. and Wen, Yuanfeng},
+       year = {2013},
+       note = {event-place: Montreal, Quebec, Canada},
+       keywords = {embedded system, real-time},
+       pages = {440--445},
+}
+
+@article{alhirabi_security_2021,
+       title = {Security and {Privacy} {Requirements} for the {Internet} of {Things}: {A} {Survey}},
+       volume = {2},
+       issn = {2691-1914},
+       url = {https://doi.org/10.1145/3437537},
+       doi = {10.1145/3437537},
+       abstract = {The design and development process for internet of things (IoT) applications is more complicated than that for desktop, mobile, or web applications. First, IoT applications require both software and hardware to work together across many different types of nodes with different capabilities under different conditions. Second, IoT application development involves different types of software engineers such as desktop, web, embedded, and mobile to work together. Furthermore, non-software engineering personnel such as business analysts are also involved in the design process. In addition to the complexity of having multiple software engineering specialists cooperating to merge different hardware and software components together, the development process requires different software and hardware stacks to be integrated together (e.g., different stacks from different companies such as Microsoft Azure and IBM Bluemix). Due to the above complexities, non-functional requirements (such as security and privacy, which are highly important in the context of the IoT) tend to be ignored or treated as though they are less important in the IoT application development process. This article reviews techniques, methods, and tools to support security and privacy requirements in existing non-IoT application designs, enabling their use and integration into IoT applications. This article primarily focuses on design notations, models, and languages that facilitate capturing non-functional requirements (i.e., security and privacy). Our goal is not only to analyse, compare, and consolidate the empirical research but also to appreciate their findings and discuss their applicability for the IoT.},
+       number = {1},
+       journal = {ACM Trans. Internet Things},
+       author = {Alhirabi, Nada and Rana, Omer and Perera, Charith},
+       month = feb,
+       year = {2021},
+       note = {Place: New York, NY, USA
+Publisher: Association for Computing Machinery},
+       keywords = {design principles, Internet of Things, non functional requirements, notation, software design tools, software engineering},
+       file = {Alhirabi et al. - 2021 - Security and Privacy Requirements for the Internet.pdf:/home/mrl/.local/share/zotero/storage/7UN4IF62/Alhirabi et al. - 2021 - Security and Privacy Requirements for the Internet.pdf:text/html},
+}