УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Биоинформатика
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / О нас / Парадигма автоматного программирования - программирование с явным выделением состояний (версия для печати)


Парадигма автоматного программирования - программирование с явным выделением состояний



Санкт-Петербургский Государственный Институт
Точной Механики и Оптики (Технический Университет)
Кафедра "Компьютерные Технологии"

Парадигма автоматного программирования - программирование с явным выделением состояний


Сотрудниками кафедры "Компьютерные технологии" СПбГИТМО (ТУ) предложена новая парадигма программирования, базирующаяся на применении конечных автоматов.

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

Предлагаемая технология значительно расширяет традиционное представление об автоматах [по Хопкрофту (Hopkroft) и Ульману (Ullman)], как о моделях для обработки цепочек символов. Ограниченность такого взгляда привела к тому, что автоматы в программировании в основном использовались при построении трансляторов и в алгоритмах обработки текстов (например, при поиске подстрок).

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

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

Материалы, посвященные предлагаемой технологии, расположены на сайте http://is.ifmo.ru. Эти материалы включают в себя статьи разработчиков технологии, примеры проектной документации и отзывы тех, кто применял предлагаемую технологию.

В данный момент на сайте в качестве примеров выложена документация для следующих программных проектов:

  • система управления судовыми дизель-генераторами (язык Си, ОС QNX);
  • модель цеха холодного проката (среда быстрой разработки "Flora");
  • система управления танками для игры Robocode (язык Java).

Последний из перечисленных проектов был отмечен в журнале "Магия ПК", 2002, №11, как наиболее интересный из всех танков, созданных для игры Robocode, которая в настоящее время овладевает умами все большего числа программистов.

В ближайшее время на сайте будет выложена документация по проектам, разрабатываемым в настоящий момент, к которым относятся в частности:

  • фрагмент интерактивного задачника по физике (язык ActionScript в Macromedia Flash);
  • игры "AUTOMATIC Bomber" и "Lines" (язык С++, ОС Windows);
  • алгоритмы искусственного интеллекта в играх с трехмерной графикой (язык С++);
  • клеточные автоматы (язык C++);
  • модели лифтов, кофеварок, турникетов и много другого (на языках C++ и Java).

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

В 2003 году будет издана книга "Теория автоматов в программировании", в которой предлагаемая парадигма будет описана подробно.


© 2002—2024 По техническим вопросам сайта: alexvatyan@gmail.com