Quals research talk: Warble: An embedded Domain Specific Language for Timed, Cyber-Physical Systems

October 23, 2017
Halligan 102
Speaker: Matthew Ahrens
Host: Kathleen Fisher


Developers labor over the rates of hardware in their Cyber Physical Systems. Developers observe how the hardware actuators act at runtime to determine how to adjust timing properties of hardware sensor polling and data transformation. For example, typical micro-controller CPS programs insert delay statements into imperative code, but these delay statements impact the timing behavior of subsequent statements and may introduce bugs.

Warble, an embedded domain specific language (eDSL) for describing CPS programs, eliminates the labor over hardware rates with its three components. Expressions represent timed hardware calls and dataflow computation. The type system enforces regular hardware call rates and prevents dropped or redundantly transformed data without annotations in the expression language. A runtime system can be composed with Warble to execute an imperative, compiled representation; a runtime system for Haskell will be demoed and one for C will be discussed. To illustrate these three components of Warble, a running example will show the design and implementation of a smart umbrella.