Тема: Среда поддержки разработки сценариев на языке описания поведения 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. Документация.
Денис Гамаюнов / Элина Лобанова, 5 курс, sec-sem
Модератор: Сотрудники лаборатории
-
- Аспирант
- Сообщения: 179
- Зарегистрирован: 23 сен 2008 01:19 pm
-
- Выпускник
- Сообщения: 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
Студентки 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%. У меня вызывают серьёзные опасения такие темпы работы: очень большая вероятность того, что работа не будет закончена вовремя даже на три балла.
Данный текст также отправлен по электронной почте.
Андрей
1. Исправить грамматические ошибки. Столько ошибок налепить - просто позор.
2. В ПЗ заявлены , в том числе, следующие подзадачи:
* Анализ существующих визуальных редакторов для DSL языков.
* Анализ структуры целевого языка.
* Выбор платформы для написания IDE для DSL языка R-lang
Однако в результатах работы за семестр присутсвуют следующие пункты:
* Выбрана платформа для реализации IDE – платформа Eclipse
* Проведён Анализ Eclipse, его системы плагинов
Вопрос: значит ли это, что первые два пункта не были выполнены? Если не значит, то хотелось бы увидеть текст с анализом, который закрывает эти пункты.
Просьба: пришлите мне, пожалуйста, текст с анализом Eclipse и его системы плагинов
3. Вы говорите, что вам осталось доделать "только" лексический и синтаксический анализатор. По своему опыту, могу сказать, что это очень трудоемкие задачи, тем более, если у вас нет опыта решения задач такого рода. В связи с этим, могу констатировать, что намеченная работа выполнена не более, чем на 20%. У меня вызывают серьёзные опасения такие темпы работы: очень большая вероятность того, что работа не будет закончена вовремя даже на три балла.
Данный текст также отправлен по электронной почте.
Андрей