updates
[phd-thesis.git] / tiot.bib
index fc4deef..956c207 100644 (file)
--- a/tiot.bib
+++ b/tiot.bib
@@ -103,31 +103,6 @@ lastaccessed ={April 1, 2016},
        file = {Levis and Culler - Matd A Tiny Virtual Machine for Sensor Networks.pdf:/home/mrl/.local/share/zotero/storage/RMPGY9NI/Levis and Culler - Matd A Tiny Virtual Machine for Sensor Networks.pdf:application/pdf}
 }
 
-@inproceedings{grebe_threading_2019,
-       address = {Cham},
-       title = {Threading the {Arduino} with {Haskell}},
-       isbn = {978-3-030-14805-8},
-       abstract = {Programming embedded microcontrollers often requires the scheduling of independent threads of execution, specifying the interaction and sequencing of actions in the multiple threads. Developing and debugging such multi-threaded systems can be especially challenging in highly resource constrained systems such as the Arduino line of microcontroller boards. The Haskino library, developed at the University of Kansas, allows programmers to develop code for Arduino-based microcontrollers using monadic Haskell program fragments. This paper describes our efforts to extend the Haskino library to translate monadic Haskell code to multi-threaded code executing on Arduino boards.},
-       booktitle = {Trends in {Functional} {Programming}},
-       publisher = {Springer},
-       author = {Grebe, Mark and Gill, Andy},
-       editor = {Van Horn, David and Hughes, John},
-       year = {2019},
-       pages = {135--154},
-       file = {Grebe and Gill - Threading the Arduino with Haskell.pdf:/home/mrl/.local/share/zotero/storage/DW5PS9ZA/Grebe and Gill - Threading the Arduino with Haskell.pdf:application/pdf}
-}
-
-@inproceedings{grebe_haskino_2016,
-       title = {Haskino: {A} remote monad for programming the arduino},
-       shorttitle = {Haskino},
-       booktitle = {International {Symposium} on {Practical} {Aspects} of {Declarative} {Languages}},
-       publisher = {Springer},
-       author = {Grebe, Mark and Gill, Andy},
-       year = {2016},
-       pages = {153--168},
-       file = {Grebe-16-Haskino.pdf:/home/mrl/.local/share/zotero/storage/ABG7TTLV/Grebe-16-Haskino.pdf:application/pdf}
-}
-
 @inproceedings{gill_remote_2015,
 author = {Gill, Andy and Sculthorpe, Neil and Dawson, Justin and Eskilson, Aleksander and Farmer, Andrew and Grebe, Mark and Rosenbluth, Jeffrey and Scott, Ryan and Stanton, James},
 title = {The Remote Monad Design Pattern},
@@ -228,19 +203,6 @@ pages = {59–70},
        author = {Guinard, Dominique and Trifa, Vlad},
        year = {2016}
 }
-
-@inproceedings{ireland2009classification,
-  title={A classification of object-relational impedance mismatch},
-  author={Ireland, Christopher and Bowers, David and Newton, Michael and Waugh, Kevin},
-  booktitle={2009 First International Confernce on Advances in Databases, Knowledge, and Data Applications},
-  pages={36--43},
-  year={2009},
-  organization={IEEE},
-  publisher={IEEE},
-       doi={10.1109/DBKDA.2009.11},
-       address={Gosier, France}
-}
-
 @article{maccormack2007impact,
   title={The impact of component modularity on design evolution: Evidence from the software industry},
   author={MacCormack, Alan and Rusnak, John and Baldwin, Carliss Y},
@@ -556,7 +518,7 @@ series = {Onward! 2020}
 }
 
 @inproceedings{epstein2011towards,
-       author = {Epstein, Jeff and Black, Andrew P. and Peyton-Jones, Simon},
+       author = {Epstein, Jeff and Black, Andrew P. and Peyton Jones, Simon},
        title = {Towards Haskell in the Cloud},
        year = {2011},
        isbn = {9781450308601},
@@ -621,24 +583,13 @@ series = {Onward! 2020}
 }
 
 @misc{CircuitPython,
-       author = "CircuitPython Team",
+       author = {{CircuitPython Team}},
        title = "CircuitPython",
        year = "2022",
        url = "https://circuitpython.org/",
        note = "[Online; accessed 2-March-2022]"
 }
 
