Денис Гамаюнов / Элина Лобанова, 5 курс, sec-sem

На этом форуме публикуются и уточняются постановки задач студентам, а также отслеживается ход их выполнения

Модератор: staff

Закрыто
Бычков Иван
Аспирант
Сообщения: 179
Зарегистрирован: 23 сен 2008 01:19 pm

Денис Гамаюнов / Элина Лобанова, 5 курс, sec-sem

Сообщение Бычков Иван »

Тема: Среда поддержки разработки сценариев на языке описания поведения R-lang.

Расшифровка темы:

Продолжение и завершение работы с IDE для языка REDSecure/MРВС (рабочее название R-lang). В рамках дипломной работы планируется существующую программу рефакторить и превратить в модуль для Eclipse. Для Eclipse уже есть плагин для Шалытовского FSML (Executable UML) - UniMod. Мы посмотрим на этот юнимод более пристально на тему того, можно ли его дополнить связкой с нашей грамматикой и нашим же компилятором. Плюс к этому планируется учесть и реализовать фиксы для всех замечаний рецензентов прошлого года. Возможно, посмотрим также в сторону KDevelop, учитывая контекст ЛВК в этой области, а также вопрос интеграции с gdb.

Особенности задачи:
1. Язык уже описывает структуру графового типа, автомат. Одним из требований к IDE в такой ситуации является возможность двумерного отображения текста программы (графовое представление).
2. Очень большой практический интерес. Это означает, что одна из ключевых задач - создание контекстного хелпа по функциям стандартной библиотеки R-lang в духе MSDN, средствами Eclipse.
3. Возможность добавления анализа текста отдельного сценария и модуля сценариев с точки зрения оптимизации (работа Казачкина прошлого года) и распараллеливания.

Актуальность:
Развитие инструментария программиста для R-lang.

Цель работы
:

Создание IDE с возможностью визуального редактирования сценариев для языка R-lang.

План работы:

1-й семестр:

1. Анализ Eclipse, его системы плагинов, UniMod.
2. Анализ KDevelop в контексте задачи.
3. Рефакторинг и перенос кода в целевую IDE (модуль).
4. Автоматизация аннотирования кода на R-lang, создание системы контекстной подсказки.

2-й семестр:

1. Доработка ПО, документирование, аннотирование, оформление в виде пакета с инсталлятором.
1*. (опционально) Интеграция с отладчиком.
2. Написание текста дипломной работы.

Ожидаемые результаты
:

IDE для R-lang. Документация.
Лобанова Элина
Выпускник
Сообщения: 1
Зарегистрирован: 17 дек 2008 01:59 pm

Сообщение Лобанова Элина »

Отчёт по дипломной работе за 9-й семестр
Студентки 522 группы
Лобановой Элины
Научный руководитель
Гамаюнов Денис


Тема:

Среда поддержки разработки сценариев на языке описания поведения R-lang.

Постановка задачи.

