GenProg14 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Лекции)
м (Лекции)
Строка 18: Строка 18:
  
 
14.10.2014:
 
14.10.2014:
<b>Будет практическое занятие по написанию генератора.</b> <br/>
+
Практическое занятие по написанию генератора. <br/>
  
 
== Домашние задания ==
 
== Домашние задания ==

Версия 15:37, 14 октября 2014

Преподаватели - Власьев Михаил Игоревич (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