Вы находитесь на странице: 1из 2

View metadata, citation and similar papers at core.ac.

uk brought to you by CORE


provided by eaKirNTU (Electronic archive Kirovograd National Technical University)

The 3d International Conference «Advanced Information Systems and Technologies, AIST 2014»
14-16 May 2014, Sumy, Ukraine

Конечные автоматы в разработке программных


систем
Смирнова Н.В, Смирнов В.В, Кировоградский национальный технический университет,
swckntu@rambler.ru

The problem to eliminate ambiguities in the finite гии. В области создания управляющих
state machine when creating control software systems программных систем получили системы на
solution. Created a block diagram of a finite automaton
model with the time to wait for the results of functions
базе конечного автомата Мура [2], работа
and their implementation, counting the events number которого описывается выражением:
and states stack.
a(t 1) f [a(t ), x(t )], (1)
ВВЕДЕНИЕ y (t ) f (a(t )),
В настоящее время расширяется область
применения SWITCH-технологии [1] в где: a(t+1) – состояние автомата в момент
разработке программного обеспечения времени t+1, a(t) – состояние автомата в
систем управления различными объектами. момент времени t, х(t) – входное воздействие
В основе SWITCH-технологии лежит теория (событие) на автомат в момент времени t,
конечных автоматов (Finite State Machine). y(t) – управляющее воздействие (action)
Системы на основе конечных автоматов соответствующее выходной функции
обладают детерминированным поведением, автомата в состоянии a в момент времени t.
однозначными результатами тестирования, На рис.1 представлена программная
простой диагностикой, документированием модель автомата Мура, в которую входят
и сопровождением на протяжении всего следующие переменные: x – для фиксации
жизненного цикла системы. Для входного воздействия Х, а – для фиксации
использования SWITCH-технологии в текущего состояния автомата А, y - для
разработке программного обеспечения указателя на функцию f управляющего
необходимо устранить ряд ограничений, воздействия Y, вызываемую в текущем
сдерживающих ее широкое применение. состоянии а автомата:
СОЗДАНИЕ МОДЕЛИ АВТОМАТА
Современные языки программирования
являются объектно-ориентированными и
реализуют событийную модель для создания
программного обеспечения, которая хорошо
согласуется с основными положениями Рисунок 1 – Программная модель автомата Мура
SWITCH-технологии.
Тем не менее, ни один язык Анализ модели показывает, что
программирования общего применения не программная система, имеющая в своей
содержит в себе никаких специальных основе данную модель, является нежизне-
средств для поддержки SWITCH-техноло- способной, поскольку не учитывает целый
гии. ряд факторов, присущих реальным объектам
Поэтому создание автоматных шаблонов управления и требований, предъявляемых к
проектирования позволит в полной мере управляющим программам. Например,
реализовать преимущества данной техноло- ожидание завершения выполнения функции

106
The 3d International Conference «Advanced Information Systems and Technologies, AIST 2014»
14-16 May 2014, Sumy, Ukraine
f(a) приводит к «зависанию» программы и Для корректного поведения модели
неспособности системы реагировать на автомата, в нее введен счетчик циклов С.
входные воздействия. Решение проблемы Таким образом, учитывая все дополнения,
потери управляемости системы во время выражение (1) примет вид:
ожидания завершения функции f(a) может
иметь два варианта решения: a(t 1) f [a(t ), x(t ), To( f (a)), R( f (a)), S (a(i )), C ( x( j )] (2)
1. Выход из состояния ожидания по y (t ) f (a(t )).
истечению интервала тайм-аута.
2. Запуск функции f(a) в параллельном С учетом полученного выражения (2)
потоке [3] с использованием тайм-аута. модель конечного автомата для создания
Необходимым условием правильной шаблона базового класса будет иметь
работы автомата и является оценка следующую структуру (рис. 3):
результата выполнения функции f(a), то
есть, функция по своему завершению
должна возбуждать внешнее событие R,
включающее в себя результат завершения.
Следующей проблемой является
неоднозначность при возврате автомата из
состояния a(t) в состояние a(t-1, t-2 .. t-n) при
одинаковых событиях Х0 (рис.2).
Рисунок 3 – Структура модели конечного автомата
для реализации базового класса

Полученная структура модели конечного


автомата легко реализуема в терминах
языков программирования С++, Java и
других языков программирования.
ВЫВОДЫ
Реализация базового класса конечного
автомата на основе созданной модели и
Рисунок 2 – Неоднозначность при возврате автомата
результаты работы тестовой программы
в предыдущее состояние позволяет сделать выводы о
жизнеспособности и достаточной
Решением задачи устранения этой эффективности управляющих программ на
неоднозначности является введение в базе SWITCH-технологии.
модель автомата стека состояний S.
Еще одна неоднозначность возникает в ЛИТЕРАТУРА
состоянии а3 при поступлении события Х0, 1. Шалыто А. А. Switch-технология. Алгоритмиза-
ция и программирование задач логического
когда необходимо осуществить переход управления / А. А. Шалыто/ - СПб.: Наука, 1998.
автомата в процессе выполнении цикла – 628 c.
(рис. 2). Если цикл не завершен, то должен 2. Шалыто А. А. Автоматное программирование /
произойти переход автомата из состояния а3 А. А. Шалыто, Н. И. Поликарпова. - СПб.: Питер,
в состояние а0, в противном случае – 2011. - 176 с.
3. Татарчевский В. Применение Switch-технологии
переход в состояние а5 для завершения при разработке прикладного программного
работы. обеспечения для микроконтроллеров / В.
Татарчевский. - Компоненты и технологии №11,
№12 - 2006, №1, №2- 2007.

107

Вам также может понравиться