Мучнистый и машины Мура часто рассматриваются основными парадигмами промышленного стандарта для моделирования конечных автоматов. Можно создать графики, которые реализуют чистый Мучнистый или семантика Мура как подмножество семантики графика Stateflow®. Мучнистый и семантика Мура поддерживаются только в диаграммах Stateflow в моделях Simulink®. Для получения дополнительной информации см. Обзор Машин Мура и Мучнистых.
Лучшая практика не состоит в том, чтобы измениться от одного типа диаграммы Stateflow до другого посреди разработки. Вы не можете автоматически преобразовать семантику исходного графика, чтобы соответствовать правилам проектирования нового типа диаграммы. Изменение типа диаграммы обычно требует, чтобы вы перепроектировали свой график, чтобы достигнуть эквивалентного поведения исходного графика, так, чтобы оба графика произвели ту же последовательность выходных параметров, учитывая ту же последовательность входных параметров. Иногда, однако, нет никакого способа перевести определенные поведения, не нарушая определения графика.
Эта таблица приводит сводные данные того, что происходит, когда вы изменяете типы диаграммы середина проекта.
От | К | Результат |
---|---|---|
Мучнистый | Классика | Мучнистые графики сохраняют свою семантику, когда изменено на Классический тип. |
Классика | Мучнистый | Если Классический график задает свой вывод на каждом временном шаге и соответствует Мучнистым семантическим правилам, Мучнистый график показывает поведение, эквивалентное исходному Классическому графику. |
Мур | Классика | Акты государственной власти в графике Мура ведут себя как entry и действия during , потому что они не маркированы. Классический график показывает поведение, которое не эквивалентно исходному графику Мура. Требует модернизации. |
Классика | Мур | Действия, которые не маркированы в Классическом графике (entry и действия during по умолчанию) ведут себя как действия exit и during . График Мура показывает поведение, которое не эквивалентно исходному Классическому графику. Требует модернизации. |
Мучнистый | Мур | Мучнистый и правила Мура о размещении действий являются взаимоисключающими. Преобразование типов диаграммы между Мучнистым и семантикой Мура не производит эквивалентное поведение. Требует модернизации. |
Мур | Мучнистый |
Этот пример показывает, как использовать Мучнистый график, чтобы смоделировать торговый автомат, как описано в Модели Торговый автомат при помощи Мучнистой Семантики.
В Мучнистом графике каждое состояние представляет одни из трех возможных входных параметров монеты: никель, десять центов или никакая монета. Каждое действие условия вычисляет вывод (выпущена ли содовая) на основе входа (полученная монета) как переходы графика к следующему состоянию. Если вы изменяете тип диаграммы на Moore
, вы получаете сообщение диагностики времени компиляции, указывающее, что график нарушает семантику графика Мура. Согласно семантике Мура, график вывод soda
не может зависеть от значения входа coin
.
Чтобы преобразовать график в допустимую семантику Мура, перепроектируйте свой график путем перемещения логики, которая вычисляет вывод из переходов и в состояния. В графике Мура каждое состояние должно представлять обе полученные монеты и условие релиза содовой (soda = 0
или soda = 1
). В результате перепроектированный график требует большего количества состояний.
Прежде, чем рассмотреть значение coin
, график Мура должен вычислить значение soda
согласно активному состоянию. В результате существует задержка выпуска содовой, даже если машина получает достаточно денег, чтобы покрыть расходы.
Эта таблица сравнивает семантику графиков до и после преобразования.
Мучнистый торговый автомат | Торговый автомат Мура |
---|---|
Использование три состояния | Использование пять состояний |
Вычисляет выходные параметры в действиях условия | Вычисляет выходные параметры в актах государственной власти |
Обновления выводятся на основе входа | Обновления вывод прежде, чем оценить вход, требуя, чтобы шаг дополнительного времени произвел содовую |
Для этого торгового автомата, Мучнистого, лучшая парадигма моделирования, потому что нет никакой задержки выпуска содовой, если достаточные монеты получены. В отличие от этого, торговый автомат Мура требует шага дополнительного времени прежде, чем произвести содовую. Поэтому для торгового автомата Мура возможно произвести банку содовой, одновременно продвигаются, что это принимает монету к следующей покупке. В этой ситуации поставка содовой, может казаться, в ответ на эту монету, но на самом деле происходит, потому что торговый автомат получил покупную цену в предыдущих временных шагах.
Этот пример показывает, как использовать график Мура, чтобы смоделировать светофор, как описано в Модели Светофор при помощи Семантики Мура.
В графике Мура каждое состояние представляет цвета светофора в двух противоположных направлениях и длительности текущего цвета. Каждый акт государственной власти вычисляет вывод (цвета светофора) независимо от входа (если существуют автомобили, ожидающие в датчике). Если вы изменяете тип диаграммы на Mealy
, вы получаете сообщение диагностики времени компиляции, указывающее, что график нарушает Мучнистую семантику графика. Согласно Мучнистой семантике, график не может вычислить свои выходные параметры в актах государственной власти.
Чтобы преобразовать график в допустимую Мучнистую семантику, перепроектируйте свой график путем перемещения логики, которая вычисляет вывод из состояний и в переходы. Перепроектированный Мучнистый график состоит из пяти состояний, точно так же, как график Мура. В большинстве переходов, временном логическом выражении или булевом входе sens
охраняет действие условия, вычисляя выходные параметры y1
и y2
. Единственные исключения:
Переход по умолчанию, который вычисляет начальные выходные параметры без условия защиты.
Переход от Stop
утверждает к состоянию StopForTraffic
, которое не вычисляет новые выходные параметры.
В том же временном шаге Мучнистый график выполняет временные логические выражения и входной сигнал sens
, и вычисляет значение выходных параметров y1
и y2
. В результате в Мучнистом графике, вывод изменяет один временной шаг, прежде чем соответствующее изменение произойдет в исходном графике Мура. В модели Simulink можно компенсировать ожидаемые изменения в выводе путем добавления блока Delay в каждый выходной сигнал.
Эта таблица сравнивает семантику графиков до и после преобразования.
Контроллер светофора Мура | Мучнистый контроллер светофора |
---|---|
Использование пять состояний | Использование пять состояний |
Вычисляет выходные параметры в актах государственной власти | Вычисляет выходные параметры в действиях условия |
Обновления вывод прежде, чем оценить вход | Обновления вывод на основе входа, требуя блока Delay в каждом выходном сигнале |