Entity Server

Служите сущностям

  • Библиотека:
  • SimEvents

  • Entity Server block

Описание

Блок Entity Server служит сущностям, когда они прибывают. В дискретно-событийной симуляции сервер хранит сущности долго, названный service time, и затем пытается вывести сущность. В сервисный период блоком, как говорят, является serving сущность, которую это хранит. Блок может служить нескольким сущностям одновременно и вывести каждую сущность через выходной порт, если порт не блокируется. Когда блок разрешает вытеснение, сущность в сервере может отбыть рано через второй порт.

Чтобы настроить действия, когда сущности входят, полный сервис, выход, и блокируются или вытесняются блоком, вводят MATLAB® код в Entry action, Service complete action, Exit action, Blocked action, или Preempt action поле вкладки Event actions. Для получения дополнительной информации смотрите Действия События и События.

Порты

Входной параметр

развернуть все

Введите сущность, которая несет скаляр, шину или векторные данные, чтобы ввести сервер.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus | string | fixed point

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

Зависимости

Этот порт отображается, когда Service time source установлен в Signal port.

Типы данных: double

Вывод

развернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus | string | fixed point

Количество сущностей, которые отбыли из блока.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Number of entities departed, d.

Типы данных: double

Количество сущностей, которые еще не отбыли из блока.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Number of entities in block, n.

Типы данных: double

Установка этого флажка выводит значение 1 для незаконченной сущности в блоке и 0 в противном случае.

Зависимости

Чтобы включить этот порт, выберите Statistics> Pending entity in block, pe.

Типы данных: double

Установка этого флажка выводит количество незаконченных сущностей в блоке.

Зависимости

Чтобы включить этот порт, выберите Statistics> Number of pending entities, np.

Типы данных: double

Среднее время ожидания для сущностей в блоке.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Average wait, w.

Типы данных: double

Среднее время сервер занято.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Utilization, util.

Типы данных: double

Количество вытесненных сущностей.

Зависимости

Чтобы включить этот порт, сначала кликните по вкладке Preemption, затем кликните по вкладке Statistics и выберите поле, пометил Number of entities preempted, p.

Типы данных: double

Количество сущностей, которые вытащены этого блока.

Зависимости

Чтобы включить этот порт, кликните по вкладке Statistics и выберите поле, пометил Number of entities extracted, ex.

Типы данных: double

Параметры

развернуть все

Задайте количество сущностей, которым блок может служить одновременно.

Программируемое использование

Параметры блоков: Capacity
Ввод: символьный вектор
Значения: '1'| скаляр
Значение по умолчанию: '1'

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

Можно выбрать:

  • Dialog

    Введите постоянное значение в параметр Service time value.

  • Signal port

    Соедините источник времени с получившимся портом сигнала.

  • Attribute

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

  • MATLAB action

    В разделе Service time action введите код MATLAB, чтобы варьироваться время обслуживания. Присвойте переменную dt, которую модель использует в качестве времени обслуживания.

Программируемое использование

Параметры блоков: ServiceTimeSource
Ввод: символьный вектор
Значения: 'Dialog' | 'Signal port' | 'Attribute'| 'MATLAB action'
Значение по умолчанию: 'Dialog'

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

Зависимости

Этот параметр отображается, когда Service time source установлен в Attribute.

Программируемое использование

Параметры блоков: ServiceTimeAttributeName
Ввод: символьный вектор
Значения: 'ServiceTime' | вектор символов
Значение по умолчанию: 'ServiceTime'

Настраиваемый: да

Зависимости

Этот параметр отображается, когда Service time source установлен в Dialog.

Программируемое использование

Параметры блоков: ServiceTimeValue
Ввод: символьный вектор
Значения: '1.0' | скаляр
Значение по умолчанию: '1.0'

Используйте код MATLAB, чтобы задать время обслуживания. dt задает время обслуживания. Можно вручную задать dt или используйте кнопку Insert pattern, чтобы задать время обслуживания от повторяющейся последовательности или от распределения. Для примера смотрите количество Одновременные Отклонения от Сервера.

Зависимости

Этот параметр отображается, когда Service time source установлен в MATLAB action.

Программируемое использование

Параметры блоков: ServiceTimeAction
Ввод: символьный вектор
Значения: КОД MATLAB
Значение по умолчанию: 'dt = rand(1,1);'

