A виртуальный конечный автомат (VFSM ) есть конечный автомат (FSM), определенный в виртуальной среде. Концепция VFSM предоставляет метод спецификации программного обеспечения для описания поведения системы управления с использованием присвоенных имен свойств элемента управления вводом и действий вывода.
Метод VFSM представляет модель выполнения и упрощает представление о исполняемой спецификации. Эта технология в основном используется в сложных системах управления машинами, контрольно-измерительной аппаратуре и телекоммуникациях.
Основной проблемой при реализации конечного автомата является генерация логических условий (условия перехода между состояниями и условия действия). В аппаратной среде, где конечные автоматы нашли свое первоначальное применение, этой проблемы не существует: все сигналы являются логическими. Напротив, конечные автоматы, указанные и реализованные в программном обеспечении, требуют логических условий, которые сами по себе являются многозначными.
Примеры:. - Температура может быть как минимум Low, OK, High. - Команды могут иметь несколько значений: Init, Start, Stop, Break, Continue. - в (иерархической) система конечных автоматов конечные автоматы ведомых имеют много состояний, которые используются в условиях конечного автомата ведущего.. Кроме того, многие входные сигналы могут быть неизвестны из-за, например, обрыва кабеля, что означает, что даже цифровые входные сигналы ( рассматриваются как классические логические значения) фактически являются сигналами трех значений: Low, High, Unknown. В примере с температурой, вероятно, также потребуется значение Unknown.
Положительная логическая алгебра решает эту проблему, создавая виртуальную среду, которая позволяет определять конечные автоматы для программного обеспечения с использованием многозначных переменных.
Переменная в среде VFSM может иметь одно или несколько значений, относящихся к элементу управления - в этом случае это входная переменная. Эти значения являются управляющими свойствами этой переменной. Свойства управления не обязательно являются конкретными значениями данных, а скорее являются определенными состояниями переменной. Например, цифровая переменная может предоставлять три управляющих свойства: ИСТИНА, ЛОЖЬ и НЕИЗВЕСТНО в соответствии с ее возможными логическими значениями. Числовая (аналоговая) входная переменная имеет управляющие свойства, такие как: LOW, HIGH, OK, BAD, UNKNOWN, в соответствии с диапазоном требуемых значений. Таймер может иметь состояние OVER (истекло время ожидания) в качестве наиболее значимого контрольного значения; другие значения могут быть STOPPED, RUNNING и т. д.
Переменная в среде VFSM может быть активирована действиями - в этом случае это выходная переменная. Например, цифровой выход имеет два действия: Истина и Ложь. У числовой (аналоговой) выходной переменной есть действие: Установить. Таймер, который одновременно является входной и выходной переменной, может запускаться такими действиями, как: Start, Stop или Reset.
Виртуальная среда характеризует среду, в которой работает VFSM. Он определяется тремя наборами имен:
Имена входов создают виртуальные условия для выполнения переходов между состояниями или входных действий. Виртуальные условия строятся с использованием алгебры положительной логики . Имена выходов инициируют действия (действия входа, действия выхода, действия входа или действия перехода).
Рисунок 1: VFSM в виртуальной средеA виртуальный конечный автомат - это конечный автомат (FSM), определенный в виртуальной среде. Концепция VFSM предоставляет метод спецификации программного обеспечения для описания поведения системы управления с использованием присвоенных имен входных свойств управления и выходных действий .
. Метод VFSM представляет модель выполнения и упрощает реализацию идеи. спецификации исполняемого файла . Эта технология в основном используется в сложных системах управления машинами, контрольно-измерительной аппаратуре и телекоммуникациях.
Правила построения виртуального условия следующие:
Описывается состояние входа. по входным именам, которые создают набор.
Например:. - для входа A: Anames = {A1, A2, A3}. - для входа B: Bnames = {B1, B2}. - для входа C: Cnames = {C1, C2, C3, C4, C5}. и т. Д.
ВП виртуального ввода - это набор взаимоисключающих элементов имен входов. ВП всегда всегда содержит элемент.
Примеры:. VI = {всегда}. VI = {всегда, A1}. VI = {всегда, A1, B2, C4}
(И) - это набор имен входов.
Например,. A1 B3 C2 =>{A1, B3, C2}
|(OR) операция - это таблица наборов имен входов.
Например,. A1 | B3 | C2 =>
~(Дополнение) - это дополнение к набору имен входов.
Например,. ~ A2 = {A1, A3}
Логическое выражение представляет собой таблицу ИЛИ наборов И (соответствует дизъюнктивной форме логического выражения).
Например:. A1 B3 | A1, B2 и C4 | C2 =>. Логические выражения используются для выражения любой логической функции.
Логическое значение (истина, ложь) логического выражения вычисляется путем проверки того, является ли какой-либо из наборов И в таблице ИЛИ подмножеством VI.
Состояние выхода описывается именами выходов, которые создают набор.
Например:. для выхода Xnames = {X1, X2}. для выхода Ynames = {Y1, Y2, Y3}. VO виртуального выхода представляет собой набор взаимоисключающих элементов имен выходов.
Виртуальное имя и виртуальный вывод, заполненные именами состояний, создают виртуальную среду VE, в которой указано поведение.
Подмножество всех определенных имен входов, которые могут существовать только в определенной ситуации, называется виртуальным входом (VI). Например, температура может быть «слишком низкой», «хорошей» или «слишком высокой». Хотя определены три имени входа, в реальной ситуации может существовать только одно из них. Этот строит VI.
Подмножество всех определенных имен выходов, которые могут существовать только в определенной ситуации, называется виртуальным выходом (VO). VO создается текущим действием (ями) VFSM.
Спецификация поведения построена на основе таблицы состояний, которая описывает все детали всех состояний VFSM.
Исполнитель VFSM запускается VI и текущим состоянием VFSM. VO устанавливается с учетом спецификации поведения текущего состояния.
На рисунке 2 показана одна из возможных реализаций исполнителя VFSM. На основе этой реализации необходимо учитывать типичные характеристики поведения.
Таблица состояний определяет все детали поведения состояния VFSM. Он состоит из трех столбцов: в первом столбце используются имена состояний, во втором помещаются виртуальные условия, построенные из имен входов с использованием алгебры положительной логики, а в третьем столбце отображаются имена выходов:
Имя состояния | Условие (я) | Действия |
---|---|---|
Текущее состояние | Действие входа | Имя (я) выхода |
Действие выхода | Имя (я) выхода | |
Виртуальное условие | Имя (я) выхода | |
... | ... | |
Имя следующего состояния | Виртуальное условие | Имя (я) выхода |
Имя следующего состояния | Виртуальное условие | Имя (я) выхода |
... | ... | ... |
Прочтите таблицу следующим образом: первые две строки определяют действия входа и выхода текущего состояния. Следующие строки, которые не предоставляют следующее состояние, представляют действия ввода. Наконец, строки, обозначающие следующее состояние, представляют условия перехода между состояниями и действия перехода. Все поля необязательны. Чистый комбинаторный VFSM возможен только в том случае, если используются входные действия, но не определены переходы между состояниями. Действие перехода можно заменить правильным использованием других действий.