В программировании с явным выделением состояний, как и в традиционном процедурном подходе, может применяться проектирование сверху вниз, однако на верхних уровнях абстракции модулями здесь являются не подпрограммы, а автоматы. Обычно в программировании с явным выделением состояний автоматы реализуются как подпрограммы, однако на этапе проектирования смешивать эти понятия не следует.