Roles in servicediscovery

Noelle Givler ngivler at bbn.com
Tue May 20 14:53:25 EDT 2008


Hi, Christian.

I assume you've already looked  at the pizza tutorial. ( 
http://cougaar.org/projects/tutorials/ ). That's a very straightforward 
example of cougaar service discovery. I'm going to use the pizza 
tutorial as the context for my answers below.

CommercialServiceScheme-yp.xml and the service profiles define the set 
of services registered for a given agent within the yellow pages. The 
README file in tutorials/pizza/data/serviceprofiles discusses how to add 
a new service (i.e. IceCreamProvider) and how to add an new provider 
(i.e. Pizzahut).

SDPizzaNode1.xml and SDPizzaNode2.xml in 
tutorials/pizza/configs/pizzaparty are well commented examples of 
society .xml files. They illustrate how to define nodes and agents. In 
addition,  you can find information on how the plugins within the agents 
are configured to support service discovery.

Within the cougaar agents, the service functionality is modeled by 
plugins. 
tutorials/tutorials/pizza/src/org/cougaar/pizza/plugin/package.html 
discusses how the plugins use service discovery to find a PizzaProvider. 
For service discovery to work correctly in the simple service discovery 
case demonstrated by the pizza tutorial,  Role.getName() (in the 
org.cougaar.planning.ldm.plan.Role sense) must match the string used to 
define the service in CommercialServiceScheme-yp.xml and the the service 
profiles. Hence the addition of the PIZZAPROVIDER and  PIZZACONSUMER 
Roles defined on org.cougaar.pizza.Constants.  Section 3.2.9 of the 
Cougaar Developers Guide discusses Service Discovery in greater detail.

If you have additional questions, it would be helpful if you could also 
provide some background on the problem you wish to solve.

Thanks,
Noelle Givler

Subject:
Re: Question Cougaar, mailing list not working
From:
Todd Wright <twright at bbn.com>
Date:
Thu, 15 May 2008 11:06:04 -0400

To:
Christian Bernardt <crossfire2003 at gmx.de>, 
christian.bernardt at googlemail.com
CC:
Aaron Helsinger <ahelsing at bbn.com>



I've cc'ed Aaron.  I don't know much about the YP, so hopefully Aaron 
can answer your questions.

Also, try sending your email to mailing list again.  It was down for 
several weeks but I think we've fixed it.

Todd

Christian Bernardt wrote:
> Hi Todd,
>
> I have a question concerning the cougaar yellow page service. I hope 
> you find the time to answer it.
> I am a little confused about the definition of roles. There are, as 
> far as I know, 4 places where one can find a role definition:
>
>     * CommercialServiceScheme-yp.xml
>     * the society xml, when creating the self-entity
>     * the serviceprofile owls
>     * Constants Class
>
> Which of the places, where I can find the role names are essential to 
> get the yellow page service working?
> Could you please explain a bit, what exactly is e.g. done in the 
> Constants class, which I do not fully understand and therefore can not 
> really adapt it to my problem.
> I know, that the pizza example creates complementary roles, provider 
> vs. customer, but what does the creation of the relationship type in 
> Constants do? and is it essential for the yellow page service?
>
> I hope you find the time to elaborate a little more on the concept.
>
> Yours sincerely,
>
> Christian Bernardt
>
>





More information about the Cougaar-developers mailing list