Теория автоматов, получившая распространение в программировании как switch-технология позволяет достаточно быстро и без ошибок спроектировать поведение системы. Такой подход применяется в разработке больших систем со сложным поведением в различных ситуациях. Поэтому изучение и применение switch-технологии актуально.
Основная задача в работе смоделировать имитирующее устройство для управления пульта от музыкального центра.
Автоматное программирование было предложено А.А.Шалыто [1] в 1991 г. Современные положения методологии представлены в [2]. Проблемами применения switch-технологии занимались российские и зарубежные ученые. В.А.Татарчевский исследовал switch-технология в задачах логического управления [3]. Д.А.Милехин, Ю.С.Смагин, А.А.Гоман, О.Ю.Шатковский описали унификацию алгоритмов функций логики микропроцессорных систем централизации с использованием switch-технологии [4]. Применение switch-технологии для разработки логической модели управления процессом загрузки шпона рассмотрел Б.М.Шифрин [5]. Р.И.Баженов, М.А.Афанасьева. Л.С.Гринкруг показали применение автоматной технологии в программировании мастеров и интеллектуальной обработки данных [6-10]. Применение теории конечных автоматов при моделировании сложных систем с использованием программы Stateflnhtk рассмотрел М.Д.Казаненко [11]. Автоматное программирование с использованием динамических языков программирования исследовал О.Г.Степанов [12].
Опишем состояния, входные и выходные сигналы.
![]() |
Состояние
|
A1
|
Выключено |
A2
|
Включено |
А3
|
Играет музыка |
А4
|
Пауза |
![]() |
Входные сигналы
|
Z1
|
Вкл/выкл |
Z2
|
Следующий трек |
Z2
|
Следующий трек |
Z3
|
Предыдущий трек |
Z4
|
Громкость + |
Z5
|
Громкость - |
Z6
|
Цифровая кнопка |
Z7
|
Пауза |
Z8
|
Передача трека |
![]() |
Выходные сигналы
|
W1
|
Включить |
W2
|
Выключить |
W3
|
Переключить трек |
W4
|
Изменить громкость |
W5
|
Перейти на трек |
W6
|
Остановить трек |
W7
|
Продолжить трек |
Представим работу цифрового автомата графом состояний (рис.1).
Выполним структурный синтез автомата, заданного своими таблицами переходов и выходов.
![]() |
a1
|
a2
|
a3
|
a4
|
![]() |
![]() |
![]() |
a1
|
a2
|
a3
|
a4
|
![]() |
Z1
|
A2
|
A1
|
A1
|
-
|
![]() |
![]() |
Z1
|
w1
|
w2
|
w2
|
-
|
![]() |
Z2
|
-
|
A2
|
-
|
-
|
![]() |
![]() |
Z2
|
-
|
w3
|
-
|
-
|
![]() |
Z3
|
-
|
A2
|
-
|
-
|
![]() |
![]() |
Z3
|
-
|
w3
|
-
|
-
|
![]() |
Z4
|
-
|
A2
|
-
|
-
|
![]() |
![]() |
Z4
|
-
|
w4
|
-
|
-
|
![]() |
Z5
|
-
|
A2
|
-
|
-
|
![]() |
![]() |
Z5
|
-
|
w4
|
-
|
-
|
![]() |
Z6
|
-
|
A3
|
A3
|
-
|
![]() |
![]() |
Z6
|
-
|
w5
|
w5
|
-
|
![]() |
Z7
|
-
|
A4
|
-
|
-
|
![]() |
![]() |
Z7
|
-
|
w6
|
-
|
-
|
![]() |
Z8
|
-
|
-
|
A2
|
A2
|
![]() |
![]() |
Z8
|
-
|
-
|
w3
|
w7
|
![]() |
Произведя необходимые расчеты [6] получаем набор булевых функций для структурной схемы автомата:
Y1 =
Y2 =
Y3 =
D1 =
D2 =
В соответствии со структурной схемой (рис.2) разрабатываем компьютерную модель (рис. 3) в программной системе Electronics WorkBench [13].

Рисунок 3 – Модель функциональной схемы автомата
На основе проведенного исследования, была разработана компьютерная модель пульта от музыкального центра на основе swicth-технологии (рис. 4).
Рисунок 4 – Модель цифрового автомата
В ходе написания программы была использована процедура avtomat, которая позволяет эффективно реализовать множественный выбор на основе оператора case [6].
В ходе исследования мы разработали компьютерные модели цифрового автомата по управлению пультом от музыкального центра. Результаты работы могут быть использованы при обучении студентов теории автоматов и switch-технологии.
Библиографический список
- Шалыто А. А. Программная реализация управляющих автоматов // Судостроительная промышленность. Серия «Автоматика и телемеханика». 1991. Вып.13. С.41 -42. URL: http://is.ifmo.ru/works/switch_prr/
- Поликарпова Н. И., Шалыто А. А. Автоматное программирование. СПб.: Питер, 2009. 176 с.
- Татарчевский В. А. Switch-технология в задачах логического управления // Программные продукты и системы. 2006. № 4. С. 13.
- Милехин Д. А., Смагин Ю. С., Гоман А. А., Шатковский О. Ю. Унификация алгоритмов функций логики микропроцессорных систем централизации с использованием switch-технологии // Проектирование и технология электронных средств. 2007. № 4. С. 59-63.
- Шифрин Б. М. Применение switch-технологии для разработки логической модели управления процессом загрузки шпона // Известия Санкт-Петербургской лесотехнической академии. 2009. № 186. С. 151-155.
- Баженов Р. И. Методические рекомендации для выполнения курсовой работы по дисциплине «Теория автоматов». Биробиджан: Изд-во ДВГСГА, 2008. 20 с.
- Баженов Р. И. Интеллектуальные информационные технологии. Биробиджан: ПГУ им. Шолом-Алейхема, 2011. 176 с.
- Баженов Р. И., Афанасьева М. А. Разработка программной модели контроля дверей холодильника на основе теории автоматов // Журнал научных публикаций аспирантов и докторантов. 2014. №4(94). С. 306-308.
- Баженов Р. И., Гринкруг Л. С. Информационная система Абитуриент-Деканат ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2013. № 2. С. 97-99.
- Баженов Р. И., Гринкруг Л. С. Информационная система по расчету и распределению нагрузки профессорско-преподавательского состава ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2012. №5. С. 75-78.
- Казаненко М. Д. Применение теории конечных автоматов при моделировании сложных систем с использованием программы Stateflow // Научный вестник Московского государственного горного университета. 2012. № 12. С. 37-42.
- Степанов О. Г. Автоматное программирование с использованием динамических языков программирования // Научно-технический вестник информационных технологий, механики и оптики. 2006. № 25. С. 37-43.
- Кардашев Г. А. Цифровая электроника на персональном компьютере. Electronics Workbench и Micro-Cap. М.: Горячая Линия-Телеком, 2003. 311 с.