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



Главная

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

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

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

English
 Home

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


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

Яndex



   Главная / Курсовые проекты / Механизм обмена сообщениями для параллельно работающих автоматов (на примере системы управления турникетом) (версия для печати)


Механизм обмена сообщениями для параллельно работающих автоматов (на примере системы управления турникетом)



(C) 2003 г. Ю.А. Альшевский, М.Г. Раер, А.А. Шалыто

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

Отсюда можно скачать полный текст документации в формате pdf (720 Кб)
Отсюда можно скачать архив исполняемого модуля в формате zip (81 Кб)
Отсюда можно скачать архив исходных файлов в формате zip (53 Кб)

Аннотация

Для алгоритмизации задач логического управления была предложена SWITCH.технология. При решении этих задач автоматы, работающие параллельно, не рассматривались.

В настоящей работе предложено использовать параллельно работающие автоматы (параллельные автоматы), которые взаимодействуют между собой за счет обмена сообщениями. Это напоминает такую область параллельных вычислений, как распределенное программирование, в которой процессы также взаимодействуют посредством обмена сообщениями.

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

При проектировании систем параллельных автоматов возникают три задачи:

  • взаимодействие автоматов;
  • синхронизация автоматов;
  • протоколирование их работы.

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

Для демонстрации работы системы управления был создан визуализатор, имитирующий работу турникета.

Программный код написан на языке Visual C++ с использованием библиотеки классов Microsoft Foundation Classes и функционирует в одном потоке под управлением операционной системы Microsoft Windows.

С целью облегчения процесса отладки программы и детального ознакомления с механизмом взаимодействия параллельных автоматов выполняется протоколирование работы каждого автомата. Известен метод проектирования объектно-ориентированных систем – Рациональный Унифицированный Процесс (Rational Unified Process), разработанный фирмой Rational Software Corporation, который использует в качестве нотации язык UML [1]. Однако существуют и другие методы объектно-ориентированного проектирования, например, описанный в работе [2].

Подход, изложенный в настоящей работе, является еще одним методом проектирования подобных систем.

Данная работа выполнена в рамках движения за открытую проектную документацию (http://is.ifmo.ru). Открытыми являются также и исходные файлы.

Работа победила в общегородском межвузовском конкурсе курсовых и дипломных работ на премии “Компьютер-центра КЕЙ” (Санкт-Петербург) в номинации ”Компьютерные технологии в электронике и автоматике”.

Литература

  1. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002.
  2. Дейтел Х. М., Дейтел П. Дж. Как программировать на C++. М.: Бином, 2003.



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