Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Geoffrey Mainland

dblp:86/766 · DBLP profile ↗
← Back
21ranked-venue papers
10as first author
2since 2021 · last 2023
0000-0002-0328-8594ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 8 first-author · 1 since 2021Computer networks · 8 · 2 first-author · 1 since 2021Systems, architecture and hardware · 2

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer networks
7 papers
Physical-layer communications · 76% Internet of things and sensor networks · 20% Wireless networking · 4%
Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 78% Programming languages and type systems · 22%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Cloud and datacenter computing · 50% Distributed systems · 50%

Topics — the 11 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Physical-layer communications
software-defined radio
0.842015
Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY · MobiCom 2015
Ziria: A DSL for Wireless Systems Programming · ASPLOS 2015
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Compilers and program optimization
domain-specific compilation
0.322015
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY · MobiCom 2015
Internet of things and sensor networks › wireless sensor network
programming abstractions
0.122007
Sensor network programming with Flask · SenSys 2007
Programming Sensor Networks Using Abstract Regions · NSDI 2004
Programming languages and type systems
domain-specific languages
0.122015
Ziria: A DSL for Wireless Systems Programming · ASPLOS 2015
Programming Sensor Networks Using Abstract Regions · NSDI 2004
Internet of things and sensor networks › wireless sensor network
sensor network programming
0.112007
Sensor network programming with Flask · SenSys 2007
Physical-layer communications › physical layer
LTE physical layer
0.112014
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Wireless networking › wireless network protocols
wireless protocol design
0.112014
Poster: Ziria: language for rapid prototyping of wireless PHY · MobiCom 2014
Internet of things and sensor networks › wireless sensor network › sensor network management
sensor network resource allocation
0.112005
Decentralized, Adaptive Resource Allocation for Sensor Networks · NSDI 2005
Distributed systems › distributed resource management
distributed resource allocation
0.112005
Decentralized, Adaptive Resource Allocation for Sensor Networks · NSDI 2005
Cloud and datacenter computing
resource allocation
0.112005
Decentralized, Adaptive Resource Allocation for Sensor Networks · NSDI 2005
Internet of things and sensor networks
wireless sensor network
0.012004
Programming Sensor Networks Using Abstract Regions · NSDI 2004

Methods — techniques the papers use, named apart from their topics

