1 / 27

Исследовательский цен т р СПбГУ ИТМО «Технологии автоматного программирования»

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

rowdy
Download Presentation

Исследовательский цен т р СПбГУ ИТМО «Технологии автоматного программирования»

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Научный руководитель • Анатолий Шалыто • Доктор технических наук • Профессор • Заведующий кафедрой технологий программирования СПбГУ ИТМО • Предложил автоматное программирование в 1991 году • Опубликованы две книги в издательстве «Наука» • Работы по грантам РФФИ и министерства образованияРФ Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  3. О нас • Людские ресурсы • Кафедра компьютерных технологий СПбГУ ИТМО • Исследования проводятся с 2000года • Исследования поддержаны грантами РФФИ и министерства образования РФ • Сайт http://is.ifmo.ru Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  4. Обоснование • Автоматы применяются при проектировании аппаратуры • Применяются с 50-х годов • Развиты формальные теории • Применение автоматов в программировании • Разработка компиляторов • Описание протоколов взаимодействия • Statecharts • ??? Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  5. Направления работы • Программирование с явным выделением состояний • Автоматное и объектно-ориентированное (ОО) программирование • Визуализаторы алгоритмов • Инструменты автоматного проектирования • Клеточные автоматы • Прочие исследования Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  6. Программирование с явным выделением состояний • Разрабатывается • Анатолий Шалыто • Никита Туккель • Георгий Корнеев • Основные направления исследований • Автоматное проектирование событийных систем • Преобразование программ к автоматному виду • Автоматные аналоги «классических» алгоритмов Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  7. Программирование с явным выделением состоянийОсновные понятия • Состояние • Переходы • Входные воздействия • События • Входные переменные • Выходные воздействия • Система взаимосвязанных автоматов • Вложенные автоматы • Вызываемые автоматы Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  8. Программирование с явным выделением состоянийПреимущества • Унифицированный подход к проектированию систем со сложным поведением • Выявление логических ошибок на стадии проектирования • Проектирование, реализация и отладка в терминах автоматов • Удобство документирования Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  9. Программирование с явным выделением состоянийОбласти применения • Программируемые логические контроллеры • Встроенные системы • Структурное программирование • Объектно-ориентированное программирование • Разработка Web-приложений Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  10. Автоматное и ОО программирование • Разрабатывается • Никита Шамгунов • Георгий Корнеев • Данил Шопырин • Основные направления работы • Интеграция автоматов в объектно‑ориетированные программы • Автоматное представление объектов Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  11. Автоматное и ОО программированиеИнтеграция автоматов в ОО программы • “Оборачивание” автоматов объектами • Switch-based представление автоматов • Представление автоматов на основе виртуальных методов • Представление автоматов на основе виртуальных вложенных классов • Объектная декомпозиция автоматов • Декомпозиция на состояния • Декомпозиция на состояния и преходы • Событийные автоматы • Обобщенные переходы Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  12. Автоматное и ОО программированиеАвтоматное представление объектов • Анализ паттернов проектирования State и аналогов • Паттерн проектирования StateMachine • Язык программирования State Machine Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  13. Визуализаторы алгоритмов • Разрабатывается • Георгий Корнеев • Матвей Казаков • Направления работы • Разработка логики визуализаторов алгоритмов • Разработка методов построения визуализаторов алгоритмов • Средства построения визуализаторов Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  14. Визуализаторы алгоритмовМетоды построения визуализаторов алгоритмов • “На коленке” • Простые визуализаторы: 120+ часов • С применением библиотек • Простые визуализаторы: 80-120 часов • Сложные визуализаторы: 120-180 часов • Технология построения визуализаторов • Простые визуализаторы: 5-10 часов • Сложные визуализаторы: до 40 часов Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  15. Визуализаторы алгоритмовСредства построения визуализаторов алгоритмов • Библиотека BaseApplet • Единый интерфейс визуализаторов • Общие подходы к построению • Библиотека Vizi • Логика представлена системой взаимодействующих автоматов • Автоматическая генерация логики визуализатора по XML-описанию • Технология построения визуализаторов на базе Vizi • http://ctddev.ifmo.ru/vizi Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  16. Инструменты автоматного проектирования • Разрабатывается • Вадим Гуров • Максим Мазин • Данил Шопырин • Направления работы • Проект UniMod • Библиотека STOOL Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  17. Инструменты проектированияПроект UniMod (1) • Локальная и удаленная отладка диаграмм в терминах состояний • Проверка формальных свойств диаграмм • Интерпретируемый и компилируемый подходы • Запись автоматов в нотации UML-диаграмм классов и состояний • Встраиваемый редактор UML-диаграмм для платформы Eclipse • Запуск диаграмм в «одно нажатие» Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  18. Инструменты проектированияПроект UniMod(2) • Области применения • Клиент-серверные приложения для платформ J2ME и J2SE • Symbian С++ приложения • J2EE Web-приложения • Сайт проекта http://unimod.sf.net • Проект ведется СПбГУ ИТМО совместно с компанией eVelopers http://www.evelopers.com Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  19. Инструменты проектированияБиблиотека STOOL • Результаты • Контроль за состоянием системы • Автоматическое протоколирование • Обработка исключительных ситуаций • Многопоточность • Перспективы • Внедрение Virtual Methods for States • Внедрение Virtual Inner Classes for State Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  20. Клеточные автоматы • Разрабатывается • Лев Наумов • Направления работы • Теоретические исследования в области клеточных автоматов • Создание инструментов распределенного моделирования клеточных автоматов Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

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

  22. Клеточные автоматыИнструменты моделирования • Библиотека моделирования клеточных автоматов CAME&L • Моделирование на различных решетках • Изменяемые метрики пространства • Язык задания автоматов • Расширяемость (Plugins) • Распределенное моделирование • http://camel.ifmo.ru Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  23. Прочие исследования • Мультиметоды • Данил Шопырин • Автоматный подход к проектированию реактивных мультиагентных систем • Борис Ярцев Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  24. Прочие исследованияМультиметоды • Реализация мультиметодов на ANSI/ISO С++ • Константное время вызова мультиметода • Раздельная компиляция исходного кода • Строгаябезопасность типов • Не требуются • Динамическая память • RTTI • C-препроцессор Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

  25. Результаты опубликованы • Журналы • “Программирование” • “Автоматика и телемеханика” • “Известия РАН. Теория систем управления” • “Искусственный интеллект” • Конференции • Телеметика 2000-2004 • Linux Summit 2003 • KIMAS 2003 и 2005 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

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

  27. Спасибо за внимание Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования»

More Related