Home / Papers / Building embedded systems with embedded DSLs

Building embedded systems with embedded DSLs

33 Citations2014
P. Hickey, Lee Pike, Trevor Elliott
ACM SIGPLAN Notices

This is the story of how EDSLs provided the productivity and safety gains to do large-scale low-level embedded programming and lessons learned in doing so.

Abstract

We report on our experiences in synthesizing a fully-featured autopilot from embedded domain-specific languages (EDSLs) hosted in Haskell. The autopilot is approximately 50k lines of C code generated from 10k lines of EDSL code and includes control laws, mode logic, encrypted communications system, and device drivers. The autopilot was built in less than two engineer years. This is the story of how EDSLs provided the productivity and safety gains to do large-scale low-level embedded programming and lessons we learned in doing so.