Подписка на RSS-ленту
Здесь знают,
Что такое Semantic Web
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Оцените cтатью!!!

Работа с в : Создание первого агента!

Автор: Алексей Скороходов

Для создания агента как видно из названия нам понадобится JADE, eclipse и jdk.
После того, как все это извлечено из архивов и установлено, мы можем создать своего первого агента на платформе (Java Agent DEvelopment Framework). Не будем нарушать традиции и первым нашим агентом будет агент «HelloWorld».

Сначала необходимо создать Java-проект нашего агента в среде и подключить к этому проекту (см. Рис 1.)

Мастер создания JAVA проекта

Рисунок 1.

Далее, в полученном проекте в папке src создаем Package c именем «hello». Теперь пришла очередь создать class с именем «HelloWorld» .

Ну и наконец код агента. В нашем случае он будет выглядеть так:


package hello;

import .core.Agent;

public class HelloWorld extends Agent
{
public void setup()
{
System.out.println(”Hello Yuhana, my name is : ” +getAID().getName());
}
}

Теперь необходимо подключить (рис. 2 и 3).

Мастер создания JAVA проекта

Рисунок 2.

Кликаем на кнопку с именем «Add External JARs» и указываем путь к библиотекам , в моем случае это «D:\diplom\stop\bin\\lib».
Результат наших действий:

Add External JARs JADE

Рисунок 3.

Перед тем как запустить нашего агента необходимо настроить параметры запуска проекта. Это можно сделать выбрав в выпадающем меню «Open Run Dialog», как показано на рис. 4.

Open Run Dialog

Рисунок 4.

Далее, необходимо для «Java Application» создать новую конфигурацию. Во вкладке «Main» присвоим имя нашей конфигурации «test_agents». В «Main class» при нажатии кнопки «» выбираем «Boot — » и ставил «галочку» в «Include system libraries when searching for a main class» (см. Рис. 5 ).

Выполнение Агента

Рисунок 5.

Далее, во вкладке «Arguments» в «Program argument» добавляем строку «-gui .Boot test:hello.HelloWorld»!!!

Ну вот и все, запускаем и получаем агента, выполнившего элементарное действие:

Выполнение Агента

Рисунок 6.

Понравилась статья, подписаться на новости можно здесь!

Популярность: 46%

Версия для печати Версия для печати

Постоянная ссылка: http://shcherbak.net/jadeeclipse/

Отзывов (4) на

Работа с JADE в Eclipse: Создание первого агента!

  • Elina |

    Здравствуйте! Я сделала все так, как Вы описали. После запуска получаю следующую ошибку:

    17.06.2008 22:34:16 jade.core.Runtime beginContainer
    INFO: ———————————-
    This is JADE 3.6 - revision 6032 of 2008/05/05 14:07:10
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
    —————————————-
    17.06.2008 22:34:17 jade.core.AgentContainerImpl joinPlatform
    SCHWERWIEGEND: Some problem occurred while joining agent platform.
    jade.core.ProfileException: Can’t get a proxy to the Platform Manager [nested jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]]
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:574)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:275)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    java.rmi.AlreadyBoundException: ServiceManager
    at sun.rmi.registry.RegistryImpl.bind(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
    at java.rmi.Naming.bind(Unknown Source)
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:224)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    17.06.2008 22:34:17 jade.core.Runtime$1 run
    INFO: JADE is closing down now.

    Не подскажите ли, где может быть ошибка?
    С уважением
    Elina

  • SHCHERBAK (130) |

    Ошибку выдает Eclipse какой версии?
    КАкая платформа (win, lin)? какая версия java машины используется?

  • Alex |

    Эта проблема возникает когда у вашего компьютера не назначено ip — адреса. Что бы все заработало я знаю два способа:
    1 Это руками присвоить ip — адрес (Не наш способ которым я какое то время пользовался ))))
    2 Это к строке «-gui jade.Boot test:hello.HelloWorld» добвать «-detect-main false» и в итоге получим «-detect-main false -gui jade.Boot test:hello.HelloWorld».
    Надеюсь что помог. Спасибо вам, за то что используете то что я написал (приятно )))))
    Извините что так поздно ответил новую работу искал )))

  • SHCHERBAK (130) |

    :grin:

У вас есть мнение? Оставьте свой отзыв:

Вы должны войти, чтобы оставлять комментарии.