domain-specific language · 1.0optimizing compiler · 0.8runtime platform · 0.1
YearPublicationVenuePosition
2023 Mitigating RF jamming attacks at the physical layer with machine learning
abstract
Abstract Wireless communication devices must be protected from malicious threats, including active jamming attacks, due to the widespread use of wireless systems throughout our every‐day lives. Jamming mitigation techniques are predominately evaluated through simulation or with hardware for very specific jamming conditions. In this paper, an experimental software defined radio‐based RF jamming mitigation platform which performs online jammer classification and leverages reconfigurable beam‐steering antennas at the physical layer is introduced. A ray‐tracing emulation system is presented and validated to enable hardware‐in‐the‐loop jamming experiments of complex outdoor and mobile site‐specific scenarios. Random forests classifiers are trained based on over‐the‐air collected data and integrated into the platform. The mitigation system is evaluated for both over‐the‐air and ray‐tracing emulated environments. The experimental results highlight the benefit of using the jamming mitigation system in the presence of active jamming attacks.
Marko Jacovic, Xaime Rivas Rey, Geoffrey Mainland, Kapil R. Dandekar
IET Commun.3
2021 Metaprogramming with combinators
abstract
There are a wide array of methods for writing code generators. We advocate for a point in the design space, which we call metaprogramming with combinators, where programmers use (and write) combinator libraries that directly manipulate object language terms. The key language feature that makes this style of programming palatable is quasiquotation. Our approach leverages quasiquotation and other host language features to provide what is essentially a rich, well-typed macro language. Unlike other approaches, metaprogramming with combinators allows full control over generated code, thereby also providing full control over performance and resource usage. This control does not require sacrificing the ability to write high-level abstractions. We demonstrate metaprogramming with combinators through several code generators written in Haskell that produce VHDL targeted to Xilinx FPGAs.
Mahshid Shahmohammadian, Geoffrey Mainland
GPCE2
2020 Greedy Channel Selection for Dynamic Spectrum Access Radios
abstract
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.
Alex Lackpour, Xaime Rivas Rey, Geoffrey Mainland, Kapil R. Dandekar
ISCAS3
2019 Grid Software Defined Radio Network Testbed for Hybrid Measurement and Emulation
abstract
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 Drexel 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 is 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.
Kapil R. Dandekar, Simon Begashaw, Marko Jacovic, Alex Lackpour, Ilhaan Rasheed, Xaime Rivas Rey, Cem Sahin, Sharif Shaher, Geoffrey Mainland
SECON9
2017 A Haskell compiler for signal transforms
abstract
Building a reusable, auto-tuning code generator from scratch is a challenging problem, requiring many careful design choices. We describe HSpiral, a Haskell compiler for signal transforms that builds on the foundational work of Spiral. Our design leverages many Haskell language features to ensure that our framework is reusable, flexible, and efficient. As well as describing the design of our system, we show how to extend it to support new classes of transforms, including the number-theoretic transform and a variant of the split-radix algorithm that results in reduced operation counts. We also show how to incorporate rewrite rules into our system to reproduce results from previous literature on code generation for the fast Fourier transform.
Geoffrey Mainland, Jeremy Johnson 0001
GPCE1
2017 A Domain-Specific Language for Software-Defined Radio
Geoffrey Mainland
PADL1
2017 Better living through operational semantics: an optimizing compiler for radio protocols
abstract
Software-defined radio (SDR) promises to bring the flexibility and rapid iterative workflow of software to radio protocol design. Many factors make achieving this promise challenging, not least of which are the high data rates and timing requirements of real-world radio protocols. The Ziria language and accompanying compiler demonstrated that a high-level language can compete in this demanding space, but extracting reusable lessons from this success is difficult due to Ziria's lack of a formal semantics. Our first contribution is a core language, operational semantics, and type system for Ziria. The insight we gained through developing this operational semantics led to our second contribution, consisting of two program transformations. The first is fusion, which can eliminate intermediate queues in Ziria programs. Fusion subsumes many one-off optimizations performed by the original Ziria compiler. The second transformation is pipeline coalescing, which reduces execution overhead by batching IO. Pipeline coalescing relies critically on fusion and provides a much simpler story for the original Ziria compiler's "vectorization" transformation. These developments serve as the basis of our third contribution, a new compiler for Ziria that produces significantly faster code than the original compiler. The new compiler leverages our intermediate language to help eliminate unnecessary memory traffic. As well as providing a firm foundation for the Ziria language, our work on an operational semantics resulted in very real software engineering benefits. These benefits need not be limited to SDR---the core language and accompanying transformations we present are applicable to other domains that require processing streaming data at high speed.
Geoffrey Mainland
Proc. ACM Program. Lang.1
2015 Ziria: A DSL for Wireless Systems Programming
abstract
Software-defined radio (SDR) brings the flexibility of software to wireless protocol design, promising an ideal platform for innovation and rapid protocol deployment. However, implementing modern wireless protocols on existing SDR platforms often requires careful hand-tuning of low-level code, which can undermine the advantages of software. Ziria is a new domain-specific language (DSL) that offers programming abstractions suitable for wireless physical (PHY) layer tasks while emphasizing the pipeline reconfiguration aspects of PHY programming. The Ziria compiler implements a rich set of specialized optimizations, such as lookup table generation and pipeline fusion. We also offer a novel -- due to pipeline reconfiguration -- algorithm to optimize the data widths of computations in Ziria pipelines. We demonstrate the programming flexibility of Ziria and the performance of the generated code through a detailed evaluation of a line-rate Ziria WiFi 802.11a/g implementation that is on par and in many cases outperforms a hand-tuned state-of-the-art C++ implementation on commodity CPUs.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Cristina Luengo Agullo
ASPLOS3
2015 Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY
abstract
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.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis
MobiCom3
2014 Poster: Ziria: language for rapid prototyping of wireless PHY
abstract
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.
Mahanth Gowda, Gordon Stewart 0001, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Doug Patterson
MobiCom3
2014 Ziria: language for rapid prototyping of wireless PHY
abstract
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.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Doug Patterson
SIGCOMM3
2013 Exploiting vector instructions with generalized stream fusio
abstract
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.
Geoffrey Mainland, Roman Leshchinskiy, Simon L. Peyton Jones
ICFP1
2012 Pause 'n' Play: Formalizing Asynchronous C#
Gavin M. Bierman, Claudio V. Russo, Geoffrey Mainland, Erik Meijer 0001, Mads Torgersen
ECOOP3
2012 Explicitly heterogeneous metaprogramming with MetaHaskell
abstract
Languages with support for metaprogramming, like MetaOCaml, offer a principled approach to code generation by guaranteeing that well-typed metaprograms produce well-typed programs. However, many problem domains where metaprogramming can fruitfully be applied require generating code in languages like C, CUDA, or assembly. Rather than resorting to add-hoc code generation techniques, these applications should be directly supported by explicitly heterogeneous metaprogramming languages.
Geoffrey Mainland
ICFP1
2010 Nikola: embedding compiled GPU functions in Haskell
abstract
We describe Nikola, a first-order language of array computations embedded in Haskell that compiles to GPUs via CUDA using a new set of type-directed techniques to support re-usable computations. Nikola automatically handles a range of low-level details for Haskell programmers, such as marshaling data to/from the GPU, size inference for buffers, memory management, and automatic loop parallelization. Additionally, Nikola supports both compile-time and run-time code generation, making it possible for programmers to choose when and where to specialize embedded programs.
Geoffrey Mainland, J. Gregory Morrisett
Haskell1
2008 LiveNet: Using Passive Monitoring to Reconstruct Sensor Network Dynamics
Bor-rong Chen, Geoffrey Peterson, Geoffrey Mainland, Matt Welsh
DCOSS3
2008 Flask: staged functional programming for sensor networks
Geoffrey Mainland, J. Gregory Morrisett, Matt Welsh
ICFP1
2007 Why it's nice to be quoted: quasiquoting for haskell
abstract
Quasiquoting allows programmers to use domain specific syntax to construct program fragments. By providing concrete syntax for complex data types, programs become easier to read, easier to write, and easier to reason about and maintain. Haskell is an excellent host language for embedded domain specific languages, and quasiquoting ideally complements the language features that make Haskell perform so well in this area. Unfortunately, until now no Haskell compiler has provided support for quasiquoting. We present an implementation in GHC and demonstrate that by leveraging existing compiler capabilities, building a full quasiquoter requires little more work than writing a parser. Furthermore, we provide a compile-time guarantee that all quasiquoted data is type-correct.
Geoffrey Mainland
Haskell1
2007 Sensor network programming with Flask
abstract
A great deal of recent work has investigated new programming abstractions and models for sensor networks. However, the complexity of such systems demands a great deal of effort to develop appropriate compilers and runtime platforms to achieve good performance. We will demonstrate Flask [5], a new programming platform for sensor networks that decouples the design of a high-level programming environment from the the low-level details of generating per-node code and an efficient runtime system.
Geoffrey Mainland, J. Gregory Morrisett, Matt Welsh, Ryan Newton
SenSys1
2005 Decentralized, Adaptive Resource Allocation for Sensor Networks
Geoffrey Mainland, David C. Parkes, Matt Welsh
NSDI1
2004 Programming Sensor Networks Using Abstract Regions
Matt Welsh, Geoffrey Mainland
NSDI2