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



Главная

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

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

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

English
 Home

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


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

Яndex



   Главная / Курсовые проекты / Объектно-ориентированный подход к автоматному программированию (версия для печати)


Объектно-ориентированный подход к автоматному программированию



(С) 2003 г. Д.Г. Шопырин, А. А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Отсюда можно скачать zip-архив полного текста документации в формате pdf (327 кб)
Отсюда можно скачать библиотеку STOOL

Аннотация

В последнее время в программировании все шире применяются конечные автоматы.

Один из подходов к совместному использованию объектной и автоматной парадигм программирования был назван «объектно-ориентированное программирование с явным выделением состояний» или «SWITCH-технология». Несмотря на свои достоинства, он обладает рядом недостатков:

  • не выделено состояние системы в целом;
  • в функции, реализующей автомат, применяются два оператора switch, так как нет механизма различения действий и деятельностей в состояниях. Этот подход снижает «читабельность» кода и увеличивает вероятность ошибки;
  • отсутствует механизм обеспечения повторного использования реализованных автоматов;
  • функции протоколирования вводятся в текст программы вручную, что не является «автоматическим» построением протокола;
  • не предложен механизм обработки ошибок, возникающих при работе системы;
  • отсутствует механизм организации параллельных вычислений.

В данной работе предлагается подход к реализации программных систем рассматриваемого класса, устраняющий указанные выше недостатки. В качестве базы для разработки «автоматной» части программ с явным выделением состояний (автоматы, входные и выходные воздействия, инфраструктура) предлагается библиотека STOOL (SWITCH-Technology Object Oriented Library). Эта библиотека реализована на языке C++. Остальная часть программы (контекст) разрабатывается традиционным образом без использования этой библиотеки.

Состав библиотеки и другая информация о ней приведены в директории $stool$\doc\ru.


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