Очередь и блоки сервера являются блоками системы хранения, которые содержат сущности.
Очереди заказывают сущности и сортируют их согласно политикам очереди.
Серверы задерживают сущности, пока определенные условия не соблюдены.
Блоки системы хранения могут иметь действия события на основе событий, влияющих на сущности в соответствующих блоках системы хранения. Каждый блок имеет набор событий, которые вызывают действие определенного события. Для получения дополнительной информации о действиях события смотрите Действия События и События.
В дискретно-событийной симуляции очередь хранит сущности долго, которые не могут быть определены заранее. Очередь пытается вывести сущности, когда она может, но ее успех зависит от того, принимает ли следующий блок новые сущности. Повседневный пример очереди - когда вы выдерживаете в линии с другими людьми ожидать некоторого типа сервиса обратиться к вашим потребностям, и вы не можете определить заранее, сколько времени необходимо ожидать.
Отличительные признаки очередей включают:
Способность — количество сущностей очередь может сохранить одновременно
Политика очереди — Какая сущность отбывает сначала, если очередь хранит несколько сущностей
Блок Entity Queue использует эти политики очереди:
FIFO — Блок обрабатывает сущность как метод "первым пришел - первым вышел".
LIFO — блок обрабатывает сущность как метод "последним пришел - первым вышел".
Приоритет — блок читает приоритет из параметра Priority Source. Этот параметр является конкретным значением атрибута, которое блок хранит на основе значения номера.
Иногда, очередь в модели похожа на аспект реальной системы. Этот вид очереди иногда называется physical queue. Например, вы можете использовать очередь, чтобы представлять последовательность:
Люди, стоящие в очереди
Самолеты, ожидающие, чтобы получить доступ к взлетно-посадочной полосе
Сообщения, ожидающие, чтобы быть отправленным
Части, ожидающие, чтобы быть собранным на фабрике
Компьютерные программы, ожидающие, чтобы быть выполненным
В других случаях очередь в модели не возникает очевидным способом из реальной системы, но вместо этого включена для моделирования целей. Этот вид очереди иногда называется logical queue. Например, вы можете использовать очередь, чтобы предоставить область временного хранения сущностям, которым может в противном случае некуда пойти. Используя логические очереди может предотвратить мертвые блокировки или упростить симуляцию.
Используйте блок Entity Queue для очередей модели.
В дискретно-событийной симуляции сервер хранит сущности долго, названный service time, и затем пытается вывести сущность. В сервисный период блоком является serving сущность, которую это хранит. Повседневным примером сервера является человек (такой как кассир банка или розничный кассир), с кем вы выполняете транзакцию со спроектированной длительностью.
Время обслуживания для каждой сущности вычисляется, когда это прибывает. Если, однако, следующий блок не принимает прибытие сущности, которая завершила ее сервис, сервер обеспечен, чтобы содержать сущность дольше.
Отличительные признаки серверов включают:
Количество сущностей, которым это может служить одновременно, который мог быть конечным или бесконечным
Характеристики, или метод вычисления, сервисные времена прибывающих сущностей
Разрешает ли сервер прибывать сущности, чтобы вытеснить сущности, которые уже хранятся в сервере
В отсутствие вытеснения сервер конечной способности не принимает новые поступления, когда это уже полно. Можно разместить очередь перед каждым сервером конечной способности, чтобы установить место для сущностей, чтобы остаться, в то время как они ожидают сервера, чтобы принять их. В противном случае сущности ожидания могут храниться во всевозможных местоположениях в модели, и ситуация может больше затруднить для вас, чтобы предсказать или анализировать.
В некоторых случаях сервер в модели походит на реальную систему. Например, вы можете использовать сервер, чтобы представлять:
Человек (такой как кассир банка), кто выполняет транзакцию с каждым прибывающим клиентом
Передатчик, что процессы и отправляют сообщения
Машина, которая собирает части на фабрике
Компьютер, который выполняет программы
В некоторых случаях сервер не представляет реальную систему. Общая техника моделирования включает задержку нуля длительности (то есть, бесконечный сервер, время обслуживания которого является нулем) предоставлять место сущности, чтобы находиться, чтобы управлять ее атрибутами.
Используйте блок Entity Server для очередей модели.
Общие варианты использования сервера сервера включают:
Моделирование блока обработки в приложении поточной линии
Представление процессора в сетевом приложении
Можно объединить Entity Queue и блоки Entity Server, чтобы смоделировать различные ситуации:
Соединение двух пар сервера очереди последовательно может представлять последовательные операции на сущности. Например, можно смоделировать, как части на сборочном конвейере обрабатываются последовательно двумя машинами.
Можно альтернативно смоделировать ситуацию как пару серверов без очереди между ними. Однако отсутствие очереди означает, что, если первый сервер завершает сервис на сущность, прежде чем второй сервер доступен:
Сущность должна остаться в первом сервере мимо конца сервиса.
Первый сервер не может принять новую сущность для сервиса, пока второй сервер не становится доступным.
Соединение двух пар сервера очереди параллельно, в которых сущности направляются одной или другой паре сервера очереди, может представлять альтернативные операции. Например, можно смоделировать, как транспортные средства ждут своей очереди для одной из нескольких городских тюрем на междугородной площади. В этом случае модель должна иметь логику решения, возможно в форме переключателя, который предшествует этому шаблону.
Соединение двух пар сервера очереди параллельно, в которых копия каждой сущности прибывает в обоих, может представлять многоадресную ситуацию, такую как отправка сообщения нескольким получателям. Обратите внимание на то, что копирование сущностей не может быть целесообразным в некоторых приложениях.
Подключение двух очередей последовательно может быть полезным, если вы используете сущности для элементов модели, которые физически испытывают два отличных набора условий в то время как в устройстве хранения данных. Например, дополнительные предметы хранения, которые переполняют одной области хранения, должны остаться в другой области хранения, где менее хорошо отрегулированная температура влияет на долгосрочное качество элементов. Моделирование этих двух областей хранения как отличные блоки очереди упрощает просмотр среднего отрезка времени, что сущности остаются в области хранения переполнения.
Подключение двух очередей параллельно, в которых каждая сущность прибывает в одну или другой, может представлять альтернативные пути для ожидания. Пути могут привести к различным операциям, таким как линия транспортных средств, ожидающих городской тюрьмы и линии транспортных средств, ожидающих на создавшем затор наклонном съезде автострады. Вы можете смоделировать городскую тюрьму как сервер и пробку как логический элемент.
Многоадресный режим позволяет нескольким очередям получить сущности от одного блока Entity Multicast. Блок получения для Entity Multicast, блоки являются блоком Multicast Receive Queue, параметры Tag которого имеют то же значение. Блок Multicast Receive Queue является по существу блоком Entity Queue с набором параметра Entity Arrival source к Multicast
.
Используя Entity Multicast блок не требует никаких соединительных линий. Параметры Tag только должны соответствовать.
От библиотеки SimEvents® перетащите блоки Multicast Receive Queue и Entity Multicast.
В обоих диалоговых окнах, в параметрах Multicast tag, вводят тот же текст. Например, A
.
Программное обеспечение использует эти теги, чтобы совпадать с вещательной компанией и broadcastees.
Это - пример, показывает широковещательную передачу сущностей двум очередям. Заметьте, что блоки FIFO для обеих очередей имеют тег A.
Entity Multicast | Entity Queue | Entity Server | Multicast Receive Queue | Resource Acquirer | Resource Pool | Resource Releaser