Присоединение действия к сервису в JADE

Я новичок в разработке мультиагентных систем в JADE, читал туториалы по этому поводу, но все равно есть сомнения, в каждом туториале показано как зарегистрироваться или как искать сервис в DF, для чего Я знаю, что услуга должна быть действием, верно? Если агент предлагает набор услуг, должен быть способ, чтобы, когда другие агенты запрашивают одну из услуг, я выполнял некоторый код для запрошенной услуги. У меня есть список методов, связанных со службой, но в JADE:

  1. как мне запрограммировать действие службы?
  2. как я вызываю методы, связанные с сервисом?

Спасибо!


person Sredny M Casanova    schedule 05.10.2015    source источник


Ответы (1)


Если я правильно понимаю, вы спрашиваете, как познакомиться с той или иной услугой и использовать ее? Например, пример Book-Trading в наборе примеров jade. Продавец книг, когда он регистрируется в DF, устанавливает его как sd.setType("Book-selling"), и когда покупателю книг нужно найти некоторых продавцов, он снова выполняет поиск с помощью // Обновляем список агентов-продавцов

DFAgentDescription template = new DFAgentDescription();
    ServiceDescription sd = new ServiceDescription();
    sd.setType("Book-selling");
    template.addServices(sd);
    try {
      DFAgentDescription[] result = DFService.search(myAgent, template);

Таким образом, только те службы, которые соответствуют указанному шаблону, смогут предлагать свои услуги агенту по закупке книг. Поэтому вам нужно будет зарегистрировать конкретную службу в DF, чтобы ее могли видеть другие агенты, которые могут их использовать.

person Ameerah Khan    schedule 15.10.2015
comment
Нет, я успешно зарегистрировал сервис, все дело в том, куда мне вводить сервисный код? Например, агент, который предлагает услуги ServiceA и ServiceB, где я должен программировать логику каждой услуги? Каждая служба работает как поведение? Спасибо! - person Sredny M Casanova; 16.10.2015