Обзор машин Мили и Мура

В конечном автомате состояние является комбинацией локальных данных и активности на графике. «Вычислительное состояние» означает обновление локальных данных и переход от текущего активного состояния к новому состоянию. В моделях конечного автомата следующее состояние является функцией текущего состояния и его входов:

X(n+1)=f(X(n),u)

В этом уравнении:

  • X(n) представляет состояние во временной шаг n.

  • X(n+1) представляет состояние на следующем временном шаге n+1.

  • u представляет входы.

Состояние сохраняется от одного временного шага до следующего временного шага.

Семантика машин Мили и Мура

Машины Мили и Мура часто считаются базовыми, промышленно стандартными парадигмами для моделирования конечных машин. Можно создать графики, которые реализуют чистую семантику Мили или Мура как подмножество Stateflow® семантика графика. Можно использовать графики Мили и Мура в симуляции и генерации кода с Embedded Coder®, Simulink® Coder™ и программное обеспечение HDL- Coder™. Семантика Мили и Мура поддерживается только в диаграммах Stateflow в моделях Simulink.

Семантика диаграмм Мили

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

y=g(X,u)

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

Чтобы гарантировать, что вывод является функцией входа и состояния, Мили машин состояний применить эту семантику:

  • Выходы не зависят от следующего состояния.

  • График вычисляет выходы только в переходах, а не в состояниях.

  • График периодически просыпается на основе системных часов.

Машины Мили вычисляют их выход на переходах. Поэтому диаграммы Мили могут вычислить свой первый выход в то время, когда выполняется путь по умолчанию для графика. Если вы включите Execute (enter) Chart At Initialization свойств графика Мили, этот расчет происходит при t = 0 (первый временной шаг). В противном случае это происходит при t = 1 (следующий временной шаг). Для получения дополнительной информации смотрите Выполнение (ввод) графика при инициализации.

Семантика графиков Мура

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

y=g(X)

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

Чтобы убедиться, что вывод является функцией только текущего состояния, машины состояний Мура применяют эту семантику:

  • Выходы не зависят от входов.

  • Выходы не зависят от предыдущих выходов.

  • Выходы не зависят от временной логики.

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

Создайте графики Мили и Мура

Когда вы создаете диаграмму Stateflow, типом по умолчанию является гибридная модель конечного автомата, называемый Классический график. Классические графики сочетают семантику графиков Мили и Мура с расширенной семантикой диаграммы Stateflow.

Чтобы создать диаграмму Мили, в MATLAB® в командной строке введите:

sfnew -Mealy

Чтобы создать график Мура, в командной строке MATLAB введите:

sfnew -Moore

Кроме того, после добавления блока диаграммы Stateflow к модели Simulink можно выбрать тип семантики для графика, установив свойство < reservedrangesplaceholder0 > графика. Для получения дополнительной информации см. раздел Тип конечного компьютера.

Преимущества графиков Мили и Мура

Графики Мили и Мура предлагают эти преимущества по сравнению с диаграммами Classic Stateflow:

  • Можно проверить, что созданные вами графики Мили и Мура соответствуют их формальным определениям и семантическим правилам. Сообщения об ошибке появляются во время компиляции (не во время проекта).

  • Графики Мура обеспечивают более эффективную реализацию, чем диаграммы Classic для C/C + + и HDL-целей.

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

См. также

Похожие темы