Без заголовка
Мы бы сказали так (только сегодня это обсуждали с vvagr очно полчаса): отражение DSL в терминах иерархии классов, типов сообщений, схем БД (замечу, что это все набор айтишных понятий, "общепрограммистской фени") как раз и есть программистская работа. Берем какие-то объекты из реальной жизни ("валентность", "пузырчатость", "проектирование" и т.д.) и превращаем в программистско-онтологические абстракции ("класс", "схема БД", "пакеты"). Далее эксперт работает уже с "валентностями" и "пузырчатостями" своего DSL, хотя вполне возможно что и приправляя высказывания в этом языке общепрограммистскими какими-то связками в виде условных выражений, иерархии типов для "пузырчатости" и т.д.
Программист пишет компиляторы/IDE для языков моделирования. Эксперт в голове компилирует мир в язык моделирования. Каждый на своем кусочке преобразования мира в компьютерную исполнимую программу.
Кстати, мы вот задумались, что нам не хватает в команду такого fulltime программиста-для-модельера (ибо мы сами, конечно, модельеры -- а разговор про средства программирования поддерживаем в силу необходимости, а не потому что сами умеем это все программировать).