(C) 2003 г. А.С.Наумов, А.А.Шалыто
Санкт-Петербургский государственный институт точной механики и оптики (технический университет)
Отсюда можно скачать полный текст документации в формате pdf (444 кб)
Здесь находится аплет
Исходные тексты и картинки (186 кб)
Целью работы является создание программы управления лифтом. Прототипом системы является реальный пример лифта, используемого в жилых трехэтажных домах. На панели вызова для всех этажей, кроме крайних, предусмотрены две кнопки ("Вверх" и "Вниз"). В кабине имеется кнопка "Стоп" - остановка на ближайшем этаже по ходу движения. Кроме того в лифте предусмотрен индикатор груза и автоматический таймер закрытия дверей в случае, если в кабине никого нет.
Для алгоритмизации и программирования задач логического управления А.А.Шалыто была предложена SWITCH-технология, которая применительно к событийным и объектно-ориентированным программам была развита им совместно с Н.И.Туккелем. Подробно ознакомиться с этой технологией и с конкретными примерами ее использования можно на сайтах http://is.ifmo.ru и http://www.softcraft.ru.
Эта технология удобна для задач управления техническими объектами, такими как, например, лифт, рассматриваемый в настоящей работе. Это связано с тем, что при использовании автоматного подхода, в частности, удается повысить централизацию логики управления в программном коде. Другое достоинство этого подхода состоит в том, что код является изоморфным графу переходов, по которому он строился. Это позволяет для понимания логики работы программ (их поведения) не обращаться к текстам программ, а рассматривать лишь графы переходов.
Для реализации выбран язык Java, в виду того, что приложение выполнено в виде аплета с целью удобного ознакомления с данным примером использования SWITCH-технологии.
В данной работе показано как легко можно отделить логику работы системы управления от конкретной реализации самой системы.