Stateflow® графики могут содержать последовательную логику принятия решений, основанную на машинах состояний. A finite state machine является представлением управляемой событиями (реактивной) системы. В управляемой событиями системе выполняется переход от одного состояния (режима) к другому, если условием, определяющим изменение, является true.
Например, можно использовать конечный автомат, чтобы представлять автоматическую коробку передач автомобиля. Коробка передач имеет следующие рабочие состояния: парковка, задний ход, нейтраль, привод и низкий. Когда драйвер переключается из одного положения в другое, система выполняет переход от одного состояния в другое, например, от парка к реверсу.
Традиционно конструкторы использовали таблицы истинности, чтобы представлять отношения между входами, выходами и состояниями конечного конечного автомата. Получившаяся таблица описывает логику, необходимую для управления поведением исследуемой системы. Другой подход к разработке событийно-управляемых систем состоит в том, чтобы смоделировать поведение системы путем описания ее с точки зрения переходов между состояниями. Вхождение событий при определенные обстоятельства определяет состояние, которое активно. Графики перехода между состояниями и пузырьковые графики являются графическими представлениями, основанными на этом подходе.
Диаграмма Stateflow может содержать последовательную и комбинаторную логику в виде диаграмм переходов состояний, графиков потока, таблиц переходов состояний и таблиц истинности. A диаграммы переходов состояний является графическим представлением конечного конечного автомата. States и transitions образуют основные базовые блоки последовательной логической системы. Другой способ представления последовательной логики - таблица переходов состояний, которая позволяет ввести логику состояний в табличной форме. Можно также представлять комбинаторную логику на графике с графиков потока и таблицами истинности.
Можно включать диаграммы Stateflow в качестве блоков в Simulink® модель. Набор этих блоков в модели Simulink является машиной Stateflow.
Диаграмма Stateflow позволяет представлять иерархию, параллелизм и историю. Можно организовать сложные системы путем определения родительской и потомственной структуры объекта. Для примера можно организовать состояния в других состояниях более высокого уровня. Система с параллелизмом может иметь два или более ортогональных состояний одновременно. Можно также задать состояние назначения перехода на основе исторической информации.
Обозначение задаёт набор объектов и правил, которые управляют отношениями между этими объектами. Обозначение на диаграмме Stateflow предоставляет способ передачи информации о проекте на диаграмме Stateflow.
Обозначение диаграммы Stateflow состоит из следующих элементов:
Набор графических объектов
Набор неграфических текстовых объектов
Заданные отношения между этими объектами
Семантика описывает, как интерпретировать обозначение на графике. Типичная диаграмма Stateflow содержит действия, связанные с переходами и состояниями. Семантика описывает последовательность этих действий во время выполнения графика.
[1] Harel, D «Statecharts: A Visual Formalism for Сложные Системы». Science of Computer Programming Vol. 8, 1987, pp. 231-274.
[2] Хатли, Д. Дж. и И. А. Пирбхай. Стратегии спецификации системы в реальном времени. Нью-Йорк, Нью-Йорк: Dorset House Publishing, 1988.
Chart | State Transition Table | Truth Table