1

Тема: JADE + Eclipse

Приветствую всех.
Изучаю JADE, решил создать двух агентов и создать взаимодействие между ними как показано в примере http://shcherbak.net/rabota-s-jade-v-ec … a-chast-2/
Запустив программу я увидел нужный результат в консоле. Однако агент сниффер у меня почему-то работает некорректно. Не так как показано на рисунке http://shcherbak.net/resources/5/2_jade … ak_net.png
Т.е. связи между агентами не отображаются.
С чем это может быть связано и как решить данную проблему?

Thumbs up Thumbs down

2

Re: JADE + Eclipse

Claviger пишет:

Приветствую всех.
Изучаю JADE, решил создать двух агентов и создать взаимодействие между ними как показано в примере http://shcherbak.net/rabota-s-jade-v-ec … a-chast-2/
Запустив программу я увидел нужный результат в консоле. Однако агент сниффер у меня почему-то работает некорректно. Не так как показано на рисунке http://shcherbak.net/resources/5/2_jade … ak_net.png
Т.е. связи между агентами не отображаются.
С чем это может быть связано и как решить данную проблему?

Если для сниффера были выбраны все взаимодействующие агенты, и сниффер был запущен до того, как агенты были остановлены, то проблем быть не должно.
Если проблема осталась, приаттачьте, пожалуйста, скриншот сниффера, в этом случае можно будет сказать точнее.

Thumbs up +1 Thumbs down

3

Re: JADE + Eclipse

Аналогичная проблема с айпишником. Решение было предложено здесь, путем добавления в строку аргументов:

-detect-main false

После запуска появляется следующее:
Agent container Main-Container@microsof-7178ff is ready.

И на этом выполнение заканчивается, а повторный запуск приводит к:
16.04.2011 23:43:47 jade.core.Runtime beginContainer
INFO: ----------------------------------
    This is JADE 3.7 - revision 6154 of 2009/07/01 17:34:15
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
----------------------------------------
16.04.2011 23:43:47 jade.core.AgentContainerImpl joinPlatform
SEVERE: 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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(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:276)
    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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
16.04.2011 23:43:47 jade.core.Runtime$1 run
INFO: JADE is closing down now.

Только начал разбираться с мультиагентными технологиями. Связка Eclipse + jade.
OS Windows XP, JDK 6.24, Jade 3.7.

P.S. как спрятать текст под спойлер?

Отредактировано still1st (2011-04-17 06:55:53)

Thumbs up Thumbs down

4

Re: JADE + Eclipse

По стектрейсу похоже, что вы два раза запустили Platform Manager, или у вас что-то еще подключается к RMI.
Вы пробовали убить java-процессы, перезапустить компьютер или что-то в этом роде?

still1st пишет:

Аналогичная проблема с айпишником. Решение было предложено здесь, путем добавления в строку аргументов:

-detect-main false

После запуска появляется следующее:
Agent container Main-Container@microsof-7178ff is ready.

И на этом выполнение заканчивается, а повторный запуск приводит к:
16.04.2011 23:43:47 jade.core.Runtime beginContainer
INFO: ----------------------------------
    This is JADE 3.7 - revision 6154 of 2009/07/01 17:34:15
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
----------------------------------------
16.04.2011 23:43:47 jade.core.AgentContainerImpl joinPlatform
SEVERE: 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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(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:276)
    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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(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:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.<init>(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
16.04.2011 23:43:47 jade.core.Runtime$1 run
INFO: JADE is closing down now.

Только начал разбираться с мультиагентными технологиями. Связка Eclipse + jade.
OS Windows XP, JDK 6.24, Jade 3.7.

P.S. как спрятать текст под спойлер?

Thumbs up Thumbs down

5

Re: JADE + Eclipse

Я так понял, что данная проблема возникает из-за повторного запуска. То есть при первом запуске проекта, можно писать хоть:

-gui test:package.Agent_A

Все запускается отлично. Но стоит закрыть гуй Jade, как при следующем запуске возникает то, что было описано в предыдущем посте. Каким образом можно безболезненно закрыть гуй Jade, чтобы не возникало проблем при последующих запусках?

Thumbs up Thumbs down

6

Re: JADE + Eclipse

В эклипс при остановке запущенного приложения процесс должен убиваться. При закрытии самого юзер-интерфейса JADE -- тоже.
Хотя я пользуюсь другим IDE, но простая остановка в любом случае должна помочь. Причем само оно не остановится -- нужно позакрывать все активное перед тем как запускать еще раз.

still1st пишет:

Я так понял, что данная проблема возникает из-за повторного запуска. То есть при первом запуске проекта, можно писать хоть:

-gui test:package.Agent_A

Все запускается отлично. Но стоит закрыть гуй Jade, как при следующем запуске возникает то, что было описано в предыдущем посте. Каким образом можно безболезненно закрыть гуй Jade, чтобы не возникало проблем при последующих запусках?

Thumbs up +1 Thumbs down