Building embedded systems with embedded DSLs

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.

Document Details

Document Type
Pub Defense Publication
Publication Date
Aug 19, 2014
Source ID
10.1145/2692915.2628146

Entities

People

  • James Bielman
  • John Launchbury
  • Lee Pike
  • Patrick C. Hickey
  • Trevor Elliott

Organizations

  • Defense Advanced Research Projects Agency

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Control Systems Engineering.
  • Database Systems and Applications