Generative Programming 14 HW3

Материал из SEWiki
Перейти к: навигация, поиск

Аспект трассировки, срок сдачи до 02.12.2014

Придумать и реализовать аспект, управляющий трассировкой выполнения, для языка baseLanguage в MPS.

Домен языка должен иметь несколько измерений:

  • Тип трассировки:
    • вызов метода/конструктора
    • изменение поля/переменной
    • обращение к переменной
    • [возврат из метода]
    • ...
  • Формат лога
  • Выбор трассируемых значений (набор полей, методов)
  • Приветствуются любые другие полезные возможности

Указания о трассировке добавляются в модель одним или несколькими дополнительными рутами. Проект должен содержать язык и примеры его использования.

Оценки:
3 - реализованы и правильно работают хотя бы трассировка вызова метода и изменения поля. Можно задавать формат лога.
4 - реализованы основные типы трассировок, задание формата лога
5 - дополнительно к предыдущим пунктам продуман и реализован выбор трассируемых значений
реализация каких-либо дополнительных полезных возможностей может компенсировать недостатки в реализации обязательных.

Решение, в котором не используется pre/post-processing script (с использованием только reduction & weawing rules), получает +1 балл.
Одно первое решение получает +1 балл. Как обычно, нельзя получить больше 6 баллов.