Виртуальный конечный автомат - Википедия - Virtual finite-state machine

А виртуальный конечный автомат (VFSM) это конечный автомат (FSM), определенный в Виртуальная среда. Концепция VFSM предоставляет метод спецификации программного обеспечения для описания поведения системы управления с использованием присвоенных имен свойств элемента управления вводом и действий вывода.

Метод VFSM представляет модель выполнения и упрощает представление о исполняемой спецификации. Эта технология в основном используется в сложных системах управления машинами, контрольно-измерительной аппаратуре и телекоммуникациях.

Почему

Основная проблема при реализации конечного автомата - это создание логических условий (условия перехода между состояниями и условия действия). В аппаратной среде, где конечные автоматы нашли свое первоначальное применение, этой проблемы не существует: все сигналы являются логическими. Напротив, конечные автоматы, указанные и реализованные в программном обеспечении, требуют логических условий, которые сами по себе являются многозначными.

Примеры:
- Температура может быть как минимум Низкая, ОК, Высокая
- Команды могут иметь несколько значений: Init, Start, Stop, Break, Continue.
- В (иерархической) системе конечных автоматов конечные автоматы ведомых устройств имеют много состояний, которые используются в условиях конечного автомата ведущего.
Кроме того, многие входные сигналы могут быть неизвестны, например, из-за обрыва кабеля, что означает, что даже цифровые входные сигналы (рассматриваемые как классические логические значения) на самом деле представляют собой сигналы трех значений: низкий, высокий, неизвестный. В примере с температурой, вероятно, также потребуется значение Unknown.

Положительная логическая алгебра решает эту проблему, создавая виртуальную среду, которая позволяет определять конечные автоматы для программного обеспечения с использованием многозначных переменных.

Свойства управления

Переменная в среде VFSM может иметь одно или несколько значений, относящихся к элементу управления - в таком случае это входная переменная. Эти значения являются управляющими свойствами этой переменной. Свойства управления не обязательно являются конкретными значениями данных, а скорее являются определенными состояниями переменной. Например, цифровая переменная может предоставлять три управляющих свойства: ИСТИНА, ЛОЖЬ и НЕИЗВЕСТНО в соответствии с ее возможными логическими значениями. Числовая (аналоговая) входная переменная имеет управляющие свойства, такие как: LOW, HIGH, OK, BAD, UNKNOWN в соответствии с диапазоном требуемых значений. Таймер может иметь состояние OVER (истекло время ожидания) в качестве наиболее значимого контрольного значения; другие значения могут быть ОСТАНОВЛЕН, РАБОТАЕТ и т. д.

Действия

Переменная в среде VFSM может быть активирована действиями - в этом случае это выходная переменная. Например, цифровой выход имеет два действия: True и False. У числовой (аналоговой) выходной переменной есть действие: Установить. Таймер, который одновременно является входной и выходной переменной, может запускаться такими действиями, как: Start, Stop или Reset.

Виртуальная среда

Виртуальная среда характеризует среду, в которой работает VFSM. Он определяется тремя наборами имен:

  • имена входов представляют управляющие свойства всех доступных переменных
  • имена выходов представляют доступные действия с переменными
  • названия штатов, как определено для каждого из состояний конечного автомата.

Имена входов создают виртуальные условия для выполнения переходов между состояниями или входных действий. Виртуальные условия строятся с использованием алгебра позитивной логики. Имена выходов инициируют действия (действия входа, действия выхода, действия входа или действия перехода).

Рисунок 1: VFSM в виртуальной среде

А виртуальный конечный автомат это конечный автомат (FSM), определенный в виртуальная среда. Концепция VFSM предоставляет метод спецификации программного обеспечения для описания поведения системы управления с использованием присвоенных имен входов. свойства управления и вывода действия.

Метод VFSM представляет модель выполнения и облегчает идею исполняемая спецификация. Эта технология в основном используется в сложных системах управления машинами, контрольно-измерительной аппаратуре и телекоммуникациях.

Положительная логическая алгебра

Правила построения виртуального состояния следующие:

Имена входов и виртуальный вход

Состояние входа описывается именами входа, которые создают набор.

Например:
- для входа A: Anames = {A1, A2, A3}
- для входа B: Bnames = {B1, Би 2}
- для входа C: Cnames = {C1, C2, C3, C4, C5}
и Т. Д.

Virtual Input VI - это набор взаимоисключающих элементов имен входов. ВП всегда всегда содержит элемент.

Примеры:
VI = {всегда}
VI = {всегда, A1}
VI = {всегда, A1, Би 2, C4}

Логические операции с входными именами

& Операция (И) - это набор имен входов.

Например
A1 & B3 & C2= > {A1, B3, C2}

| Операция (ИЛИ) представляет собой таблицу наборов имен входов.

Например
A1 | B3 | C2 =>

~ (Дополнение) - это дополнение к набору имен входов.

Например
~A2 = {A1, A3}

Логическое выражение

Логическое выражение - это таблица ИЛИ множеств И (соответствует дизъюнктивной форме логического выражения).

Например:
A1 & B3 | A1 & Би 2 & C4 | C2 =>
Логические выражения используются для выражения любой логической функции.

Оценка логического выражения

Логическое значение (истина, ложь) логического выражения вычисляется путем проверки того, является ли какой-либо из наборов И в таблице ИЛИ подмножеством ВП.

Имена выходов и виртуальный выход

Состояние выхода описывается именами выходов, которые создают набор.

Например:
для вывода Xnames = {X1, X2}
для вывода Ynames = {Y1, Y2, Y3}
Виртуальный выход VO - это набор взаимоисключающих элементов имен выходов.

Виртуальная среда

Виртуальное имя и виртуальный выход, заполненные именами состояний, создают виртуальную среду VE, в которой указано поведение.

Модель выполнения VFSM

Рисунок 2: Блок-схема VFSM Executor

Подмножество всех определенных имен входов, которые могут существовать только в определенной ситуации, называется виртуальным входом (VI). Например, температура может быть «слишком низкой», «хорошей» или «слишком высокой». Хотя определены три имени входа, в реальной ситуации может существовать только одно из них. Этот строит VI.

Подмножество всех определенных имен выходов, которые могут существовать только в определенной ситуации, называется виртуальным выходом (VO). VO создается текущим действием (ями) VFSM.

Спецификация поведения построена на основе таблицы состояний, которая описывает все детали всех состояний VFSM.

Исполнитель VFSM запускается VI и текущим состоянием VFSM. VO устанавливается с учетом спецификации поведения текущего состояния.

На рисунке 2 показана одна из возможных реализаций исполнителя VFSM. На основе этой реализации необходимо учитывать типичные характеристики поведения.

Таблица состояний

Главная страница: таблица переходов состояний.

А таблица состояний определяет все детали поведения состояния VFSM. Он состоит из трех столбцов: в первом столбце используются имена состояний, во втором помещаются виртуальные условия, построенные из имен входов с использованием алгебры положительной логики, а в третьем столбце появляются имена выходов:

Название штатаУсловия)Действия (я)
Текущее состояниеВступительное действиеИмя (а) вывода
Выход из действияИмя (а) вывода
Виртуальное состояниеИмя (а) вывода
......
Название следующего штатаВиртуальное состояниеИмя (а) вывода
Название следующего штатаВиртуальное состояниеИмя (а) вывода
.........

Прочтите таблицу следующим образом: первые две строки определяют действия входа и выхода текущего состояния. Следующие строки, которые не предоставляют следующее состояние, представляют действия ввода. Наконец, строки, обозначающие следующее состояние, представляют условия перехода между состояниями и действия перехода. Все поля необязательны. Чистый комбинаторный VFSM возможен только в том случае, если используются входные действия, но не определены переходы между состояниями. Действие перехода можно заменить правильным использованием других действий.

Инструменты

Рекомендации

  • Вагнер, Ф., "Программное обеспечение для моделирования с помощью конечных автоматов: практический подход", Роза Фишер-Лёв Верлаг, 1994, ISBN  3-929465-04-3
  • Вагнер, Ф., «Виртуальные конечные машины: спецификация исполняемого потока управления», Публикации Ауэрбаха, 2006 г., ISBN  0-8493-8086-3
  • Спецификация исполняемого файла VFSM, CompEuro 1992 Труды
  • Непонимание государственной машины, Журнал IEE "Вычислительная техника и управление", 1997 г.
  • Современный инструмент для разработки программного обеспечения в реальном времени: уроки Льва, Журнал IEE "Вычислительная техника и управление", 2003 г.
  • Моделирование и создание надежного, многоразового программного обеспечения., Разработка компьютерного программного обеспечения 2003 (ECBS'03) Труды
  • Устранение разрыва между программным моделированием и кодом, Разработка компьютерного программного обеспечения 2004 (ECBS'04) Труды
  • [1], Вагнер, Т., "VFSMML - стандарт XML для VFSM", 2004 г.
  • [2], «Парадигма проектирования и реализации виртуального конечного автомата», Bell Labs Technical Journal / Volume 2, Issue 1, 2002