В статье дается описание разработки компьютерной модели на основе теории автоматов, этапов решения поставленной задачи и пути ее реализации в программной среде BorlandDelphi. В компьютерной программной модели применяется switch-технология.
Ключевые слова:теория автоматов, цифровой автомат, модель, монитор.
Большинство устройств обработки цифровой информации можно представить в виде автомата. Примерами автоматов могут служить компьютеры, аксиоматические теории, математические абстрактные машины (машины Поста, Тьюринга, Маркова) и т. п. Современные компьютеры, созданные для различных областей применения, во многом отличаются друг от друга. Однако все они построены на основе принципа программного управления. Поэтому проектирование и разработка устройств на основе автоматной теории актуально.
Разработкой и применением теории автоматов занимались различные ученые. В программировании она получила свое распространение как swith-технология [10]. А. А. Астафуров определил декларативный подход к вложению и наследованию автоматных классов [1]. Р. И. Баженов, М. А. Афанасьева, Л. С. Гринкруг применяли теорию автоматов к программированию мастеров в информационных системах, методов интеллектуального анализа, компьютерному моделированию [2, 3, 4, 5, 6]. Описание применения switch-технологии при разработке прикладного программного обеспечения для микроконтроллеров avr представили Н. А. Зубков, В. М. Иськив, В. В. Чугунов [7]. Д. А. Милехин, Ю. С. Смагин, А. А. Гоман, О. Ю. Шатковский провели унификацию алгоритмов функций логики микропроцессорных систем централизации с использованием switch-технологии [9]. Автоматное программирование с использованием динамических языков программирования рассмотрел О. Г. Степанов [11]. В.Татарчевский показал применение switch-технологии при разработке прикладного программного обеспечения для микроконтроллеров [12].
Задачей исследования являлось компьютерное моделирование цифрового автомата для управления настройками монитора.
Произведем разработку модели цифрового автомата. Граф автомата представлен на рис.1. Кодировка обозначений заданы в соответствующих таблицах (табл.1, табл.2, табл.3).
Рис. 1. Граф автомата
Таблица 1
Внутренние состояния
Состояние |
Состояние |
а1 — выключен а2 — включен а3 — показывает меню а4 — показывает настройку яркости а5 — показывает настройку контрастности а6 — показывает настройку насыщенности |
а7 — увеличивает настройку яркости а8 — уменьшает настройку яркости а9 — увеличивает настройку контрастности а10 — уменьшает настройку контрастности а11 — увеличивает настройку насыщенности а12 — уменьшает настройку насыщенности |
Таблица 2
Входные сигналы
Сигналы |
Сигналы |
z1 — нажатие кнопки «Питание» z2 — нажатие кнопки «Меню» z3 — нажатие кнопки «Вверх» z4 — нажатие кнопки «Вниз» |
z5 — нажатие кнопки «Вправо» z6 — отжатие кнопки «Вправо» z7 — нажатие кнопки «Влево» z8 — отжатие кнопки «Влево» |
Таблица 3
Выходные сигналы
Сигналы |
Сигналы |
w1 — включить w2 — выключить w3 — показать меню w4 — скрыть меню w5 — показать настройку яркости w6 — показать настройку контрастности w7 — показать настройку насыщенности |
w8 — увеличить яркость w9 — уменьшить яркость w10 — увеличить контрастность w11 — уменьшить контрастность w12 — увеличить насыщенность w13 — уменьшить насыщенность |
Далее определяются таблицы переходов и выходов (рис.2).
Таблица переходов |
Таблица выходов |
||||||||||||
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
||
z1 |
a2 |
a1 |
a1 |
a1 |
a1 |
a1 |
z1 |
w1 |
w7 |
w7 |
w7 |
w7 |
w7 |
z2 |
- |
a3 |
a2 |
a2 |
a2 |
a2 |
z2 |
- |
w2 |
w6 |
w6 |
w6 |
w6 |
z3 |
- |
- |
a4 |
a3 |
a4 |
a4 |
z3 |
- |
- |
w3 |
w2 |
w3 |
w3 |
z4 |
- |
- |
a5 |
a5 |
a3 |
a5 |
z4 |
- |
- |
w4 |
w4 |
w2 |
w4 |
z5 |
- |
- |
a6 |
a6 |
a6 |
a3 |
z5 |
- |
- |
w5 |
w5 |
w5 |
w2 |
Рис. 2. Таблицы переходов и выходов
В результате произведенных вычислений по методике описанной в [3, 8] строим функциональную схему автомата. На основе полученных логических функций
получаем функциональную схему автомата (рис. 3). Дополнительно на функциональной схеме показан сигнал , устанавливающий автомат в начальное состояние (в данном случае 000).
Рис. 3. Функциональная схема автомата
В среде Delphi на основе switch-технологии была разработана компьютерная модель, реализующей автомат управления монитором (рис. 4, рис. 5.).
Рис. 4. Формы программы, реализующей цифровой автомат
Представим часть текста процедуры, реализующей цифровой автомат:
procedure TForm1.Automat(state: integer);
begin
case state of
1 : //выключен
begin
Panel1.Color := clGray;
Label1.Visible := False;
Label2.Visible := False;
Label3.Visible := False;
Label4.Visible := False;
ProgressBar1.Visible := False;
ProgressBar2.Visible := False;
ProgressBar3.Visible := False;
end;
2 : //включен
begin
Panel1.Color := clWhite;
…
end;
Покажем часть программного кода, иллюстрирующего работу процедуры.
procedure TForm1.Button3Click(Sender: TObject);
//===========кнопка "Up"=============
begin
case state of
3 : state := 4;
4 : state := 6;
5 : state := 4;
6 : state := 5;
end;
automat(state);
end;
В результате исследования были разработаны компьютерные модели автомата по управлению монитором в средах Electronics WorkBench и Delphi. Полученные результаты могут быть использованы для обучения прикладной теории автоматов и switch-технологии.
Литература:
1. Астафуров А. А. Декларативный подход к вложению и наследованию автоматных классов // Научно-технический вестник информационных технологий, механики и оптики. 2006. № 25. С. 28–36.
2. Баженов Р. И. Интеллектуальные информационные технологии. Биробиджан: ПГУ им. Шолом-Алейхема, 2011. 176 с.
3. Баженов Р. И. Методические рекомендации для выполнения курсовой работы по дисциплине «Теория автоматов». Биробиджан: Изд-во ДВГСГА, 2008. 20 с.
4. Баженов Р. И., Афанасьева М. А. Разработка программной модели контроля дверей холодильника на основе теории автоматов // Журнал научных публикаций аспирантов и докторантов. 2014. № 4(94). С. 306–308.
5. Баженов Р. И., Гринкруг Л. С. Информационная система Абитуриент-Деканат ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2013. № 2. С. 97–99.
6. Баженов Р. И., Гринкруг Л. С. Информационная система по расчету и распределению нагрузки профессорско-преподавательского состава ФГБОУ ВПО «Приамурский государственный университет им. Шолом-Алейхема» // Информатизация и связь. 2012. № 5. С. 75–78.
7. Зубков Н. А., Иськив В. М., Чугунов В. В. Применение switch-технологии при разработке прикладного програмного обеспечения для микроконтроллеров avr // Сборник научных трудов Sworld. 2010. Т. 7. № 4. С. 39–40.
8. Кардашев Г. А. Цифровая электроника на персональном компьютере. Electronics Workbench и Micro-Cap. М.: Горячая Линия-Телеком, 2003. 311 с.
9. Милехин Д. А., Смагин Ю. С., Гоман А. А., Шатковский О. Ю. Унификация алгоритмов функций логики микропроцессорных систем централизации с использованием switch-технологии // Проектирование и технология электронных средств. 2007. № 4. С. 59–63.
10. Поликарпова Н. И., Шалыто А. А. Автоматное программирование. СПб.: Питер, 2009. 176 с.
11. Степанов О. Г. Автоматное программирование с использованием динамических языков программирования // Научно-технический вестник информационных технологий, механики и оптики. 2006. № 25. С. 37–43.
12. Татарчевский В. Применение switch-технологии при разработке прикладного программного обеспечения для микроконтроллеров. Часть 1 // Компоненты и технологии. 2006. № 64. С. 164–167.