Меня пригласили на трек Объединение моделирования и программирования на конференции ISoLA в этом году. Тема, очевидно, близка и дорога моему сердцу. Поэтому воспользовался возможностью написать исчерпывающий документ о том, как мы используем MPS для создания DSL, сочетающих лучшее из обоих миров, моделирования и программирования. Вот аннотация:

Моделирование в целом, конечно, отличается от программирования (подумайте: модели климата). Однако, когда мы рассматриваем роль моделей в контексте «управляемой моделями», т. Е. Когда они используются для автоматического создания программного обеспечения, становится гораздо менее очевидным, что моделирование отличается от программирования. В этой статье я утверждаю, что эти два понятия концептуально неразличимы, хотя на практике они традиционно подчеркивают разные аспекты (концептуально неразличимого) общего подхода. В статье обсуждается и иллюстрируется языково-ориентированное программирование, подход к {моделированию | программирование} мы успешно использовали в течение последних семи лет для создания ряда инновационных систем в таких областях, как страхование, здравоохранение, налогообложение, инженерия и бытовая электроника. Он полагается на предметно-ориентированные языки, модульное расширение языка, смешанные нотации и, в частности, на языковую рабочую среду Jetbrains MPS.

И снова я не смог написать короткую статью, это 30 страниц. Но он содержит множество примеров DSL, и я действительно думаю, что он хорошо отражает то, что мы делаем. "Получи это здесь".