-@article{barendsen_smetsers_1996,
-       title={Uniqueness typing for functional languages with graph rewriting semantics}, 
-       volume={6}, 
-       DOI={10.1017/S0960129500070109}, 
-       number={6}, 
-       journal={Mathematical Structures in Computer Science}, 
-       publisher={Cambridge University Press}, 
-       author={Barendsen, Erik and Smetsers, Sjaak}, 
-       year={1996}, 
-       pages={579–612}
-}
 @InProceedings{GenericProgrammingExtensionForClean,
        author = "Alimarine, Artem and Plasmeijer, Rinus",
        editor = "Arts, Thomas and Mohnen, Markus",
@@ -659,7 +610,7 @@ series = {Onward! 2020}
        publisher = {Association for Computing Machinery},
        address = {New York, NY, USA},
        doi = {10.1145/325694.325709},
-       abstract = {This paper describes a new approach to generic functional programming, which allows us to define functions generically for all datatypes expressible in Haskell. A generic function is one that is defined by induction on the structure of types. Typical examples include pretty printers, parsers, and comparison functions. The advanced type system of Haskell presents a real challenge: datatypes may be parameterized not only by types but also by type constructors, type definitions may involve mutual recursion, and recursive calls of type constructors can be arbitrarily nested. We show that—despite this complexity—a generic function is uniquely defined by giving cases for primitive types and type constructors (such as disjoint unions and cartesian products). Given this information a generic function can be specialized to arbitrary Haskell datatypes. The key idea of the approach is to model types by terms of the simply typed λ-calculus augmented by a family of recursion operators. While conceptually simple, our approach places high demands on the type system: it requires polymorphic recursion, rank-n types, and a strong form of type constructor polymorphism. Finally, we point out connections to Haskell's class system and show that our approach generalizes type classes in some respects.},
+       abstract = {This paper describes a new approach to generic functional programming, which allows us to define functions generically for all datatypes expressible in Haskell. A generic function is one that is defined by induction on the structure of types. Typical examples include pretty printers, parsers, and comparison functions. The advanced type system of Haskell presents a real challenge: datatypes may be parameterized not only by types but also by type constructors, type definitions may involve mutual recursion, and recursive calls of type constructors can be arbitrarily nested. We show that—despite this complexity—a generic function is uniquely defined by giving cases for primitive types and type constructors (such as disjoint unions and cartesian products). Given this information a generic function can be specialized to arbitrary Haskell datatypes. The key idea of the approach is to model types by terms of the simply typed $\lambda-calculus augmented by a family of recursion operators. While conceptually simple, our approach places high demands on the type system: it requires polymorphic recursion, rank-n types, and a strong form of type constructor polymorphism. Finally, we point out connections to Haskell's class system and show that our approach generalizes type classes in some respects.},
        booktitle = {Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
        pages = {119–132},
        numpages = {14},
@@ -959,18 +910,6 @@ numpages = {11},
 keywords = {foreign function calls, multi-lingual type system, OCaml, multi-lingual type inference, flow-sensitive type system, FFI, foreign function interface, dataflow analysis, representational type}
 }
 
-@INPROCEEDINGS{LubbersMIPRO,
-  author={Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
-  booktitle={2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO)}, 
-  title={Multitasking on Microcontrollers using Task Oriented Programming}, 
-  year={2019},
-  volume={},
-  number={},
-  pages={1587-1592},
-  publisher={IEEE},
-  address={Opatija, Croatia},
-  doi={10.23919/MIPRO.2019.8756711}}
-  
 @inproceedings{plamauer2017evaluation,
   title={Evaluation of micropython as application layer programming language on cubesats},
   author={Plamauer, Sebastian and Langer, Martin},
@@ -991,53 +930,6 @@ keywords = {foreign function calls, multi-lingual type system, OCaml, multi-ling
   organization={IEEE}
 }
 
-@inproceedings{suchocki_microscheme:_2015,
-       title = {Microscheme: {Functional} programming for the {Arduino}},
-       booktitle = {Proceedings of the 2014 {Scheme} and {Functional} {Programming} {Workshop}},
-       author = {Suchocki, Ryan and Kalvala, Sara},
-       publisher = {University of Indiana},
-       address = {Washington DC, USA},
-       year = {2015},
-       pages = {9},
-}
-
-@misc{johnson-davies_lisp_2020,
-       title = {Lisp for microcontrollers},
-       url = {https://ulisp.com},
-       urldate = {2020-02-14},
-       journal = {Lisp for microcontrollers},
-       author = {Johnson-Davies, David},
-       year = {2020},
-       address = {Boston, MA, USA},
-}
-
-@article{dube_bit:_2000,
-       title = {{BIT}: {A} very compact {Scheme} system for embedded applications},
-       journal = {Proceedings of the Fourth Workshop on Scheme and Functional Programming},
-       author = {Dubé, Danny},
-       year = {2000},
-       file = {dube.ps:/home/mrl/.local/share/zotero/storage/RNG6V7HT/dube.ps:application/postscript},
-}
-
-@inproceedings{feeley_picbit:_2003,
-       title = {{PICBIT}: {A} {Scheme} system for the {PIC} microcontroller},
-       booktitle = {Proceedings of the {Fourth} {Workshop} on {Scheme} and {Functional} {Programming}},
-       publisher = {Citeseer},
-       author = {Feeley, Marc and Dubé, Danny},
-       year = {2003},
-       pages = {7--15},
-       address = {Boston, MA, USA},
-}
-
-@inproceedings{st-amour_picobit:_2009,
-       title = {{PICOBIT}: a compact scheme system for microcontrollers},
-       booktitle = {International {Symposium} on {Implementation} and {Application} of {Functional} {Languages}},
-       publisher = {Springer},
-       author = {St-Amour, Vincent and Feeley, Marc},
-       year = {2009},
-       pages = {1--17},
-       address = {South Orange, NJ, USA},
-}
 @book{Ravulavaru18,
 author = {Ravulavaru, Arvind},
 isbn = {1-78883-378-3},
@@ -1155,7 +1047,11 @@ numpages = {11},
 keywords = {distributed systems, web applications, network communication}
 }
 
-@article{jones_1992, title={Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine}, volume={2}, DOI={10.1017/S0956796800000319}, number={2}, journal={Journal of Functional Programming}, publisher={Cambridge University Press}, author={Jones, Simon L. Peyton}, year={1992}, pages={127–202}}
+@article{jones_1992, title={Implementing lazy functional languages on stock
+       hardware: the Spineless Tagless G-machine}, volume={2},
+       DOI={10.1017/S0956796800000319}, number={2}, journal={Journal of Functional
+                                                                                                          Programming},
+publisher={Cambridge University Press}, author={Peyton Jones, Simon}, year={1992}, pages={127–202}}
 
 
 @article{domoszlai_implementing_2011,
@@ -1462,7 +1358,7 @@ series = {Onward! 2014}
 
 @misc{diffmicro,
  title = "MicroPython Differences from CPython",
- author = "Micropython Official Website",
+ author = {{Micropython Team}},
  year = "2022",
  note = "https://docs.micropython.org/en/latest/genrst/index.html",
 }
@@ -1503,25 +1399,6 @@ month = aug,
        pages = {15},
        file = {Herwig et al. - Measurement and Analysis of Hajime, a Peer-to-peer.pdf:/home/mrl/.local/share/zotero/storage/YFB8C8CU/Herwig et al. - Measurement and Analysis of Hajime, a Peer-to-peer.pdf:application/pdf},
 }
-@article{10.1145/3437537,
-author = {Alhirabi, Nada and Rana, Omer and Perera, Charith},
-title = {Security and Privacy Requirements for the Internet of Things: A Survey},
-year = {2021},
-issue_date = {February 2021},
-publisher = {Association for Computing Machinery},
-address = {New York, NY, USA},
-volume = {2},
-number = {1},
-issn = {2691-1914},
-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.},
-journal = {ACM Trans. Internet Things},
-month = {feb},
-articleno = {6},
-numpages = {37},
-keywords = {design principles, software design tools, Internet of Things, non functional requirements, notation, software engineering}
-}
-
 @phdthesis{wijkhuizen_security_2018,
        address = {Nijmegen},
        type = {Bachelor's {Thesis}},