Переход, срабатывающий с заданной интенсивностью


Такой переход будет срабатывать с таймаутом, подчиняющимся экспоненциальному распределению с параметром Интенсивность (таймаут отсчитывается от момента передачи управления диаграммы состояний состоянию, из которого исходит данный переход), т.e., если интенсивность равна 5, то переход будет срабатывать в среднем 5 раз в течение одной единицы модельного времени.

 Чтобы сделать переход срабатывающим с заданной интенсивностью

  1. Выделите переход в графическом редакторе.
  2. В панели Свойства выберите С заданной интенсивностью из выпадающего списка Происходит.
  3. Введите значение интенсивности в расположенном ниже поле Интенсивность.

Если значение интенсивности изменяется динамически, то время срабатывания перехода будет перевычисляться заново; такие изменения могут быть обнаружены переходом только при вызове метода onChange() соответствующего агента.

Программное управление переходами

boolean isActive() - Возвращает true, если данный переход запланирован. В противном случае возвращает false

double getRest() - Возвращает время (в единицах модельного времени), оставшееся до запланированного перехода или Double.POSITIVE_INFINITY, если переход не запланирован.

double getRest(TimeUnits units) - Возвращает время, оставшееся до запланированного перехода в заданных единицах времени, или Double.POSITIVE_INFINITY, если событие не запланировано. 
Параметр: unitsконстанта единиц измерения времени

Пример: transition.getRest(MINUTE) возвращает время в минутах, оставшееся до запланированного перехода.


См. также

 Диаграммы состояний

 Переход

 Срабатывание перехода