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

Доступ к параметрам агентов из свойств блоков

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

Чтобы генерировать агентов нестандартного типа, например, Customer, вам нужно выбрать этот тип агента в параметре Новый агент соответствующего блока, например, Source. Агенты в потоке теперь будут типа Customer, и он будет доступен в блоках диаграммы процесса как agent, и вы сможете явно обращаться к дополнительной функциональности типа агента Customer. Дополнительно вы можете это проверить в секции свойств Специфические этих блоков: в параметре блока Тип агента уже будет выбран ваш тип агента.

Например, по этой диаграмме процесса проходят агенты типа Customer. Мы указываем этот тип как Нового агента, которого создает Source. Теперь мы можем написать код agent.serviceTime = delayTime в поле действия При входе блока Delay и получим доступ к параметру типа агента Customer.

Обратите внимание, что если какие-то агенты в вашем потоке агентов имеют тип Customer, а какие-то — скажем, Staff, то вы должны оставить в качестве нового типа агента значение по умолчанию (Agent), и самостоятельно анализировать тип поступающего агента, написав, например:

if( agent instanceof Customer ) ((Customer)agent).serviceTime = delayTime
Как мы можем улучшить эту статью?