Введение

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

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

Переменная состояния в среде VFSM может иметь одно или несколько значений, имеющих значение для управления – в этом случае она является входной переменной. Эти значения представляют собой управляющие свойства этой переменной. Управляющие свойства не обязательно являются конкретными значениями данных, а скорее определенными состояниями переменной. Например, цифровая переменная может предоставлять три управляющих свойства: ИСТИНА, ЛОЖЬ и НЕИЗВЕСТНО в соответствии с ее возможными логическими значениями. Числовая (аналоговая) входная переменная имеет управляющие свойства, такие как: НИЗКИЙ, ВЫСОКИЙ, НОРМАЛЬНЫЙ, НЕИСПРАВНЫЙ, НЕИЗВЕСТНЫЙ в соответствии с диапазоном допустимых значений. Для таймера наиболее значимым управляющим свойством может быть его состояние ИСТЕК (произошел тайм-аут); другие состояния могут быть ОСТАНОВЛЕН или РАБОТАЕТ.

Действия

Другие переменные состояния в среде VFSM могут быть активированы действиями — в этом случае это выходная переменная. Например, цифровой выход имеет два действия: True и False. Числовая (аналоговая) выходная переменная имеет действие: Set. Таймер, который является одновременно входной и выходной переменной, может запускаться действиями, такими как: Старт, Стоп или Сброс.

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

Логическое значение (true, false) логического выражения вычисляется путем проверки, является ли какое-либо из множеств, образованных операцией AND, подмножеством VI в таблице OR.

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

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

Модель исполнения VFSM

Подмножество всех определенных имен входных данных, которые могут существовать только в определенной ситуации, называется виртуальным входом или VI. Например, температура может быть "слишком низкой", "нормальной" или "слишком высокой". Хотя определено три имени входных данных, в реальной ситуации может существовать только одно из них. Это и формирует VI. Подмножество всех определенных имен выходных данных, которые могут существовать только в определенной ситуации, называется виртуальным выходом или VO. Он формируется текущими действиями VFSM. Спецификация поведения строится на основе таблицы состояний, которая описывает все детали всех состояний VFSM. Исполнитель VFSM запускается VI и текущим состоянием VFSM. С учетом спецификации поведения текущего состояния устанавливается VO. На рисунке 2 показана одна из возможных реализаций исполнителя VFSM. При рассмотрении этой реализации необходимо учитывать типичные характеристики поведения.

Таблица штатов

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

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

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