Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse


Скачать 0.66 Mb.
Название Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse
страница 7/12
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
1   2   3   4   5   6   7   8   9   ...   12

Получение сообщений


Как уже упоминалось выше, среда выполнения JADE автоматически переносит сообщения в приватную очередь сообщений получателя, как только они доставлены. Агент может получать сообщения из своей очереди сообщений с помощью метода receive(). Этот метод возвращает первое сообщение в очереди сообщений (и удаляет его от туда), либо ничего, если очередь сообщений пуста, и сразу же завершается.

ACLMessage msg = receive();
if (msg != null) {
// Какие-то операции с сообщением

}
  1. Блокирование поведения для ожидания сообщения


Очень часто программисты должны реализовывать поведения с получением сообщений от других агентов. Это касается и поведений OfferRequestsServer и PurchaseOrdersServer указанные в 2.9.2, где мы должны обслужить сообщения от агента покупателя пересылающего заявки на предложение и заказ. Такое поведение должно постоянно работать (циклическое поведение), и при каждом выполнении своего метода action() необходимо убедиться, что сообщение было получено и обработано. Эти два поведения очень похожи. Здесь мы представляем поведение OfferRequestsServer. Посмотрите код PurchaseOrdersServer в приложении 2.

/**

Внутренний класс OfferRequestsServer.

Это поведение, используемое агентом Book-seller для обслуживания входящих запросов

на предложение от покупателя агентов.

Если запрашиваемоя книга есть в местном каталоге, агент продавец отвечает

в сообщении PROPOSE нужную цену. Иначе сообщение REFUSE

отправляется назад.

*/

private class OfferRequestsServer extends CyclicBehaviour {

public void action() {

ACLMessage msg = myAgent.receive(); // import jade.lang.acl.ACLMessage;

if (msg != null) {

// Сообщение принято. Обработка.

String title = msg.getContent();

ACLMessage reply = msg.createReply();

Integer price = (Integer) catalogue.get(title);

if (price != null) {

// Требуемая книга присутствует в продаже. Отвечаем на запрос её ценой.

reply.setPerformative(ACLMessage.PROPOSE);

reply.setContent(String.valueOf(price.intValue()));

}

else {

// Запрашиваемая книга не присутствует в продаже

reply.setPerformative(ACLMessage.REFUSE);

reply.setContent("not-available");

}

myAgent.send(reply);

}



}

}// Конец внутреннего класса OfferRequestsServer
Было решено реализовать поведение OfferRequestsServer как внутренний класс класса BookSellerAgent. Это упрощает вещи, как мы можем иметь прямой доступ к каталогу книг для продажи, но, однако, это не является обязательным.

Метод createReply() класса ACLMessage автоматически создает новую настройку ACLMessage получателя и всех полей, используемые для контроля за диалогом (conversation-id, reply-with, in-reply-to), если таковые имеются.

Если мы посмотрим на рисунок 2, то можем заметить, что, когда мы добавим выше описанное поведение, поток агента начинает непрерывный цикл, что слишком нагружает процессор. Для того чтобы избежать этого мы хотели бы исполнить метод action() поведения OfferRequestsServer лишь тогда, когда появятся новые сообщения. Для этого мы можем использовать метод block() класса поведений. Этот метод обозначает поведение как "заблокированное", так что агент не планирует следующих выполнений больше. Когда добавится новое сообщение в очередь сообщений агента, все заблокированые поведения становится доступным для исполнения вновь, так что они имеют возможность обрабатывать полученные сообщения. Метод action() должен быть изменен следующим образом.

public void action() {

ACLMessage msg = myAgent.receive(); // import jade.lang.acl.ACLMessage;

if (msg != null) {

// Сообщение принято. Обработка.

…………

}

else {

block();

}

}

Приведенный выше код типичный (и настоятельно рекомендуемый) шаблон приема сообщений внутри поведения.
1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа...
Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная...
Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №2 Разработка цифровой системы фильтрации сигнала. Цель работы
Цель работы: разработка собственной системы обработки сигнала, реализующей ких-фильтрацию, на базе типового аппаратного и программного...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Методические указания для студентов по выполнению лабораторных работ...
Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Конспект лекций по дисциплине системы обработки экономической информации...
Понятие информационная потребность тесно связано с понятием цели и функции управления. Можно сказать, что потребность в информации...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Курс лекций Преподаватель Бондаренко А. А. Рыбинск 2001
Типовая информационная технология сбора, передачи, обработки и выдачи информации в централизованных системах обработки данных 17
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №10. Изучение принципа действия и функциональной...
Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №1 «Создание общих ресурсов и управление ими»
Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование»
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №
Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №7 «Подготовка и проведение тестирования»
Изучить методы подготовки и проведения тестирования и получить навыки создания и выполнения тестов в среде ms visual Studio для приложений...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №4 Тема: Программирование обработки на станке
Цель: Изучить наладку станка на обработку детали (согласно заданному варианту). Изучить управляющие программы для обработки призматических...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Элективный курс «Разработка приложений для баз данных в среде объектно-ориентированного...
Гбоу «Губернаторский многопрофильный лицей-интернат для одаренных детей Оренбуржья»
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Самостоятельная работа студентов (срс)
В курсе рассматриваются различные подходы и технологии автоматизированного решения задач кадрового учета, изучаются некоторые распространенные...
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №1
Целью работы является изучение технологии построения модели процесса в нотации bpmn 0 с использованием
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Разработка формализованного описания процессов сбора, обработки и...
Данная работа посвящена разработке формализованного описания Банковских процессов средствами uml
Курс: «Технологии обработки информации». Лабораторная работа № Разработка jade агентов, в интегрированной среде eclipse icon Лабораторная работа №27 Лабораторная работа №28 Контрольные работы...
Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов»

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск