MSM делится на front–ends и back-ends. На данный момент есть только один бэкэнд. На лицевой стороне вы найдете три из них, которые представляют собой как можно больше языков описания государственных машин. Для потенциальных языковых авторов этот документ содержит описание интерфейса между front-end и back-end.
Первый интерфейс представляет собой адаптацию примера, представленного в книге MPL, с действиями, определяемыми как указатели на методы состояния или машины состояния. Второй основан на функторах. EUML (embedded UML) — экспериментальный язык, основанный на Boost. Прото и буст. Типирование и скрытие большей части метапрограммирования для повышения читаемости. И eUML, и фронт-энд фанктора также предлагают функциональную библиотеку (немного похожую на Boost.Phoenix) для использования в качестве языка действий (UML не определяет ни одного).