В SimEvents® модель, Очередь Сущности и блоки Сервера Сущности являются блоками системы хранения, которые содержат сущности.
Очереди заказывают сущности и сортируют их согласно политикам очереди.
Серверы задерживают сущности, пока определенные условия не соблюдают.
Эта модель в качестве примера представляет простую систему массового обслуживания, которая генерирует сущности, и ставит их в очередь в заданном порядке, обслуживает их, чтобы изменить их атрибуты и отключает их, чтобы представлять их отклонение от линии. Чтобы узнать больше об основных системах массового обслуживания, смотрите Основные Системы массового обслуживания Модели.
В дискретно-событийной симуляции блок Entity Queue хранит сущности долго, которые не могут быть определены заранее. Очередь пытается вывести сущности, если это возможно, но ее выход зависит от того, принимает ли нисходящий блок новые сущности.
Повседневным примером очереди являются люди, ждущие своей очереди для регистра хранилища. Покупатель не может определить заранее, сколько времени они должны ожидать, чтобы завершить их покупку.
Например, очередь может представлять поведение:
Самолеты, ожидающие, чтобы получить доступ к взлетно-посадочной полосе
Сообщения, ожидающие, чтобы быть отправленным
Части, ожидающие, чтобы быть собранным на фабрике
Компьютерные программы, ожидающие, чтобы быть выполненным
Автомобили, ждущие своей очереди в автозаправочной станции
Чтобы задать поведение очереди, задайте:
Способность — количество сущностей очередь может сохранить одновременно.
Очередь, Сортирующая политику — Задает, какая сущность отбывает сначала, такие как метод "первым пришел - первым вышел" (FIFO), в обратном порядке (LIFO), или пользовательский приоритет, если очередь хранит несколько сущностей.
Перезапись политики — Определяет поведение, когда очередь полна. Можно принять решение блокировать новую входящую сущность или принять, что он перезаписывает старейшую сущность в очереди.
Для получения дополнительной информации о поведении очереди, смотрите Основные Системы массового обслуживания Модели.
В дискретно-событийной симуляции сервер хранит сущности долго, названный service time, затем пытается вывести сущность. В сервисный период блоком является serving сущность, которую это хранит.
Повседневным примером сервера является человек (такой как кассир банка или розничный кассир), с кем вы выполняете транзакцию со спроектированной длительностью. Для получения дополнительной информации смотрите Основные Системы массового обслуживания Модели.
Время обслуживания для каждой сущности вычисляется, когда сущность прибывает. Однако, если следующий блок не принимает прибытие сущности, которая завершила ее сервис, сервер обеспечен, чтобы содержать сущность дольше.
Отличительные признаки сервера включают:
Количество сущностей, которым это может служить одновременно, который может быть конечным или бесконечным.
Характеристики, или метод вычисления, сервисные времена прибывающих сущностей.
Разрешает ли сервер прибывать сущности, чтобы вытеснить сущности, которые уже хранятся в сервере. Для получения дополнительной информации смотрите Вытеснение Задачи в Многозадачном Процессоре.
Совет
В отсутствие вытеснения сервер конечной способности не принимает новые поступления, когда это уже полно. Можно разместить очередь перед каждым сервером конечной способности, чтобы установить место для сущностей, чтобы остаться, в то время как они ожидают сервера, чтобы принять их. В противном случае сущности ожидания могут храниться в различных местоположениях в модели, и поведение может больше затруднить для вас, чтобы предсказать или анализировать.
Можно использовать сервер, чтобы представлять реальные системы, такие как:
Человек (такой как кассир банка), кто выполняет транзакцию с каждым прибывающим клиентом
Передатчик, что процессы и отправляют сообщения
Машина, которая собирает части на фабрике
Компьютер, который выполняет программы
Блок обработки в приложении поточной линии
Процессор в сетевом приложении
В некоторых случаях сервер не представляет реальную систему. Общая техника моделирования включает задержку нуля длительности (то есть, бесконечный сервер, время обслуживания которого является нулем) предоставлять место сущности, чтобы находиться, чтобы управлять ее атрибутами.
Можно использовать события и действия события, чтобы управлять атрибутами сущности и создать пользовательское поведение в системе массового обслуживания. Для получения дополнительной информации о действиях события, смотрите Действия События и События.
Предположим, что вы хотите изменить атрибуты сущности, когда сущности вводят или выходят из Entity Queue или блока Entity Server. Можно использовать действия, которые вызываются событиями, такими как запись в блок, выход из блока или сервисное завершение. Для получения дополнительной информации смотрите Основные Системы массового обслуживания Модели. Можно также использовать действия события, чтобы создать пользовательскую сущность, направляющую шаблоны. Для получения дополнительной информации смотрите Действия События Очереди Использования, чтобы Смоделировать Резервуар для хранения.
Соединение двух пар сервера очереди последовательно может представлять последовательные операции на сущности. Например, можно смоделировать, как части на сборочном конвейере обрабатываются последовательно двумя машинами.
В качестве альтернативы можно смоделировать тот же сценарий при помощи пары серверов без очереди между ними.
Однако в отсутствие очереди, если первый сервер завершает свой сервис на сущность, и если второй сервер доступен, чтобы принять новую сущность:
Сущность должна остаться в первом сервере мимо конца сервиса.
Первый сервер не может принять новую сущность для сервиса, пока второй сервер не становится доступным.
Подключение двух очередей последовательно может быть полезным, если вы используете сущности для элементов модели, которые испытывают два отличных набора физических условий в то время как в устройстве хранения данных. Например, дополнительные предметы хранения, которые переполняют одной области хранения, должны остаться в другой области хранения, где менее хорошо отрегулированная температура влияет на долгосрочное качество элементов.
Моделирование этих двух областей хранения как отличные блоки очереди упрощает просмотр среднего отрезка времени, что сущности остаются в области хранения переполнения. Для получения дополнительной информации смотрите Основные Системы массового обслуживания Модели.
Соединение двух пар сервера очереди параллельно, в которых сущности направляются одной или к другой паре сервера очереди, может представлять альтернативные операции. Например, можно смоделировать, как транспортные средства ждут своей очереди для одной из нескольких городских тюрем на междугородной площади. В этом случае модель должна иметь логику решения, возможно в форме переключателя, который предшествует этому шаблону. Для примера смотрите, Обслуживают Высокоприоритетных Клиентов путем Сортировки Сущностей На основе Приоритета.
Соединение двух пар сервера очереди параллельно, в которых копия каждой сущности прибывает в каждого, может представлять многоадресный сценарий, такой как отправка сообщения нескольким получателям. Обратите внимание на то, что копирование сущностей не может быть целесообразным в некоторых приложениях. Для примера смотрите, что Широковещательные Сущности используют Многоадресную передачу Сущности.
Если вы хотите смоделировать более комплексные блоки системы хранения сущности и расширить поведение блоков, обеспеченных библиотекой SimEvents, используйте блок MATLAB Discrete-Event System и блок Discrete-Event Chart.
Блок MATLAB Discrete-Event System расширяет Системные объекты, чтобы создать пользовательские блоки SimEvents в вашей модели. Для получения дополнительной информации об авторской разработке пользовательских блоков SimEvents, смотрите, Создают Пользовательские блоки Используя Блок Дискретной Системы событий MATLAB.
Блок Discrete-Event Chart использует Stateflow® графики и предоставляют графический язык, чтобы создать пользовательские блоки системы хранения в вашей модели. Для получения дополнительной информации смотрите Сущности Сброса с Сервера Очереди.