(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). Открытыми являются также и исходные файлы.
Работа победила в общегородском межвузовском конкурсе курсовых и дипломных работ на премии “Компьютер-центра КЕЙ” (Санкт-Петербург) в номинации ”Компьютерные технологии в электронике и автоматике”.