Помощь в написании студенческих работ
Антистрессовый сервис

Обработка заказа. 
Поведение агента Предприятие

РефератПомощь в написанииУзнать стоимостьмоей работы

Ресурс (автомобиль) отправлен в объект seize, теперь этому ресурсу должна быть передана (помещена «внутрь») информация о заказе, т. е. о том, куда именно должен быть доставлен груз. Перетащите объекты release и sink (см. рис. 9.17). После выполнения заказа автомобиль (ресурс) становится свободным, пройдя объект release, а агент (заказ) удаляется из модели объектом sink. Как только автомобиль… Читать ещё >

Обработка заказа. Поведение агента Предприятие (реферат, курсовая, диплом, контрольная)

После получения заказа на предприятии выделяют ресурс (автомобиль) для сто исполнения. Автомобиль загружают заказанными запчастями, на что нужно от двух до трех часов, и отправляют в аэропорт. Там автомобиль разгружают (в течение двух-трех часов), после чего посылается оповещение о доставке и автомобиль возвращается на предприятие, становясь свободным ресурсом. На рис. 9.17 приведен сегмент процесса исполнения заказа. Построим его.

Сегмент процесса исполнения заказа.

Рис. 9.17. Сегмент процесса исполнения заказа

  • 1. Чтобы реализовать описанный выше процесс, выделите агента Предприятие и палитру Библиотека моделирования процессов. Вход в процесс осуществляется через объект enter, в который поступают заказы. Перетащите этот объект на рабочую область и в свойствах задайте Тип агента Заказ .
  • 2. Далее полученный заказ поступает в очередь на ожидание ресурсов, для этого перетащите объект seize, который и отвечает за захват ресурсов. Соедините его с объектом enter.
  • 3. Откройте свойства объекта seize и в пункте Набор ресурсов щелкните по изображению «+». Из всплывающего списка выберите || (автомобили).
  • 4. Перед тем как ресурс будет захвачен, он должен быть подготовлен, что в нашем случае означает загрузку машины. Подготовка ресурсов и их отправка происходит в процессе для ресурсов, который начинается с объекта resourceTaskStart. Его необходимо перетащить из палитры Библиотека моделирования процессов и расположить ниже, как показано на рис. 9.17. В свойствах данного блока необходимо указать Тин ресурса Автомобиль и Начинать задачу: всем ресурсам.
  • 5. На погрузку запчастей в автомобиль требуется время. Перетащите объект delay, дайте ему имя погрузка и соедините с объектом resourceTaskStart. Свойства укажите согласно рис. 9.18.

Для времени задержки указан равномерный закон распределения между двумя и тремя часами: uniform (2, 3).

Свойства объекта погрузка.

Рис. 9.18. Свойства объекта погрузка

  • 6. После загрузки автомобиля запчастями его отправляют в аэропорт. Перетащите элемент moveTo, дайте ему имя вАэропорт и соедините с другими (см. рис. 9.17).
  • 7. Свойства установите согласно рис. 9.19.
  • 8. Ресурс (автомобиль) отправлен в объект seize, теперь этому ресурсу должна быть передана (помещена «внутрь») информация о заказе, т. е. о том, куда именно должен быть доставлен груз.
Свойства объекта вАэропорт.

Рис. 9.19. Свойства объекта вАэропорт

  • 9. Для этого перейдите в свойства объекта seize и на странице Действия в поле При захвате ресурса введите код:
    • ((Автомобиль)unit).клиент = agent. потребитель;

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

10. Как только автомобиль прибыл в аэропорт, его нужно разгрузить. Перетащите объект delay, соедините с выходом объекта seize (см. рис. 9.17). Установите свойства согласно рис. 9.20.

Свойства объекта разгрузка.

Рис. 9.20. Свойства объекта разгрузка.

При моделировании логики работы аэропорта было указано, что переход из состояния ожидания запчастей в состояние нормальной работы происходит при получении сообщения «Доставлено!». Данное сообщение отправляется, как только закончена разгрузка, т. е. происходит выход из объекта разгрузка. Для отправки использована встроенная функция send, которая имеет два аргумента (что отправить, кому отправить).

  • 11. Перетащите объекты release и sink (см. рис. 9.17). После выполнения заказа автомобиль (ресурс) становится свободным, пройдя объект release, а агент (заказ) удаляется из модели объектом sink.
  • 12. Теперь нужно отправить освободившийся автомобиль (ресурс) на предприятие.
  • 13. Перетащите объект moveTo и соедините с другими, как показано на рис. 9.17. Установите свойства:
    • • Имя: наПредприятие;
    • • Агент: перемещается;
    • • Место назначения: Агент/ресурс;
    • • Агент: main/предприятие;
    • • Перемещение задается: Расстоянием/скоростью.
  • 14. Завершите сегмент процесса исполнения заказа объектом resourceTaskEnd для того, чтобы ресурс вернулся в общий пул с ресурсами и был доступен для нового захвата.

На этом сегмент процесса исполнения заказа готов, осталось только сделать так, чтобы все входящие заказы поступали на объект enter (см. рис. 9.17). Все входящие сообщения обрабатываются в стандартном блоке connections, который, но умолчанию существует внутри каждого агента (рис. 9.21).

Объект connections внутри агента Предприятие.

Рис. 9.21. Объект connections внутри агента Предприятие

  • 1. Щелчком откройте свойства объекта connections агента предприятие.
  • 2. В свойствах откройте страницу Взаимодействие и измените поля согласно рис. 9.22.
  • 3. В поле Действие при получении сообщения введена команда, которая указывает, что объект enter должен взять на обработку (функцией take) пришедшее сообщение (используя локальную переменную msg). Тип сообщения указывается согласно созданному ранее в агенте предприятие.
Страница Взаимодействие свойств connections.

Рис. 9.22. Страница Взаимодействие свойств connections

Модель процесса формирования заказа и доставки запасных частей в аэропорты готова. Теперь можно перейти к запуску и оптимизации созданной модели.

Показать весь текст
Заполнить форму текущей работой