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 и выходом сущности. Для получения дополнительной информации смотрите Интерпретация моделей 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