Atom is a Haskell DSL for designing hard realtime embedded programs. Based on conditional term rewriting, atom will compile a collection of atomic state transition rules to a C program with constant memory use and deterministic execution time.