Целью данной дипломной работы является создание редактора для внутреннего DSL (Domain Specific Language) языка R-lang[1], предназначенного для написания сценариев поведения сетевых объектов для системы обнаружения атак “REDSecure”. Эти сценарии представляют собой код на С-подобном языке, который в свою очередь описывает конечный автомат. Автомат состоит из состояний, переходов, предикатов и различных условий переходов.
Так как на данный момент существует большое количество, уже написанных сценариев, которые нужно редактировать и оптимизировать, а так же необходимость в написании новых сценариев атак, то необходимо было разработать полноценную визуальную IDE для языка R-lang.
На данный момент все существующие средства визуального программирования применяются на начальном этапе разработки программ. То есть вначале строиться визуальная модель, по ней генерируется код, а далее код уже редактируется вручную. Это происходит, потому что структура программы написанной на распространенных языках (Java, C++, C# и т.п.) сложно и практически невозможно представить в виде графа или какой-либо другой визуальной модели. А так как DSL язык рассматриваемый в данной дипломной работе непосредственно описывает конечный автомат, это делает возможным на любом этапе разработки редактировать код программы при помощи графа.

Цель работы: Создание IDE с возможностью визуального редактирования сценариев для языка R-lang.
Для достижения цели дипломной работы необходимо решить следующие задачи:

1. Выбор платформы для написания IDE для DSL языка R-lang.
2. Реализация на выбранной платформе редактора кода, синтаксического и лексического анализаторов
3. Реализация на выбранной платформе визуального редактора графа, внутреннего представления структуры графа
4. Автоматизация аннотирования кода на R-lang, создание системы контекстной подсказки.
5. Документирование, аннотирование, оформление в виде пакета с инсталлятором.

Сделано

1. Выбрана платформа для реализации IDE – платформа Eclipse
2. Изучен Eclipse, его система плагинов
3. Реализован редактор кода на выбранной платформе, начало разработки синтаксического и лексического анализаторов.
4. Реализовано внутренне представление графа и его редактор

Планы на следующий семестр

1. Доделать синтаксический и лексический анализаторы
2. Автоматизация аннотирования кода на R-lang, создание системы контекстной подсказки.
3. Документирование, аннотирование, оформление в виде пакета с инсталлятором.

Литература

1. Язык описания поведения сетевых объектов R-Lang , https://zigzag.cs.msu.ru:7813/secsem/wiki/RVSLang
2. Д. Ю. Гамаюнов, А.И. Качалин, “ Обнаружение атак на основе анализа переходов состояний распределённой системы”, 2004, http://sunsite.cs.msu.ru/~gamajun/state ... on-ids.pdf
3. Eclipse platform, http://www.ibm.com/developerworks/opens ... ry/os-ecov
4. Unimod, http://is.ifmo.ru/unimod/
5. Языковой инструментарий: новая жизнь языков предметной области, Мартин Фаулер, 2005, http://www.maxkir.com/sd/languageWorkbenches.html
6. DSM-подход, http://www.intuit.ru/department/se/vismodtp/10/2.html
7. Steven T. Eckmann, Giovanni Vigna, Richard A. Kemmerer, STATL: An Attack Language for State-based Intrusion Detection, http://www.cs.ucsb.edu/~vigna/publicati ... _statl.pdf
8. Microsoft Domain-Specific Language Tools, http://msdn.microsoft.com/en-us/library/bb126235.aspx
9. Д. Ю. Гамаюнов, Современные некоммерческие средства обнаружения атак, http://sunsite.cs.msu.ru/~gamajun/free-ids-survey.pdf
Последний раз редактировалось Лобанова Элина 23 дек 2008 11:54 am, всего редактировалось 1 раз.
Андрей Петухов
Сотрудник
Сообщения: 84
Зарегистрирован: 13 сен 2004 02:13 pm

Замечания рецензента Петухова А.А.

Сообщение Андрей Петухов »

Итак, мои замечания и просьбы по отчету.
1. Исправить грамматические ошибки. Столько ошибок налепить - просто позор.
2. В ПЗ заявлены , в том числе, следующие подзадачи:

* Анализ существующих визуальных редакторов для DSL языков.
* Анализ структуры целевого языка.
* Выбор платформы для написания IDE для DSL языка R-lang

Однако в результатах работы за семестр присутсвуют следующие пункты:

* Выбрана платформа для реализации IDE – платформа Eclipse
* Проведён Анализ Eclipse, его системы плагинов

Вопрос: значит ли это, что первые два пункта не были выполнены? Если не значит, то хотелось бы увидеть текст с анализом, который закрывает эти пункты.
Просьба: пришлите мне, пожалуйста, текст с анализом Eclipse и его системы плагинов

3. Вы говорите, что вам осталось доделать "только" лексический и синтаксический анализатор. По своему опыту, могу сказать, что это очень трудоемкие задачи, тем более, если у вас нет опыта решения задач такого рода. В связи с этим, могу констатировать, что намеченная работа выполнена не более, чем на 20%. У меня вызывают серьёзные опасения такие темпы работы: очень большая вероятность того, что работа не будет закончена вовремя даже на три балла.

Данный текст также отправлен по электронной почте.


Андрей
Закрыто