Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Автоматное программирование для среды языково-ориентированного программирования

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Актуальность проблемы. С момента рождения программирования одной из основных проблем является написания программных систем со сложным поведением. В последнее время для создания таких систем все, чаще используется автоматное программирование. Существует несколько подходов адаптации автоматного программирования к различным техникам и парадигмам программирования, среди которых доминирующей является… Читать ещё >

Содержание

  • Глава 1. Автоматная и языково-ориентированная парадигмы программирования
    • 1. 1. Парадигма автоматного программирования
    • 1. 2. Особенности поддержки автоматного программирования на различных программных платформах
    • 1. 3. Языково-ориентированное программирование
    • 1. 4. Задачи в области автоматного языково-ориентированного программирования, требующие своего решения
  • Выводы по главе
  • Глава 2. Текстовый язык автоматного программирования
    • 2. 1. Текстовые языки автоматного программирования
    • 2. 2. Создание языков в среде MPS
    • 2. 3. Язык stateMachine
    • 2. 4. Структура языка stateMachine
    • 2. 5. Конкретный синтаксис языка stateMachine
    • 2. 6. Система типов языка stateMachine
    • 2. 7. Генератор кода для языка stateMachine
    • 2. 8. Автоматическое построение диаграммы переходов
  • Выводы по главе
  • Глава 3. Валидация автоматных моделей
    • 3. 1. Формальная модель автомата
    • 3. 2. Полнота и непротиворечивость условий на переходах
    • 3. 3. Достижимость из начального состояния
    • 3. 4. Достижимость конечного состояния
    • 3. 5. Реализация в среде MPS
  • Выводы по главе
  • Глава 4. Инструментальные средства разработки при многопоточном автоматном программировании
    • 4. 1. Акторное расширение языка Java в среде MPS
    • 4. 2. Обработка сообщений с задержкой
    • 4. 3. Отложенный результат
    • 4. 4. Генерация кода для языка actors
    • 4. 5. Совместное использование языков stateMachine и actors
  • Выводы по главе
  • Глава 5. Применение текстового языка для автоматного программирования в проекте YouTrack
    • 5. 1. Автоматы с состояниями, хранимыми в базе данных
    • 5. 2. Реализация подсистемы в проекте YouTrack
    • 5. 3. Совместное использование языков stfiteMachine и DNQ
  • Выводы по главе

Автоматное программирование для среды языково-ориентированного программирования (реферат, курсовая, диплом, контрольная)

Актуальность проблемы. С момента рождения программирования одной из основных проблем является написания программных систем со сложным поведением. В последнее время для создания таких систем все, чаще используется автоматное программирование. Существует несколько подходов адаптации автоматного программирования к различным техникам и парадигмам программирования, среди которых доминирующей является объектно-ориентрованное программирование. Однако эта парадигма существует в практически неизменном видеуже более тридцати лет и требует дальнейшего' развития, что может быть выполнено на основе языково-ориентированного программирования. Это должно повысить уровень абстракции программного кода, упростить его реализацию и сопровождение. Поэтому адаптация автоматного программирования применительно к языково-ориентированнойшарадигме является актуальной.

Цель диссертационной работы — адаптация автоматного программирования для среды языково-ориентированного программирования.

Основные задачи исследования. Для достижения указанной цели диссертации решены следующие задачи, решения которых выносятся на защиту:

1. Разработка текстового языка автоматного программирования (абстрактный и конкретный синтаксисы, операционная семантика, системы типов, кодогенератор и т. д.).

2. Разработка средств валидации автоматов в средеязыково-ориентированного программирования.

3. Создание языка для многоцоточного автоматного программирования, основанного на акторах.

4. Внедрение результатов работы в практику программирования в среде языково-ориентированного программирования MPS (Metaprogramming System).

Научная новизна. Научная новизна предлагаемых подходов состоит в том, что автоматное программирование адаптировано для языко-ориентированного программирования в части обеспечения языковой поддержки, валидации и многопоточности.

Методы исследования. В работе использованы методы объектно-ориентированного проектирования, метапрограммирования, теории автоматов, теории формальных грамматик, теории графов, теории алгоритмов, исчисление секвенцийтеории акторных моделей.

Достоверность научных положений и практических рекомендаций, полученных в диссертации, подтверждается корректным обоснованием постановок задач, точной формулировкой критериев, компьютерным моделированием, а /также результатами внедрения предложенной технологии.

Практическое значение полученных результатов состоит в том, что-они успешно используются и будут использоваться в дальнейшемпри разработке промышленных и учебных программных проектов на основе автоматного подхода и языково-одиентированной парадигмы.

Внедрение результатов работы. Результаты диссертации использованы на практике в компании JetBrains (Санкт-Петербург) при разработке коммерческой системы учета ошибок YouTrack, сданной в эксплуатацию. Кррме того, автор был одним из разработчиков инструментального средства с открытым кодом для поддержки* автоматного программирования UniMod. Это средство опубликовано на сайте sonrceforge.net и скалано более 60 тысяч раз.

