Получение доступа к параметрам нестандартных агентов в свойствах блоков диаграммы процесса

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

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

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

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

if( agent instanceof Customer ) ((Customer)agent).serviceTime = delayTime