AnyLogic
Развернуть
Размер шрифта

Ветвление

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

Ветвление является псевдо-состоянием. Управление никогда не остается в псевдо-состоянии; оно всегда проходит через него за нулевое модельное время.

Когда управление проходит через состояние-ветвление, выполняется действие этого состояния, и вычисляются дополнительные условия переходов, исходящих из этого состояния. Сработает первый же найденный разрешенный переход — т.е., тот переход, дополнительное условие которого истинно.

Демо-модель: Transition with Branches Tests Numbers Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Чтобы нарисовать ветвление

  1. Перетащите элемент Ветвление из палитры Диаграмма состояний в то место графического редактора, куда вы хотите поместить ветвление.

Свойства

Основные свойства

Имя — Имя состояния. Имя используется для идентификации состояния и доступа к нему из кода.

Отображать имя — Если опция выбрана, то имя состояния будет отображаться в графическом редакторе.

Исключить — Если опция выбрана, то состояние будет исключено из модели.

Действие — Код, выполняемый, когда управление переходит в это состояние.

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

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

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

При выполнении условия — Если опция выбрана, то этот переход будет срабатывать, если заданное в поле ниже логическое условие будет истинно.

По умолчанию (выбирается, если все остальные условия не выполняются) — Если опция выбрана, то этот переход будет выбираться в том случае, если условия всех остальных переходов, ведущих из состояния ветвления, не выполняются.

Если вы не зададите переход по умолчанию, и при переходе управления в ветвление все исходящие из ветвления переходы окажутся закрыты (не будет выполняться Условие ни одного перехода), то возникнет ошибка.
Обратите внимание, что переходы, исходящие из ветвлений, не имеют Дополнительных условий.
Как мы можем улучшить эту статью?