Wed Mar 27 10:41:33 EDT 2019

Higher level abstractions

Instead of trying to battle the bottom layers through local reasoning,
use a higher level abstraction.  Looking into statecharts and decision
tables (via Hillel Wayne).


- Take these abstractions and compile them down to a flat state machine

- Keep states abstract to allow different encodings.  Aim to
  synthesize such that tools can recognize the state machines and
  recode them.