Роль портов сущности и путей

Порты сущности и пути

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

Соединительная линия указывает путь, по которому сущность может продвигаться. Однако линия соединения не означает, что какие-либо сущности действительно продвигаются вдоль этого пути во время симуляции. Для заданного пути сущности и заданного момента времени во время симуляции может быть верно любое из следующих:

  • Ни одна сущность не пытается продвинуться по этому пути.

  • Сущность пыталась и не смогла продвинуться по этому пути. Для некоторых блоков обычно входной порт сущности недоступен при определенные обстоятельства. В результате сущность не справляется с попыткой продвинуться по этому пути, даже если путь нетронут (то есть, даже если порты соединены). Сущность, которая пытается и не может продвинуться, называется pending entity.

  • Одна или несколько сущностей успешно продвигаются по этому пути. Это происходит только в дискретном наборе раз во время симуляции.

Примечание

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

Определение путей к сущностям

Путь сущности является соединением от выходного порта сущности к входному порту сущности, изображенным как линия, соединяющая порты сущности двух SimEvents® блоки. Путь сущности представляет эквивалентность между уходом сущности из первого блока и приходом ко второму блоку. Для примера в модели, показанной ниже, любая сущность, который отклоняется от выхода порта Entity Queue блока, эквивалентно приходит к входу порту Entity Server блока.

Simple queueing model using Entity Generator, Entity Queue, Entity Server, and Entity Terminator blocks

Существование пути сущности не гарантирует, что какой-либо объект действительно использует этот путь. Для примера симуляции может быть настолько короткой, что никакие сущности никогда не генерируются. Даже когда используется путь сущности, он используется только в дискретном наборе раз во время симуляции.

Последствия путей к сущностям

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

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

Entity Output Switch block with two outputs. Each output directs entities to an Entity Queue block connected to an Entity Server block.

Рассматривая только линии соединения сущности, вы не можете определить, к какому IN порту блока очереди прибывает сущность. Вместо этого необходимо узнать больше о том, как ведет себя блок один к двум (Output Switch), и понять результат определенных решений во время выполнения.

Разработка путей с использованием входов, выходных и сущностей

Пути сущностей проектируются путем выбора или объединения путей сущностей с помощью блоков Entity Input Switch, Entity Output Switch и E ntity Combiner библиотеки SimEvents. Эти блоки имеют дополнительные порты сущности, которые позволяют вам изменять топологию модели (то есть набор блоков и соединительных линий).

Типичные причины для манипулирования путями сущностей:

  • Чтобы описать по своей сути параллельное поведение в ситуации, которую вы моделируете - например, компьютерный кластер с двумя компьютерами, которые разделяют вычислительную нагрузку. Можно использовать блок Entity Output Switch для отправки заданий вычисления на один из двух компьютеров. Можно также использовать блок Entity Input Switch, если задания вычисления имеют общий адрес назначения, следующий за парой компьютеров.

  • Чтобы спроектировать нелинейные топологии, такие как циклы обратной связи - повторение операции, если такие критерии качества, как качество обслуживания (QoS), не выполняются. Можно использовать блок Entity Input Switch с Active port selection набора параметров для All для объединения путей к новым сущностям и сущностям, которые требуют повторной операции.

  • Чтобы включить логическое принятие решений в вашу симуляцию - например, чтобы определить протоколы планирования. Можно использовать блок Entity Input Switch, чтобы определить, какая из нескольких очередей получает внимание от сервера.

  • Чтобы включить логику активации или деактивации пути сущности, используйте блок Entity Gate. Например, можно активировать путь сущности для одной сущности, когда условие выполнено в модели.

  • Чтобы смоделировать маршрутизацию копий сущности в несколько удаленных местоположений в модели, рассмотрите использование блоков Entity Multicast и Multicast Receive Queue.

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

См. также

|

Похожие примеры

Подробнее о