StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

Cистема численно-математического моделирования MatLab

Stateflow - Simulink

Использование временной (темпоральной) логики

Логические операторы временной (темпоральной) логики или временные логические операторы - двоичные операторы, операндами которых являются количества Stateflow-событий.

Следующие общие правила применяются к использованию любых временных логических операторов.

Событие, с которым оператор работает, называется базовым событием. Любое Stateflow-событие может служить базовым событием для оператора. Временные логические операторы могут также работать с неявными событиями, такими как вход в состояние, выход из него, изменение данных. В диаграмме без поступающих из Simulink-событий можно использовать ключевые слова tick или wakeup, обозначающие неявные события активизации диаграмм. Временные логические операторы могут использоваться либо в условиях на переходах, выходящих из состояний, либо в действиях состояний. Это означает, что их нельзя использовать как условия на переходах по умолчанию или переходах в потоковых диаграммах (flow- диаграммах).

Состояние, в которое происходит переход, обусловленный временным логическим оператором, или состояние, в during действии которого этот оператор появляется, называется связанным состоянием временного оператора.

Хотя временная логика не генерирует никаких новых событий в модели Stateflow, полезно думать об изменении значения временного логического условия как о событии. Предположим, необходимо, чтобы переход из состояния A произошел точно через 10 временных циклов после активизации этого состояния. Один из способов достижения поставленной цели состоит в том, чтобы определить событие ALARM (ТРЕВОГА) и вызвать это событие через десять событий CLK после того, как состояние A стало активным. Затем можно использовать ALARM как событие, которое вызовет переход из состояния A. Более простой способ - "установить" временное логическое условие на событие CLK, которое вызывает переход из состояния A:

CLK[after(10, CLK)]

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

after(10, CLK)

Обратите внимание, что описание события позволяет устанавливать дополнительные ограничения на неявные временные логические "события", например,

after(10, CLK)[temp == COLD]

Это выражение означает: "покинуть состояние А, если температура низкая, но не быстрее, чем через 10 временных циклов".

Группа примеров Temporal Logic (рис. 1) раскрывает некоторые особенности использования в Stateflow операторов темпоральной или временной логики. Эта группа включает примеры использования функций AFTER, BEFORE, AT, EVERY. Получить доступ к этим примерам можно через закладку Demos окна помощи Help системы MATLAB.

Рис. 1

Временная логика, использующая функцию after (после того, как).

Синтаксис оператора after (после того, как): after(n, E).

Здесь E - базовое событие для оператора, а n либо целое положительное число, либо выражение, принимающее неотрицательное целое значение. Оператор after принимает значение "истина", если событие E произошло n раз после того, как связанное состояние стало активно. В противном случае значение оператор after - "ложь". Оператор after устанавливает счетчик событий E в 0 каждый раз, когда связанное состояние становится активным.

Демонстрационный пример AFTER function.

Simulink-модель этого примера представлена на рис. 2. Эта модель включает две Stateflow-диаграммы. Одна диаграмма (Temporal Logic) использует временную логику и функцию after. Другая диаграмма (Without Temporal Logic) достигает той же самой цели без использования временной логики.

Рис. 2

На рис. 3 показана Stateflow-диаграмма Temporal Logic. Она содержит два состояния: 'Off' и 'On'. По умолчанию активизируется состояние 'Off' , при этом выходная переменная roud_count устанавливается в ноль. Функция after позволяет подсчитать число событий, которые произошли в пределах диаграммы и затем использовать это как условие для перехода. Так, в этом демонстрационном примере переход от состояния 'Off' к состоянию 'On' произойдет после того, как 10 событий с именем 'secs' ('секунды') произошли, если при этом входная переменная с именем 'step' ('шаг') меньше 1. События 'secs' ('секунды') задаются в модели Simulink-блоком Pulse Generator (генератор импульсов), параметры которого приведены в окне Block Parameters рис. 4. Переменная 'step' ('шаг') задается Simulink-блоком 'Step' с параметрами рис. 5. На выходе блока 'Step' будет нулевой сигнал в течение 60 секунд модельного времени, после чего сигнал станет единичным. После этого условие перехода [step<1] не выполняется и переход в состояние On больше не происходит.

Рис. 3

Рис. 4

Рис. 5

Тот же самый эффект может быть достигнут без использования операторов временной логики. Отличие этой диаграммы (см. рис. 6) от предыдущей состоит лишь в том то, что здесь необходимо использовать дополнительную переменную и внутренний переход. Они нужны, чтобы подсчитывать количество раз, когда событие наступило. В этом случае локальная переменная 'count_after' является счетчиком событий 'secs'. Переход будет иметь место, если ' count_after ' станет больше 10, а величина переменной 'step' ('шаг') - меньше 1.

Рис. 6

Осциллограммы, отображающие процесс изменения во времени величин выходных переменных, приведены на рисунке 7. Нетрудно заметить полную идентичность графиков для диаграмм Temporal Logic и Without Temporal Logic. При этом первая диаграмма, использующая временную логику, проще и нагляднее второй.

StateFlow   ОКМ   ДМ   экономическая информатика   визуальные среды - 4GL   Теория и практика обработки информации

(время поиска примерно 20 секунд)


Знаете ли Вы, что cогласно релятивистской мифологии "гравитационное линзирование - это физическое явление, связанное с отклонением лучей света в поле тяжести. Гравитационные линзы обясняют образование кратных изображений одного и того же астрономического объекта (квазаров, галактик), когда на луч зрения от источника к наблюдателю попадает другая галактика или скопление галактик (собственно линза). В некоторых изображениях происходит усиление яркости оригинального источника." (Релятивисты приводят примеры искажения изображений галактик в качестве подтверждения ОТО - воздействия гравитации на свет)
При этом они забывают, что поле действия эффекта ОТО - это малые углы вблизи поверхности звезд, где на самом деле этот эффект не наблюдается (затменные двойные). Разница в шкалах явлений реального искажения изображений галактик и мифического отклонения вблизи звезд - 1011 раз. Приведу аналогию. Можно говорить о воздействии поверхностного натяжения на форму капель, но нельзя серьезно говорить о силе поверхностного натяжения, как о причине океанских приливов.
Эфирная физика находит ответ на наблюдаемое явление искажения изображений галактик. Это результат нагрева эфира вблизи галактик, изменения его плотности и, следовательно, изменения скорости света на галактических расстояниях вследствие преломления света в эфире различной плотности. Подтверждением термической природы искажения изображений галактик является прямая связь этого искажения с радиоизлучением пространства, то есть эфира в этом месте, смещение спектра CMB (космическое микроволновое излучение) в данном направлении в высокочастотную область. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 09.08.2020 - 18:30: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Андрея Фурсова - Карим_Хайдаров.
09.08.2020 - 18:29: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
09.08.2020 - 14:05: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от схиигумена Сергия (Николая Романова) - Карим_Хайдаров.
09.08.2020 - 04:38: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ЗА НАМИ БЛЮДЯТ - Карим_Хайдаров.
08.08.2020 - 18:15: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
08.08.2020 - 18:12: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Пламена Паскова - Карим_Хайдаров.
08.08.2020 - 17:06: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
08.08.2020 - 14:37: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
08.08.2020 - 06:18: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
07.08.2020 - 17:15: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
07.08.2020 - 17:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Владимира Николаевича Боглаева - Карим_Хайдаров.
07.08.2020 - 13:57: ТЕОРЕТИЗИРОВАНИЕ И МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ - Theorizing and Mathematical Design -> ФУТУРОЛОГИЯ - прогнозы на будущее - Карим_Хайдаров.

Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution