Publications

2021

  1. Shahmohammadian, M. and Mainland, G. 2021. Metaprogramming with Combinators. In Proceedings of 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Oct. 2021).
    DOI  PDF  BibTeX
    @inproceedings{shahmohammadian21metaprogramming,
      title = {Metaprogramming with Combinators},
      booktitle = {In {{Proceedings}} of 20th {{ACM SIGPLAN International Conference}} on {{Generative Programming}}: Concepts and {{Experiences}}},
      author = {Shahmohammadian, Mahshid and Mainland, Geoffrey},
      year = {2021},
      month = oct,
      series = {{{GPCE}} '21},
      doi = {10.1145/3486609.3487198},
      acceptrate = {50}
    }
    

2020

  1. Rey, X.R., Mainland, G. and Dandekar, K. 2020. Real-Time Online Learning for Pattern Reconfigurable Antenna State Selection. 7th NAFOSTED Conference on Information and Computer Science (Nov. 2020), 13–18. Abstract 
    DOI  BibTeX

    Pattern reconfigurable antennas (PRAs) can dynamically change their radiation pattern and provide diversity and directional gain. These properties allow them to adapt to channel variations by steering directional beams toward desired transmissions and away from interference sources, thus enhancing the overall performance of a wireless communication system. To fully exploit the benefits of a PRA, the key challenge is being able to optimally select the antenna state in real time. Current literature on this topic, to the best of our knowledge, focuses on the design of algorithms to optimally select the best antenna mode with evaluation performed in simulation or postprocessing. In this study, we have not only designed a real-time online antenna state selection framework for SISO wireless links but we have also implemented it in an experimental software defined radio testbed. We benchmarked the multi-armed bandit algorithm against other antenna state selection algorithms and show how it can improve system performance by mitigating the effects of interference taking advantage of the directionality PRAs provide. We also show that when the optimal state changes over time the bandit approach does not work very well. For such a scenario, we show how the Adaptive Pursuit algorithm works well and can be a great solution. We also discuss what changes could be done to the bandit algorithm to work better in this case.

    @inproceedings{rey20realtime,
      title = {Real-Time Online Learning for Pattern Reconfigurable Antenna State Selection},
      booktitle = {7th {{NAFOSTED Conference}} on {{Information}} and {{Computer Science}}},
      author = {Rey, Xaime Rivas and Mainland, Geoffrey and Dandekar, Kapil},
      year = {2020},
      month = nov,
      series = {{{NICS}} '20},
      pages = {13--18},
      doi = {10.1109/NICS51282.2020.9335872}
    }
    
  2. Lackpour, A., Rey, X.R., Mainland, G. and Dandekar, K.R. 2020. Greedy Channel Selection for Dynamic Spectrum Access Radios. 2020 IEEE International Symposium on Circuits and Systems (Sevilla, Spain, Oct. 2020), 1–4. Abstract 
    DOI  BibTeX

    Dynamic Spectrum Access (DSA) radios typically select their radio channels according to their data networking goals, a defined DSA spectrum operating policy, and the state of the RF spectrum. RF spectrum sensing can be used to collect information about the state of the RF spectrum and prioritize which channels should be assigned for DSA radio waveform transmission and reception. This paper describes a Greedy Channel Ranking Algorithm (GCRA) used to calculate and rank RF interference metrics for observed DSA radio channels. The channel rankings can then be used to select and/or avoid channels in order to attain a desired DSA radio performance level. Experimental measurements are collected using our custom software-defined radio (SDR) system to quantify the performance of using GCRA for a DSA radio application. Analysis of these results show that both pre and post-detection average interference power metrics are the most accurate metrics for selecting groups of radio channels to solve constrained channel assignment problems in occupied gray space spectrum.

    @inproceedings{lackpour20greedy,
      title = {Greedy Channel Selection for Dynamic Spectrum Access Radios},
      booktitle = {2020 {{IEEE International Symposium}} on {{Circuits}} and {{Systems}}},
      author = {Lackpour, Alex and Rey, Xaime Rivas and Mainland, Geoffrey and Dandekar, Kapil R.},
      year = {2020},
      month = oct,
      series = {{{ISCAS}} '20},
      pages = {1--4},
      address = {{Sevilla, Spain}},
      issn = {2158-1525},
      doi = {10.1109/ISCAS45731.2020.9180882}
    }
    

2019

  1. Shahmohammadian, M. and Mainland, G. 2019. Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages. 26th IEEE International Conference on Electronics, Circuits and Systems (Genoa, Italy, Nov. 2019), 634–637. Abstract 
    DOI  BibTeX

    Functional hardware description languages (FHDL) provide powerful tools for building new abstractions that enable sophisticated hardware system to be constructed by composing small reusable parts. Raising the level of abstractions in hardware designs means the programmer can focus on high-level circuit structure rather than mundane low-level details. The language features that facilitate this include high-order functions, rich static type system with type inference, and parametric polymorphism. We use hand-written structural and behavioral VHDL, Simulink, and the Kansas Lava FHDL to re-implement several components taken from a Simulink model of an orthogonal frequency-division multiplexing (OFDM) physical layer (PHY). Our development demonstrates that an FHDL can require fewer lines of code than traditional design languages without sacrificing performance.

    @inproceedings{shahmohammadian19synthesizing,
      title = {Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages},
      booktitle = {26th {{IEEE International Conference}} on {{Electronics}}, {{Circuits}} and {{Systems}}},
      author = {Shahmohammadian, Mahshid and Mainland, Geoffrey},
      year = {2019},
      month = nov,
      series = {{{ICECS}} '19},
      pages = {634--637},
      address = {{Genoa, Italy}},
      doi = {10.1109/ICECS46596.2019.8964954}
    }
    
  2. Dandekar, K., Begashaw, S., Jacovic, M., Lackpour, A., Rasheed, I., Rey, X.R., Sahin, C., Shaher, S. and Mainland, G. 2019. Grid Software Defined Radio Network Testbed for Hybrid Measurement and Emulation. 16th Annual IEEE International Conference on Sensing, Communication, and Networking (Boston, USA, Jun. 2019). Abstract 
    DOI  BibTeX

    Traditional approaches to experimental characterization of wireless communication systems typically involves highly specialized and small-scale experiments to examine narrow aspects of each of these applications. We present the Grid SDR testbed, a unified experimental framework to rapidly prototype and evaluate these diverse systems using: (i) field measurements to evaluate real time transceiver and channel-specific effects and (ii) network emulation to evaluate systems at a large scale with controllable and repeatable channels. We present the hardware and software architecture for our testbed, and describe how it being used for research and education. Specifically, we show experimental network layer metrics in different application domains, and discuss future opportunities using this unique experimental capability.

    @inproceedings{dandekar19grid,
      title = {Grid Software Defined Radio Network Testbed for Hybrid Measurement and Emulation},
      booktitle = {16th {{Annual IEEE International Conference}} on {{Sensing}}, {{Communication}}, and {{Networking}}},
      author = {Dandekar, Kapil and Begashaw, Simon and Jacovic, Marko and Lackpour, Alex and Rasheed, Ilhaan and Rey, Xaime Rivas and Sahin, Cem and Shaher, Sharif and Mainland, Geoffrey},
      year = {2019},
      month = jun,
      address = {{Boston, USA}},
      doi = {10.1109/SAHCN.2019.8824901},
      citations = {2}
    }
    
  3. Jacovic, M., Kraus, M., Mainland, G. and Dandekar, K.R. 2019. Evaluation of Physical Layer Secret Key Generation for IoT Devices. 20th IEEE Wireless and Microwave Technology Conference (Apr. 2019), 1–6. Abstract 
    DOI  BibTeX

    As aspects of our daily lives become more interconnected with the emergence of the Internet of Things (IoT), it is imperative that our devices are reliable and secure from threats. Vulnerabilities of Wi-Fi Protected Access (WPA/WPA2) have been exposed in the past, motivating the use of multiple security techniques, even with the release of WPA3. Physical layer security leverages existing components of communication systems to enable methods of protecting devices that are well-suited for IoT applications. In this work, we provide a low-complexity technique for generating secret keys at the Physical layer to enable improved IoT security. We leverage the existing carrier frequency offset (CFO) and channel estimation components of Orthogonal Frequency Division Multiplexing (OFDM) receivers for an efficient approach. The key generation algorithm we propose focuses on the unique CFO and channel experienced between a pair of desired nodes, and to the best of our understanding, the combination of the features has not been examined previously for the purpose of secret key generation. Our techniques are appropriate for IoT devices, as they do not require extensive processing capabilities and are based on second order statistics. We obtain experimental results using USRP N210 software defined radios and analyze the performance of our methods in post-processing. Our techniques improve the capability of desired nodes to establish matching secret keys, while hindering the threat of an eavesdropper, and are useful for protecting future IoT devices.

    @inproceedings{jacovic19evaluation,
      title = {Evaluation of Physical Layer Secret Key Generation for {{IoT}} Devices},
      booktitle = {20th {{IEEE Wireless}} and {{Microwave Technology Conference}}},
      author = {Jacovic, Marko and Kraus, Martin and Mainland, Geoffrey and Dandekar, Kapil R.},
      year = {2019},
      month = apr,
      pages = {1--6},
      doi = {10.1109/WAMICON.2019.8765465}
    }
    

2017

  1. Mainland, G. and Johnson, J. 2017. A Haskell Compiler for Signal Transforms. In Proceedings of 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Vancouver, BC, Canada, Oct. 2017), 219–232.
    DOI  PDF  BibTeX
    @inproceedings{mainland17haskell,
      title = {A {{Haskell}} Compiler for Signal Transforms},
      booktitle = {In {{Proceedings}} of 16th {{ACM SIGPLAN International Conference}} on {{Generative Programming}}: Concepts and {{Experiences}}},
      author = {Mainland, Geoffrey and Johnson, Jeremy},
      year = {2017},
      month = oct,
      series = {{{GPCE}} '17},
      pages = {219--232},
      publisher = {{ACM}},
      address = {{Vancouver, BC, Canada}},
      doi = {10.1145/3136040.3136056},
      acceptrate = {38},
      citations = {4}
    }
    
  2. Mainland, G. and Shanmugam, S. 2017. From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation. Proceedings of the 6th International Workshop on Functional High-Performance Computing (Oxford, UK, Sep. 2017).
    DOI  PDF  BibTeX
    @inproceedings{mainland17highlevel,
      title = {From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation},
      booktitle = {Proceedings of the 6th {{International Workshop}} on {{Functional High}}-{{Performance Computing}}},
      author = {Mainland, Geoffrey and Shanmugam, Siddhanathan},
      year = {2017},
      month = sep,
      address = {{Oxford, UK}},
      doi = {10.1145/3122948.3122950},
      acceptrate = {83}
    }
    
  3. Mainland, G. 2017. A Domain-Specific Language for Software-Defined Radio. Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages (PADL ’17). Springer International Publishing. 173–188.
    DOI  PDF  BibTeX
    @incollection{mainland17domainspecific,
      title = {A Domain-Specific Language for Software-Defined Radio},
      booktitle = {Proceedings of the 19th {{International Symposium}} on {{Practical Aspects}} of {{Declarative Languages}} ({{PADL}} '17)},
      author = {Mainland, Geoffrey},
      year = {2017},
      month = jan,
      series = {Lecture {{Notes}} in {{Computer Science}}},
      volume = {10137},
      pages = {173--188},
      publisher = {{Springer International Publishing}},
      address = {{Paris, France}},
      doi = {10.1007/978-3-319-51676-9_12},
      acceptrate = {50},
      citations = {2}
    }
    
  4. Mainland, G. 2017. Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols. Proceedings of the ACM on Programming Languages. 1, 1 (Sep. 2017), 19:1–19:26.
    DOI  PDF  BibTeX
    @article{mainland17better,
      title = {Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols},
      author = {Mainland, Geoffrey},
      year = {2017},
      month = sep,
      journal = {Proceedings of the ACM on Programming Languages},
      volume = {1},
      number = {1},
      pages = {19:1--19:26},
      issn = {2475-1421},
      doi = {10.1145/3110263},
      acceptrate = {35},
      citations = {3}
    }
    
  5. Mainland, G., Leshchinskiy, R. and Peyton Jones, S. 2017. Exploiting Vector Instructions with Generalized Stream Fusion. Communications of the ACM. 60, 5 (Apr. 2017), 83–91. Abstract 
    DOI  PDF  BibTeX

    Ideally, a program written as a composition of concise, self-contained components should perform as well as the equivalent hand-written version where the functionality of what was many components has been manually combined into a monolithic implementation. That is, programmers should not have to sacrifice code clarity or good software engineering practices to obtain performance—we want compositionality without a performance penalty. This work shows how to attain this goal for high-level Haskell in the domain of sequence-processing functions, which includes applications such as array processing. Prior work on stream fusion shows how to automatically transform some high-level sequence-processing functions into efficient implementations. It has been used to great effect in Haskell libraries for manipulating byte arrays, Unicode text, and unboxed vectors. However some operations, like vector append, do not perform well within the stream fusion framework. Others, like SIMD computation using the SSE and AVX instructions available on modern x86 chips, do not seem to fit in the stream fusion framework at all. We describe generalized stream fusion, which solves these issues through a careful choice of stream representation. Benchmarks show that high-level Haskell code written using our compiler and libraries can produce code that is faster than both compiler- and hand-vectorized C.

    @article{mainland17exploiting,
      title = {Exploiting Vector Instructions with Generalized Stream Fusion},
      author = {Mainland, Geoffrey and Leshchinskiy, Roman and Peyton Jones, Simon},
      year = {2017},
      month = apr,
      journal = {Communications of the ACM},
      volume = {60},
      number = {5},
      pages = {83--91},
      issn = {0001-0782},
      doi = {10.1145/3060597}
    }
    

2015

  1. Stewart, G., Gowda, M., Mainland, G., Radunovic, B., Vytiniotis, D. and Agulló, C.L. 2015. Ziria: A DSL for Wireless Systems Programming. Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (Istanbul, Turkey, Mar. 2015), 415–428.
    DOI  PDF  BibTeX
    @inproceedings{stewart15ziria,
      title = {Ziria: A {{DSL}} for Wireless Systems Programming},
      booktitle = {Proceedings of the 20th {{International Conference}} on {{Architectural Support}} for {{Programming Languages}} and {{Operating Systems}}},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovic, Bozidar and Vytiniotis, Dimitrios and Agull{\'o}, Cristina Luengo},
      year = {2015},
      month = mar,
      pages = {415--428},
      address = {{Istanbul, Turkey}},
      doi = {10.1145/2694344.2694368},
      acceptrate = {17},
      citations = {21}
    }
    
  2. Stewart, G., Gowda, M., Mainland, G., Radunović, B. and Vytiniotis, D. 2015. Demo: Implementation of Real-Time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY. Proceedings of the 21st Annual International Conference on Mobile Computing and Networking (Paris, France, Sep. 2015), 210–211. Abstract 
    DOI  PDF  BibTeX

    Software-defined radios (SDR) have the potential to bring major innovation in wireless networking design. However, their impact so far has been limited due to complex programming tools. Most of the existing tools are either too slow to achieve the full line speeds of contemporary wireless PHYs or are too complex to master. In this demo we present our novel SDR programming environment called Ziria. Ziria consists of a novel programming language and an optimizing compiler. The compiler is able to synthesize very efficient SDR code from high-level PHY descriptions written in Ziria language. To illustrate its potential, we present the design of an LTE-like PHY layer in Ziria. We run it on the Sora SDR platform and demonstrate on a test-bed that it is able to operate in real-time.

    @inproceedings{stewart15demo,
      title = {Demo: Implementation of Real-Time {{WiFi}} Receiver in {{Ziria}}, Language for Rapid Prototyping of Wireless {{PHY}}},
      booktitle = {Proceedings of the 21st {{Annual International Conference}} on {{Mobile Computing}} and {{Networking}}},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovi{\'c}, Bo{\v z}idar and Vytiniotis, Dimitrios},
      year = {2015},
      month = sep,
      pages = {210--211},
      publisher = {{ACM}},
      address = {{Paris, France}},
      doi = {10.1145/2789168.2789185},
      isbn = {978-1-4503-3619-2}
    }
    

2014

  1. Stewart, G., Gowda, M., Mainland, G., Radunovic, B. and Vytiniotis, D. 2014. Demo: 802.11 a/g PHY Implementation in Ziria, Domain-Specific Language for Wireless Programming. Proceedings of the ACM SIGCOMM 2014 Workshop on Software Radio Implementation Forum (Chicago, IL, Aug. 2014), 27–30.
    DOI  PDF  BibTeX
    @inproceedings{stewart14demo,
      title = {Demo: 802.11 a/g {{PHY}} Implementation in {{Ziria}}, Domain-Specific Language for Wireless Programming},
      booktitle = {Proceedings of the {{ACM SIGCOMM}} 2014 {{Workshop}} on {{Software Radio Implementation Forum}}},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovic, Bozidar and Vytiniotis, Dimitrios},
      year = {2014},
      month = aug,
      pages = {27--30},
      address = {{Chicago, IL}},
      doi = {10.1145/2627788.2627799}
    }
    
  2. Stewart, G., Gowda, M., Mainland, G., Radunovic, B., Vytiniotis, D. and Patterson, D. 2014. Ziria: Language for Rapid Prototyping of Wireless PHY. Proceedings of the 2014 ACM Conference on Special Interest Group on Data Communication (Chicago, IL, Aug. 2014), 357–358.
    DOI  PDF  BibTeX
    @inproceedings{stewart14ziria,
      title = {Ziria: Language for Rapid Prototyping of Wireless {{PHY}}},
      booktitle = {Proceedings of the 2014 {{ACM Conference}} on {{Special Interest Group}} on {{Data Communication}}},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovic, Bozidar and Vytiniotis, Dimitrios and Patterson, Doug},
      year = {2014},
      month = aug,
      pages = {357--358},
      address = {{Chicago, IL}},
      doi = {10.1145/2619239.2631427},
      citations = {7}
    }
    
  3. Gowda, M., Stewart, G., Mainland, G., Radunović, B., Vytiniotis, D. and Patterson, D. 2014. Poster: Ziria: Language for Rapid Prototyping of Wireless PHY. Proceedings of the 20th Annual International Conference on Mobile Computing and Networking (Maui, Hawaii, Sep. 2014), 359–362. Abstract 
    DOI  PDF  BibTeX

    Software-defined radio (SDR) brings the flexibility of software to the domain of wireless protocol design, promising an ideal platform both for research and innovation and rapid deployment of new protocols on existing hardware. However, existing SDR programming platforms require either careful hand-tuning of low-level code, negating many of the advantages of software, or are too slow to be useful in the real world. We present Ziria, the first software-defined radio programming platform that is both easily programmable and performant. Ziria introduces a novel programming model tailored to wireless physical layer tasks and captures the inherent and important distinction between data and control paths in this domain. Ziria provides the capability of implementing a real-time WiFi PHY running at 20 MHz.

    @inproceedings{gowda14poster,
      title = {Poster: Ziria: Language for Rapid Prototyping of Wireless {{PHY}}},
      booktitle = {Proceedings of the 20th {{Annual International Conference}} on {{Mobile Computing}} and {{Networking}}},
      author = {Gowda, Mahanth and Stewart, Gordon and Mainland, Geoffrey and Radunovi{\'c}, Bozidar and Vytiniotis, Dimitrios and Patterson, Doug},
      year = {2014},
      month = sep,
      pages = {359--362},
      publisher = {{ACM}},
      address = {{Maui, Hawaii}},
      doi = {10.1145/2639108.2642893},
      isbn = {978-1-4503-2783-1}
    }
    

2013

  1. Mainland, G., Leshchinskiy, R. and Peyton Jones, S. 2013. Exploiting Vector Instructions with Generalized Stream Fusion. Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming (Boston, MA, Sep. 2013), 37–48. Abstract 
    DOI  PDF  BibTeX

    Stream fusion is a powerful technique for automatically transforming high-level sequence-processing functions into efficient implementations. It has been used to great effect in Haskell libraries for manipulating byte arrays, Unicode text, and unboxed vectors. However, some operations, like vector append, still do not perform well within the standard stream fusion framework. Others, like SIMD computation using the SSE and AVX instructions available on modern x86 chips, do not seem to fit in the framework at all. In this paper we introduce generalized stream fusion, which solves these issues. The key insight is to bundle together multiple stream representations, each tuned for a particular class of stream consumer. We also describe a stream representation suited for efficient computation with SSE instructions. Our ideas are implemented in modified versions of the GHC compiler and vector library. Benchmarks show that high-level Haskell code written using our compiler and libraries can produce code that is faster than both compiler- and hand-vectorized C.

    @inproceedings{mainland13exploiting,
      title = {Exploiting Vector Instructions with Generalized Stream Fusion},
      booktitle = {Proceedings of the 18th {{ACM SIGPLAN International Conference}} on {{Functional Programming}}},
      author = {Mainland, Geoffrey and Leshchinskiy, Roman and Peyton Jones, Simon},
      year = {2013},
      month = sep,
      pages = {37--48},
      address = {{Boston, MA}},
      doi = {10.1145/2500365.2500601},
      acceptrate = {30},
      citations = {33},
      isbn = {978-1-4503-2326-0}
    }
    
  2. Stewart, G., Gowda, M., Mainland, G., Radunovic, B. and Vytiniotis, D. 2013. Ziria: Wireless Programming for Hardware Dummies. Technical Report #MSR-TR-2013-135. Microsoft Research.
    PDF  BibTeX
    @techreport{stewart13ziria,
      title = {Ziria: Wireless Programming for Hardware Dummies},
      author = {Stewart, Gordon and Gowda, Mahanth and Mainland, Geoffrey and Radunovic, Bozidar and Vytiniotis, Dimitrios},
      year = {2013},
      month = nov,
      number = {MSR-TR-2013-135},
      institution = {{Microsoft Research}},
      url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ziria.pdf}
    }
    

2012

  1. Mainland, G. 2012. Explicitly Heterogeneous Metaprogramming with MetaHaskell. Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming (Copenhagen, Denmark, Sep. 2012), 311–322.
    DOI  PDF  BibTeX
    @inproceedings{mainland12explicitly,
      title = {Explicitly Heterogeneous Metaprogramming with {{MetaHaskell}}},
      booktitle = {Proceedings of the 17th {{ACM SIGPLAN International Conference}} on {{Functional Programming}}},
      author = {Mainland, Geoffrey},
      year = {2012},
      month = sep,
      pages = {311--322},
      address = {{Copenhagen, Denmark}},
      doi = {10.1145/2364527.2364572},
      acceptrate = {36},
      citations = {27},
      isbn = {978-1-4503-1054-3}
    }
    
  2. Bierman, G., Russo, C., Mainland, G., Meijer, E. and Torgersen, M. 2012. Pause ’n’ Play: Formalizing Asynchronous C$^♯$. Proceeedings of the 26th European Conference on Object-Oriented Programming (ECOOP ’12). Springer. 233–257.
    DOI  BibTeX
    @incollection{bierman12pause,
      title = {Pause 'n' Play: Formalizing Asynchronous C$^\sharp$},
      shorttitle = {Pause 'n' {{Play}}},
      booktitle = {Proceeedings of the 26th {{European Conference}} on {{Object}}-{{Oriented Programming}} ({{ECOOP}} '12)},
      author = {Bierman, Gavin and Russo, Claudio and Mainland, Geoffrey and Meijer, Erik and Torgersen, Mads},
      year = {2012},
      month = jun,
      series = {Lecture {{Notes}} in {{Computer Science}}},
      volume = {7313},
      pages = {233--257},
      publisher = {{Springer}},
      address = {{Beijing, China}},
      doi = {10.1007/978-3-642-31057-7_12},
      acceptrate = {21},
      citations = {46},
      copyright = {\textcopyright 2012 Springer-Verlag Berlin Heidelberg},
      isbn = {978-3-642-31056-0 978-3-642-31057-7}
    }
    

2010

  1. Mainland, G. and Morrisett, G. 2010. Nikola: Embedding Compiled GPU Functions in Haskell. Proceedings of the Third ACM Symposium on Haskell (Baltimore, MD, Sep. 2010), 67–78.
    DOI  PDF  BibTeX
    @inproceedings{mainland10nikola,
      title = {Nikola: Embedding Compiled {{GPU}} Functions in {{Haskell}}},
      shorttitle = {Nikola},
      booktitle = {Proceedings of the {{Third ACM Symposium}} on {{Haskell}}},
      author = {Mainland, Geoffrey and Morrisett, Greg},
      year = {2010},
      month = sep,
      pages = {67--78},
      address = {{Baltimore, MD}},
      doi = {10.1145/2088456.1863533},
      acceptrate = {39},
      citations = {113}
    }
    

2008

  1. Mainland, G., Morrisett, G. and Welsh, M. 2008. Flask: Staged Functional Programming for Sensor Networks. Proceeding of the 13th ACM SIGPLAN International Conference on Functional Programming (Victoria, BC, Canada, Sep. 2008), 335–346.
    DOI  PDF  BibTeX
    @inproceedings{mainland08flask,
      title = {Flask: Staged Functional Programming for Sensor Networks},
      booktitle = {Proceeding of the 13th {{ACM SIGPLAN International Conference}} on {{Functional Programming}}},
      author = {Mainland, Geoffrey and Morrisett, Greg and Welsh, Matt},
      year = {2008},
      month = sep,
      pages = {335--346},
      address = {{Victoria, BC, Canada}},
      doi = {10.1145/1411204.1411251},
      acceptrate = {35},
      citations = {100}
    }
    
  2. Chen, B.-rong, Peterson, G., Mainland, G. and Welsh, M. 2008. LiveNet: Using Passive Monitoring to Reconstruct Sensor Network Dynamics. Proceedings of the 4th IEEE International Conference on Distributed Computing in Sensor Systems (Santorini Island, Greece, Jun. 2008).
    DOI  PDF  BibTeX
    @inproceedings{chen08livenet,
      title = {{{LiveNet}}: Using Passive Monitoring to Reconstruct Sensor Network Dynamics},
      booktitle = {Proceedings of the 4th {{IEEE International Conference}} on {{Distributed Computing}} in {{Sensor Systems}}},
      author = {Chen, {Bor-rong} and Peterson, Geoffrey and Mainland, Geoff and Welsh, Matt},
      year = {2008},
      month = jun,
      address = {{Santorini Island, Greece}},
      doi = {10.1007/978-3-540-69170-9_6},
      acceptrate = {25},
      citations = {131}
    }
    
  3. Murty, R., Mainland, G., Rose, I., Chowdhury, A.R., Gosain, A., Bers, J. and Welsh, M. 2008. CitySense: An Urban-Scale Wireless Sensor Network and Testbed. 2008 IEEE International Conference on Technologies for Homeland Security (May 2008).
    DOI  PDF  BibTeX
    @inproceedings{murty08citysense,
      title = {{{CitySense}}: An Urban-Scale Wireless Sensor Network and Testbed},
      booktitle = {2008 {{IEEE International Conference}} on {{Technologies}} for {{Homeland Security}}},
      author = {Murty, Rohan and Mainland, Geoffrey and Rose, Ian and Chowdhury, Atanu Roy and Gosain, Abhimanyu and Bers, Josh and Welsh, Matt},
      year = {2008},
      month = may,
      doi = {10.1109/THS.2008.4534518},
      citations = {278}
    }
    

2007

  1. Mainland, G. 2007. Why It’s Nice to Be Quoted: Quasiquoting for Haskell. Proceedings of the ACM SIGPLAN 2007 Haskell Workshop (Freiburg, Germany, Sep. 2007), 73–82.
    DOI  PDF  BibTeX
    @inproceedings{mainland07why,
      title = {Why It's Nice to Be Quoted: Quasiquoting for {{Haskell}}},
      booktitle = {Proceedings of the {{ACM SIGPLAN}} 2007 {{Haskell Workshop}}},
      author = {Mainland, Geoffrey},
      year = {2007},
      month = sep,
      series = {Haskell '07},
      pages = {73--82},
      address = {{Freiburg, Germany}},
      doi = {10.1145/1291201.1291211},
      acceptrate = {38},
      citations = {119}
    }
    
  2. Chen, B.-rong, Peterson, G., Mainland, G. and Welsh, M. 2007. LiveNet: Using Passive Monitoring to Reconstruct Sensor Network Dynamics. Technical Report #TR-11-07. School of Engineering and Applied Sciences, Harvard University.
    PDF  BibTeX
    @techreport{chen07livenet,
      type = {Technical {{Report}}},
      title = {{{LiveNet}}: Using Passive Monitoring to Reconstruct Sensor Network Dynamics},
      author = {Chen, {Bor-rong} and Peterson, Geoffrey and Mainland, Geoff and Welsh, Matt},
      year = {2007},
      month = aug,
      number = {TR-11-07},
      institution = {{School of Engineering and Applied Sciences, Harvard University}},
      citations = {124}
    }
    
  3. Mainland, G., Morrisett, G., Welsh, M. and Newton, R. 2007. Sensor Network Programming with Flask. Proceedings of the 5th International Conference on Embedded Networked Sensor Systems (Sydney, Australia, Nov. 2007), 385–386.
    DOI  PDF  BibTeX
    @inproceedings{mainland07sensor,
      title = {Sensor Network Programming with {{Flask}}},
      booktitle = {Proceedings of the 5th {{International Conference}} on {{Embedded Networked Sensor Systems}}},
      author = {Mainland, Geoffrey and Morrisett, Greg and Welsh, Matt and Newton, Ryan},
      year = {2007},
      month = nov,
      pages = {385--386},
      publisher = {{ACM}},
      address = {{Sydney, Australia}},
      doi = {10.1145/1322263.1322307},
      citations = {5}
    }
    

2006

  1. Mainland, G., Welsh, M. and Morrisett, G. 2006. Flask: A Language for Data-Driven Sensor Network Programs. Technical Report #TR-13-06. Harvard University.
    PDF  BibTeX
    @techreport{mainland06flask,
      title = {Flask: A Language for Data-Driven Sensor Network Programs},
      author = {Mainland, Geoffrey and Welsh, Matt and Morrisett, Greg},
      year = {2006},
      month = may,
      number = {TR-13-06},
      institution = {{Harvard University}},
      citations = {43}
    }
    

2005

  1. Mainland, G., Parkes, D.C. and Welsh, M. 2005. Decentralized, Adaptive Resource Allocation for Sensor Networks. Proceedings of the 2nd Symposium on Networked Systems Design & Implementation (Boston, MA, May 2005), 315–328.
    PDF  BibTeX
    @inproceedings{mainland05decentralized,
      title = {Decentralized, Adaptive Resource Allocation for Sensor Networks},
      booktitle = {Proceedings of the 2nd {{Symposium}} on {{Networked Systems Design}} \& {{Implementation}}},
      author = {Mainland, Geoffrey and Parkes, David C. and Welsh, Matt},
      year = {2005},
      month = may,
      pages = {315--328},
      publisher = {{USENIX Association}},
      address = {{Boston, MA}},
      acceptrate = {22},
      citations = {211}
    }
    
  2. Mainland, G. and Welsh, M. 2005. Distributed, Adaptive Resource Allocation for Sensor Networks. ;login. 30, 5 (Oct. 2005).
    PDF  BibTeX
    @article{mainland05distributed,
      title = {Distributed, Adaptive Resource Allocation for Sensor Networks},
      author = {Mainland, Geoffrey and Welsh, Matt},
      year = {2005},
      month = oct,
      journal = {;login},
      volume = {30},
      number = {5},
      url = {https://www.usenix.org/system/files/login/articles/969-mainland.pdf}
    }
    

2004

  1. Mainland, G., Kang, L., Lahaie, S., Parkes, D.C. and Welsh, M. 2004. Using Virtual Markets to Program Global Behavior in Sensor Networks. Proceedings of the 11th ACM SIGOPS European Workshop (Leuven, Belgium, Sep. 2004).
    DOI  PDF  BibTeX
    @inproceedings{mainland04using,
      title = {Using Virtual Markets to Program Global Behavior in Sensor Networks},
      booktitle = {Proceedings of the 11th {{ACM SIGOPS European Workshop}}},
      author = {Mainland, Geoff and Kang, Laura and Lahaie, Sebastien and Parkes, David C. and Welsh, Matt},
      year = {2004},
      month = sep,
      publisher = {{ACM}},
      address = {{Leuven, Belgium}},
      doi = {10.1145/1133572.1133587},
      citations = {55}
    }
    
  2. Welsh, M. and Mainland, G. 2004. Programming Sensor Networks Using Abstract Regions. Proceedings of the 1st Symposium on Networked Systems Design & Implementation (San Francisco, CA, Mar. 2004), 29–42.
    PDF  BibTeX
    @inproceedings{welsh04programming,
      title = {Programming Sensor Networks Using Abstract Regions},
      booktitle = {Proceedings of the 1st {{Symposium}} on {{Networked Systems Design}} \& {{Implementation}}},
      author = {Welsh, Matt and Mainland, Geoff},
      year = {2004},
      month = mar,
      pages = {29--42},
      publisher = {{USENIX Association}},
      address = {{San Francisco, CA}},
      acceptrate = {23},
      citations = {548}
    }
    
  3. Lorincz, K., Malan, D., Fulford-Jones, T.R.F., Nawoj, A., Clavel, A., Shnayder, V., Mainland, G., Moulton, S. and Welsh, M. 2004. Sensor Networks for Emergency Response: Challenges and Opportunities. IEEE Pervasive Computing, Special Issue on Pervasive Computing for First Response. (Oct. 2004).
    DOI  BibTeX
    @article{lorincz04sensor,
      title = {Sensor Networks for Emergency Response: Challenges and Opportunities},
      author = {Lorincz, Konrad and Malan, David and {Fulford-Jones}, Thaddeus R. F. and Nawoj, Alan and Clavel, Antony and Shnayder, Victor and Mainland, Geoff and Moulton, Steve and Welsh, Matt},
      year = {2004},
      month = oct,
      journal = {IEEE Pervasive Computing, Special Issue on Pervasive Computing for First Response},
      doi = {10.1109/MPRV.2004.18},
      citations = {1205}
    }