Создание нестандартных типов агентов и ресурсов

Чтобы создать нестандартный тип агента

  1. Перетащите элемент Тип агента из палитры Библиотеки Моделирования Процессов в графический редактор. 

  2. Появится диалоговое окно Создание агентов
  3. На первой странице Мастера, укажите Имя нового типа
  4. Выберите тип анимации для агентов этого типа. Если вы хотите, чтобы агенты отображались и в 2D, и в 3D, выберите 3D и выберите 3D фигуру анимации из списка ниже, в ином случае, выберите 2D и выберите фигуру из другого списка. Если ни одна фигура не подходит вам, выберите опцию Нет. Вы можете нарисовать фигуру анимации в типе агента позже в любое время. 

  5. Закончив выбирать фигуру анимации, щелкните кнопку Далее, чтобы перейти на следующий шаг. 
  6. Укажите параметры для этого типа агента. Щелкните мышью кнопку < добавить... > в списке параметров, чтобы добавить новый параметр. Выделив этот параметр в списке, вы можете настроить его имя, тип и значение по умолчанию в настройках на панели справа. Чтобы удалить параметр из списка, щелкните кнопку .

  7. Щелкните Готово.

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

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

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

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

Пожалуйста, обратите внимание, что если какие-то агенты в вашем потоке агентов имеют тип Customer, а какие-то - скажем, Staff, то вы должны оставить в качестве нового типа агента значение по умолчанию  (Agent), и самостоятельно анализировать тип поступающего агента, написав, например
if(agent instanceof Customer) ((Customer)agent).serviceTime = delayTime

Чтобы создать нестандартный тип ресурса

  1. Перетащите элемент Тип ресурса из палитры Библиотеки Моделирования Процессов в графический редактор. 

  2. Появится диалоговое окно Создание агентов
  3. На первой странице Мастера, укажите Имя нового типа
  4. Выберите тип анимации для ресурсов этого типа. Если вы хотите, чтобы ресурсы отображались и в 2D, и в 3D, выберите 3D и выберите 3D фигуру анимации из списка ниже, в ином случае, выберите 2D и выберите фигуру из другого списка. Если ни одна фигура не подходит вам, выберите опцию Нет. Вы можете нарисовать фигуру анимации в типе агента позже в любое время. 

  5. Закончив выбирать фигуру анимации, щелкните кнопку Далее, чтобы перейти на следующий шаг. 
  6. Укажите параметры для этого типа ресурсов. Щелкните мышью кнопку < добавить... > в списке параметров, чтобы добавить новый параметр. Выделив этот параметр в списке, вы можете настроить его имя, тип и значение по умолчанию в настройках на панели справа. Чтобы удалить параметр из списка, щелкните кнопку .

  7. Щелкните Готово.

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

Теперь вы можете использовать этот тип ресурсов в параметрах блоков диаграммы процесса.