GenProg14
Преподаватели - Власьев Михаил Игоревич (mailto:michael.vlassiev@jetbrains.com),
Лекции
09.09.2014:
О чем курс
16.09.2014:
Введение в MPS, проект mps.demolazy
23.09.2014:
Domain engineering
30.09.2014:
Практическое занятие. Моделирование калькулятора: MPS проект
07.10.2014:
Продолжение моделирования калькулятора (проект), Domain implementation, generation.
14.10.2014:
Будет практическое занятие по написанию генератора.
Домашние задания
1. Моделирование домена таймеров/секундомеров, срок сдачи до 21.10
Предполагается генерировать секундомер или таймер по описанию.
Необходимо проанализировать домен задачи и смоделировать его. Вы выступаете и экспертом, и пользователем.
Структуру домена записать на MPS 3.1.
Ожидаемый результат: проект MPS с описанием домена таймеров/секундомеров (language) и редактором, sandbox с моделью, описывающей "стандартный" секундомер.
Баллы:
5 - Домен задачи проработан, редактор позволяет легко вводить описание секундомера или таймера, есть примеры разных описаний
4 - Домен задачи проработан, есть пример "стандартного" секундомера
3 - Домен задачи недостаточно проработан или описание домена запутано, но "стандартный" секундомер можно описывать (есть пример)
2 - Невозможно описать "стандартный" секундомер.
Два первых сданных задания получают +1 балл.
Проект со сделанным заданием присылать мне на michael.vlassiev@jetbrains.com. Задания, отправленные после 21.10.2014 00:00, получают на 1 балл меньше.
Зачет будет выставляться по результатам домашних заданий и одной контрольной работы (контрольная работа - с весом 2.0).
Список литературы
Generative Programming: Methods, Tools, and Applications
Krysztof Czarnecki, Ulrich Eisenecker
Addison-Wesley Professional; 1 edition (June 16, 2000)
Перевод: Чернецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение / Пер. с англ. СПб: Питер, 2005.
Domain-Specific Languages
Martin Fowler
Addison-Wesley; 2011
Полезные ссылки
JetBrains MPS: http://www.jetbrains.com/mps
Отчеты об ошибках MPS писать сюда: http://youtrack.jetbrains.com/issues/MPS