Полученные результаты используются также в учебном*- процессе на кафедре «Компьютерные технологии» СПбГУ ИТМО при выполнении курсовых и бакалаврских работ по курсу «Теория автоматов в программировании».

Апробациядиссертации. Основные положения диссертационной работы докладывались на конференциях и семинарах: II конференции молодых ученых СШГУ ИТМО (2005 г.) — XXXV, XXXVI научных учебно-методических конференциях СПбГУ ИТМО «Достижения ученых, аспирантов и студентов СПбГУ ИТМО в науке и образовании» (2006, >

2007 гг.) — «Телематикаг2003», «Телематика-2004», «Телематика-2005», «Телематика-2006», «Телематика-2007» (СПбРУ ИТМО) — на семинаре «Автоматное программирование» в рамках международной конференции «International Computer Symposium in Russia (CSR-2006)» (ПОМИ им. В. А. Стеклова, 2006 г.) — Второй Всероссийской научной конференции «Методы и средства обработки информации» (МГУ, 2005 г.) — Четвертой Всероссийской межвузовской конференция молодых ученых (СПбГУ ИТМО,' 2009 г.) — международной конференции- «Software Engineering Conference (Russia)» (M., 2005/г.) — форуме по открытому программному коду «Open Source Forum» (М., 2005 г.) — второй международной научной конференции «Компьютерные наукии информационные технологии» (Саратов, 2007 г.) — международной конференции «110 Anniversary of Radio Invention» (СПбГЭТУ «ЛЭТИ», 2005 г.).

Публикации. По теме диссертации опубликовано 31 научных работ, из которых 24 печатные. Результаты диссертации опубликованы в следующих журналах из списка ВАК: «Программирование», «Информационно-управляющие системы», «Научно-технический вестник СПбГУ ИТМО» и «Компьютерные инструменты в образовании».

Свидетельства об официальной регистрации программ для ЭВМ. На инструментальное средство для поддержки автоматного программирования, разработанное в рамках диссертации, получены следующие свидетельства: «Ядро автоматного программирования»

2006 613 249 от 14.09.2006, «Встраиваемый модуль автоматного программирования для среды разработкиEclipse» № 2006 613 817 от 7.11.2006.

Участие в научно-исследовательских работах. Основные результаты по теме диссертации получены в ходе научно-исследовательских и опытно-конструкторской работ, проводимых на кафедре «Компьютерных технологий» СПбГУ ИТМО в:

• 2002, 2003 гг. по теме «Разработка технологии автоматного программирования» (грант Российского фонда фундаментальных исследований по’проекту 02−0,7−90 114);

• 2002 — 2004 гг. по теме «Разработка технологии создания программного обеспечения систем управления на основе автоматного подхода» (Министерство-образования и науки РФ);

• 2005, 2006 гг. -по теме «Автоматное программирование» (Федеральная целевая научно-техническая программа «Исследования и разработки по приоритетным-направлепиям науки и техники» на 2002 — 2006 гг.);

• 2008*г. по теме «Разработка основных положений создания программных систем управления со сложным поведением* на» основе объектно-ориентированного и автоматного, подходов" (Министерство образования и науки РФ);

• 2009 г. по теме «Методы повышения качества при разработке автоматных программ с использованием функциональных и объектно-ориентированных языков программирования» (Федеральная целевая программа «Научные и научно-педагощческие кадры инновационной России» на 2009 — 2013 гг.).

Структура диссертации. Диссертация изложена на 136″ страницах и состоит из введения, пяти глав-и заключения.

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

содержит 119 наименований. Работа иллюстрирована65 рисунками.

4. Результаты работы внедрены при создании в среде языково-ориентированного программирования MPS коммерческой системы учета программных дефектов YouTrack в компании JetBrains (Санкт-Петербург).

Все полученные результаты обладают новизной, так среда языково-ориентированного программирования MPS построена на новых принципах создания языков программирования и является первой в мире промышленной системой этого класса.

ЗАКЛЮЧЕНИЕ

В диссертационной работе решены следующие задачи:

1. В среде языково-ориентированного программирования разработан текстовый язык и инструментальное средство для автоматного программирования. Для автоматов, написанных на этом языке, при необходимости обеспечивается автоматическое построение диаграммы состояний, а не наоборот, что важно для профессиональных программистов, привыкших к текстовому представлению программ.

2. Разработаны средства валидации автоматов для среды языково-ориентированного программирования.

3. Разработан акторный язык и инструментальное средство для многопоточного программирования, и выполнена их интеграция с языком и инструментальным средством для автоматного программирования. Таким образом, обеспечена поддержка многопоточного автоматного программирования.

Показать весь текст
Заполнить форму текущей работой