Настройте поведение Дискретной Системы событий Используя действия события и События

Можно настроить поведение дискретной системы событий путем определения действий события и событий.

Вы можете:

  • Запланируйте события

  • Действия события Define в ответ на события

  • Инициализируйте события

  • Отмените события

Типы событий и действия события

Типы событий

Дискретная система событий может иметь эти типы событий и их цели.

Тип событияЦельЦель
eventAcquireResourceСущностьПозвольте сущности получать один или несколько ресурсов.
eventDestroyСущностьУничтожьте существующую сущность в устройстве хранения данных.
eventForwardСущностьПереместите сущность от ее текущего устройства хранения данных до другого порта хранения или выходного порта.
eventIterateУстройство хранения данныхВыполните итерации и процесс каждая сущность в устройстве хранения данных.
eventReleaseResourceСущностьПозвольте сущности высвобождать одни или несколько средств.
eventReleaseAllResourcesСущностьПозвольте сущности высвобождать все ранее полученные средства.
eventTestEntryУстройство хранения данныхСоздайте событие, чтобы указать, что политика приемки средств хранения информации изменяется, и устройство хранения данных повторно тестирует прибывающие сущности.
eventTimerСущностьСоздайте событие таймера.
eventGenerateУстройство хранения данныхСоздайте сущность в устройстве хранения данных.
  • Передайте события

    Если прямое событие перестало работать из-за блокирования, прямое событие остается активным. Когда пробел становится доступным, дискретная система событий переносит прямое событие для мгновенного выполнения.

  • Маркировка событий

    Можно запланировать несколько событий того же типа для того же агента. При использовании нескольких событий того же типа используйте теги, чтобы различать события. Например, сущность может иметь несколько таймеров с отличными тегами. Когда один таймер истекает, можно использовать tag аргумент timer метод, чтобы дифференцироваться, какой таймер это. Для получения дополнительной информации смотрите Пользовательский Блок системы хранения Сущности с Несколькими Событиями Таймера.

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

Действия события

Когда событие имеет место, дискретная система событий отвечает на него путем вызова соответствующего действия. Реализуйте эти действия как Систему object™ методы. Эта таблица приводит каждый метод действия и инициирующее событие.

Действие событияИнициирующее событиеЦель
blockedeventForwardНазванный, если после выполнения прямого события сущность не может уехать из-за блокирования от целевой системы хранения.
destroyeventDestroyНазванный, прежде чем сущность уничтожена и удалена из устройства хранения данных.
entryeventForwardПризванный запись сущности.
exiteventForwardПризванный выход сущности. Когда сущность передается от устройства хранения данных 1 к устройству хранения данных 2, выходное действие устройства хранения данных 1 и затем действие записи устройства хранения данных 2 называются.
generateeventGenerateНазванный после того, как новая сущность создается в запоминающем элементе.
iterateeventIterateПосле выполнения события Iterate этот метод вызывается для каждой сущности от передней стороны до задней части устройства хранения данных с опцией раннего завершения. Если к сущностям нужно обратиться из-за изменений значения ключа, обращение происходит после того, как целая итерация завершена.
resourceAcquiredeventAcquireResourceНазванный после успешного приобретения ресурса. Приобретение ресурса успешно, только если все заданные ресурсы получены.
resourceReleasedeventReleaseResourceНазванный после релиза ресурса.
testEntryeventTestEntryНазванный после тестового события записи.
timereventTimerПризванный выполнение события таймера сущности.

Инициализируйте События

Используйте эти методы, чтобы инициализировать пустые массивы и события дискретной системы событий.

Тип событияЦель
initEventArrayИнициализируйте массив события.
initResourceArrayИнициализируйте массив спецификации ресурса.
setupEventsИнициализируйте события генерации сущности.

Отмена ранее запланированные События

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

Тип событияЦель
cancelAcquireResourceОтмена ранее запланировала событие приобретения ресурса
cancelDestroyОтмена ранее запланировала сущность, уничтожают событие.
cancelForwardСущность отмены передает событие.
cancelGenerateОтмена ранее запланировала событие генерации сущности.
cancelIterateОтмена, ранее запланированная, выполняет итерации события.
cancelTimerОтмена ранее запланировала событие таймера.

Идентификаторы события

Существует два отличных идентификатора для событий, обеспеченных matlab.DiscreteEventSystem класс.

  • Тег — использует tag как входной параметр для метода.

    event1 = obj.eventTimer('mytimer1', 2);
    event2 = obj.eventTimer('mytimer2', 5);

    Здесь, mytimer1 и mytimer2 используются в качестве тегов, чтобы относиться к этим двум событиям таймера.

  • Место назначения — Использование место назначения, чтобы идентифицировать передает события.

    event1 = obj.eventForward('storage', 2, 0.8);
    event2 = obj.eventForward('output', 1, 2);

    Здесь, storage и output используются, чтобы различать два, передают события.

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

Тип событияИдентификация
eventAcquireResourceТег
eventGenerateТег
eventIterateТег
eventReleaseResourceТег
eventReleaseAllResourcesТег
eventTimerТег
eventForwardМесто назначения

Примечание

Если вы задаете событие, которое должно все же быть выполнено и второе событие с тем же типом и идентификатором, первое событие заменяется вторым.

Смотрите также

| | | | | | | |

Похожие темы