Quals research talk: Warble: An embedded Domain Specific Language for Timed, Cyber-Physical Systems
Abstract
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.