Задайте поведение сущности в определенных событиях. Задайте поведение в параметре Event action. Entry и действия Exit называются сразу после записи сущности и незадолго до выхода сущности. Действие Service complete называется после завершения сервиса сущности. Действие Blocked называется после того, как сущность блокируется. Preempt называется после вытеснения.

Примечание

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

Программируемое использование

Параметры блоков: EntryAction, ServiceCompleteAction, ExitAction, BlockedAction, PreemptAction
Ввод: символьный вектор
Значения: КОД MATLAB
Значение по умолчанию: ''

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

  • Sorting attribute name во вкладке Preemption

  • Sorting direction во вкладке Preemption

  • Write residual time to attribute во вкладке Preemption

  • Number of entities preempted, p во вкладке Statistics

Для примера смотрите Вытеснение Задачи в Многозадачном Процессоре.

Программируемое использование

Параметры блоков: PermitPreemptionBasedOnAttribute
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Укажите, что имя атрибута раньше определяло приоритет.

Зависимости

Этот параметр отображается, когда поле Permit preemption based on attribute выбрано.

Программируемое использование

Параметры блоков: SortingAttributeName
Ввод: символьный вектор
Значения: 'entity' | 'entitySys.priority' | вектор символов
Значение по умолчанию: 'entity'

Задайте, сортируются ли сущности в ascending или descending порядок.

  • ascending — Сортировка сущностей с меньшими значениями ключа, чтобы иметь более высокий приоритет

  • descending — Сортировка сущностей с большими значениями ключа, чтобы иметь более высокий приоритет

Зависимости

Этот параметр отображается, когда поле Permit preemption based on attribute выбрано.

Программируемое использование

Параметры блоков: SortingDirection
Ввод: символьный вектор
Значения: 'Ascending' | 'Descending'
Значение по умолчанию: 'Ascending'

Зависимости

Этот параметр отображается, когда поле Permit preemption based on attribute выбрано.

Программируемое использование

Параметры блоков: WriteResidualTimeToAttribute
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Зависимости

Этот параметр отображается, когда поле Write residual time to attribute выбрано.

Программируемое использование

Параметры блоков: ResidualTimeAttributeName
Ввод: символьный вектор
Значения: 'ResidualTime' | вектор символов
Значение по умолчанию: 'ResidualTime'

Количество сущностей, которые отбыли из блока.

Программируемое использование

Параметры блоков: NumberEntitiesDeparted
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Количество сущностей, существующих в блоке, которые должны все же отбыть.

Программируемое использование

Параметры блоков: NumberEntitiesInBlock
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Указывает, присутствует ли сущность, которая должна все же отбыть, в блоке. Значением является 1 для незаконченной сущности и 0 в противном случае.

Программируемое использование

Параметры блоков: PendingEntityPresentInBlock
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Выводит количество незаконченных сущностей, которым блок служил, которые должны все же отбыть.

Программируемое использование

Параметры блоков: NumberEntitiesPending
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Сумма времени ожидания для сущностей отбыла из блока, разделенного на их общее количество. Wait time является длительностью между элементом блока Entity Server и выходом сущности. Для получения дополнительной информации, модели seeInterpret SimEvents Используя Статистический анализ.

Программируемое использование

Параметры блоков: AverageWait
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Среднее время сервер занято. Блок вычисляет на этот раз как отношение общего времени ожидания для сущностей к мощности сервера, умноженной на общее время симуляции.

Время ожидания является длительностью между элементом блока Entity Server и выходом сущности. Общее время ожидания является суммой времени ожидания для сущностей, отбыл из блока.

Программируемое использование

Параметры блоков: Utilization
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

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

Зависимости

Этот флажок появляется, если флажок Permit preemption based on attribute устанавливается.

Программируемое использование

Параметры блоков: NumberEntitiesPreempted
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Выводит количество извлеченных сущностей, которые вытащены из этого блока блоком Entity Find. Если сущность обслуживается во время экстракции, сервис отключен. Если атрибут, который задает время обслуживания и оно изменяется блоком Entity Find, время обслуживания не изменяется. Когда сущность извлечена, Number of entities departed, d, Number of entities in block, n, Average wait, w, и статистические данные Utilization, util обновляются соответственно. Для получения дополнительной информации о нахождении и извлечении сущностей, смотрите, Находят и Сущности Извлечения в Моделях SimEvents.

Программируемое использование

Параметры блоков: NumEntitiesExtracted
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Примеры модели

Введенный в R2016a