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


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

Поведение запросов на примере торговли книгами


Имея описание основных типов поведения, давайте теперь перейдём к анализу поведений, который должен быть проведён на агенте Book-buyer и агенте Book-seller нашего примера торговли книгами.
  1. Поведения агента Book-buyer


Как описано ранее, агент Book-buyer периодически запрашивает у агента продавца книгу, которую ему было поручено купить. Мы можем легко достичь этого с помощью TickerBehaviour так, что каждый "тик", добавляет другое поведение, которое фактически делает запрос к агенту продавцу. Вот как метод setup() нашего класса BookBuyerAgent может быть изменен.
package ru.agentlab;

import jade.core.Agent;

import jade.core.AID;
public class BookBuyerAgent extends Agent {

private static final long serialVersionUID = 8257866411543354399L;

// Название покупаемой книги

private String targetBookTitle;

// Лист известных агентов-продавцов

private AID[] sellerAgents = {new AID("seller1", AID.ISLOCALNAME),

new AID("seller2", AID.ISLOCALNAME)

};

// Тут инициализация агента

protected void setup() {

// Выводим приветствие

System.out.println("Привет! Агент-покупатель"+getAID().getName()+"готов.");

//Получение названия покупаемой книги как аргумент при старте

Object[] args = getArguments();

if (args != null && args.length > 0) {

targetBookTitle = (String) args[0];

System.out.println("Target book is "+targetBookTitle);

// Добавляем TickerBehaviour где планируется запрос агенту продавцу каждую минуту

addBehaviour(new TickerBehaviour(this, 60000) {

protected void onTick() {

// Выполнение запроса

myAgent.addBehaviour(new RequestPerformer());

}

} );

}

else {

// Завершение выполнения агента немедлено

System.out.println("Нет заданой книги");

doDelete();

}

}

// Очищающие операции агента здесь

protected void takeDown() {

// Вывод завершающего сообщения

System.out.println("Агент-покупатель "+getAID().getName()+" завершает свою работу.");

}

}
Обратите внимание на использование защищённой переменной myAgent: каждое поведение имеет указатель на агента, который его исполняет.

Поведение RequestPerformer, фактически работающее с запросом к агенту продавцу, будет описано далее, где мы будем обсуждать агентное взаимодействие.
  1. Поведения агента Book-seller


Как описано ранее, каждый агент Book-seller ожидает запрос от агента покупателя и обслуживает их. Эти запросы могут быть запросом о представлении предложения на книгу и запросом заказов. Возможности дизайна для достижения этого заключается в том, чтобы сделать агенту Book-seller выполнение двух циклических поведений: одно выделено под обслуживание запросов на предложение, а другое выделено обслуживать заказы. Как на самом деле обнаруживаются и обслуживаются входящие запросы от агентов покупателей описано далее в разделе 3, где мы будем обсуждать агента коммуникации. Кроме того, мы должны сделать агенту Book-seller выполнение одноразового поведения, обновляющего каталог книг, доступных для продажи в тех случаях, когда пользователь добавляет новую книгу из GUI. Вот как класс BookSellerAgent может быть реализован (классы OfferRequestsServer и PurchaseOrdersServer будут изложены в главе 3).
package ru.agentlab;

import jade.core.Agent;

import jade.core. behaviours.*;
import java.util.*;
public class BookSellerAgent extends Agent {

// Каталог книг на продажу (карта названий книг и их цен)

private Hashtable catalogue;

// GUI, с помощью которого пользователь может добавлять книги в каталог

private BookSellerGui myGui;

// Ставим здесь инициализацию агента

protected void setup() {

// Выводим приветствие

System.out.println("Привет! Агент-продавец "+getAID().getName()+"готов.");

// Создание каталога

catalogue = new Hashtable();

//Создаём и показываем GUI

myGui = new BookSellerGui(this);

myGui.showGui();



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

addBehaviour(new OfferRequestsServer());

//Добавляем поведение обслуживающее запросы на заказ от агентов покупателей

addBehaviour(new PurchaseOrdersServer());

}

//Вставляем чистящие операции агента

protected void takeDown() {

// Закрываем GUI

myGui.dispose();

// Вывод на экран сообщения о завершении

System.out.println("Seller-agent "+getAID().getName()+" terminating.");

}

// Этот метод вызывается графическим интерфейсом, когда пользователь добавляет

// новую книгу на продажу

public void updateCatalogue(final String title, final int price) {

addBehaviour(new OneShotBehaviour() {

public void action() {

catalogue. put(title, new Integer(price) );

System.out.println(title+" добавлен в каталог. Цена = "+price);

}

} );

}

Класс BookSellerGui простой Swing GUI и не описан здесь, поскольку это выходит за рамки этого руководства. Его код приведен в приложении 1.

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
Поиск