Generative programming 2013 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 13: Строка 13:
 
18.09.2013:
 
18.09.2013:
 
[[Медиа: Lect_3.pdf‎ | Domain engineering]] <br/>
 
[[Медиа: Lect_3.pdf‎ | Domain engineering]] <br/>
 +
 +
25.09.2013: <i><b>будет практическое занятие, просьба прийти с компьютерами </b></i> <br/>
  
 
== Домашние задания ==
 
== Домашние задания ==
  
 
<b>1. [[Generative Programming Homework 1|Парсер упрощенного XML]]</b>, срок сдачи до 15.09 <br>
 
<b>1. [[Generative Programming Homework 1|Парсер упрощенного XML]]</b>, срок сдачи до 15.09 <br>
<b>2. Модель домена калькуляторов </b>, срок сдачи до 24.09 <br>
+
<b>2. [[Generative Programming Homework 2|Модель домена калькуляторов]] </b>, срок сдачи до 24.09 <br>
 +
Предполагается генерировать калькулятор по описанию.
 +
Необходимо проанализировать домен калькуляторов (Вы выступаете экспертом и пользователем) и смоделировать его.
 +
Структуру домена записать на MPS 3.0. <br/>
 +
 
 +
Калькулятор должен уметь выполнять арифметические операции (+-*/) с числами. Должна быть предусмотрена возможность добавления как минимум унарных и бинарных операций. UI фичи - на усмотрение пользователя. <br/>
 +
Модель должна уметь описывать стандартный (минимальный) калькулятор Windows (или любой другой ОС). <br/>
 +
 
 +
Для описания пользовательских операций можно использовать FunctionType и/или ClosureLiteral из языка jetbrains.mps.baseLanguage.closures
 +
 
 
<br><br>
 
<br><br>
 
'''Приблизительная разбалловка'''
 
'''Приблизительная разбалловка'''

Версия 19:50, 18 сентября 2013

Преподаватели - Власьев Михаил Игоревич (mailto:michael.vlassiev@jetbrains.com),
Мухин Михаил Александрович (mailto:Mihail.Muhin@jetbrains.com)

Лекции

04.09.2013: О чем курс, Textmapper, Textmapper example

11.09.2013: Введение в MPS

18.09.2013: Domain engineering

25.09.2013: будет практическое занятие, просьба прийти с компьютерами

Домашние задания

1. Парсер упрощенного XML, срок сдачи до 15.09
2. Модель домена калькуляторов , срок сдачи до 24.09
Предполагается генерировать калькулятор по описанию. Необходимо проанализировать домен калькуляторов (Вы выступаете экспертом и пользователем) и смоделировать его. Структуру домена записать на MPS 3.0.

Калькулятор должен уметь выполнять арифметические операции (+-*/) с числами. Должна быть предусмотрена возможность добавления как минимум унарных и бинарных операций. UI фичи - на усмотрение пользователя.
Модель должна уметь описывать стандартный (минимальный) калькулятор Windows (или любой другой ОС).

Для описания пользовательских операций можно использовать FunctionType и/или ClosureLiteral из языка jetbrains.mps.baseLanguage.closures



Приблизительная разбалловка
5 - задание сделано и полностью работает
4 - небольшие недочеты, в целом все работает
3 - не работает в некоторых случаях
1 - задание не сдано

Список литературы

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