Syncrhonous and Asynchronous calls

Todd Wright twright at bbn.com
Thu Nov 15 14:43:36 EST 2007


Morgan Duchène wrote:
> I have downloaded the latest release of Cougaar. It seems like all 
> designs have not been coded in the Mandelbrot example.

Right, only the first three examples have been implemented.

> Is there a plan to add them

Yes, I'd like to implement the remaining examples but it's been a low priority. 
  I plan to implement them sometime early next year, ideally in time for the 
12.6 release.

> or did you consider they were part of other tutorials?

The distributed example (design 6) is similar to the ping demo, which is 
included in the Cougaar release as:
   demo-ping.zip

> Because this is a very good tutorial and nice to have it explicitly 
> explain all designs.

Thanks.

> On the other hand, we could probably help to add them.

Thanks for the offer.  My guess is that it'd be easier for me to implement the 
remaining examples, but I'm sure you could help with a similar tutorial.

For example, it'd be great to have a UI tutorial that illustrates the same 
basic application implemented different ways.  The application could be a 
simple blackboard object counter that displays a table of classname to count, e.g.:
   CLASSNAME, COUNT
   Relay, 1234
   Task, 234
   Asset, 4321
   ...
and implement several different designs:
   1) HTML page
   2) HTML + AJAX
   3) Applet (embedded Swing JTable, talks to Servlet)
   4) Google Web Toolkit (embedded GWT widgets, talks to Servlet)
   5) Swing GUI (stand-alone application, talks to Servlet via URLConnection)
   6) SOAP client (talks to Cougaar WebServicesService "webaxis" plugin)
The existing Cougaar demos only illustrate simple HTML pages.

Similarly, it'd be very interesting to see a UI example where Google Maps 
and/or Google Earth talks to a Cougaar servlet.  The servlet would generate KML 
data for Google's Map API to display.

Todd
> 
> Thanks,
> Morgan
> 
> Todd Wright a écrit :
>>
>> This design issue is discussed in the "Mandelbrot" demo:
>>   http://cougaar.org/docman/view.php/17/201/cougaar_mandelbrot.ppt
>>
>> The code is included in the Cougaar 12.4 release, in:
>>   demo-mandelbrot.zip
>>
>> Three design options are discussed:
>>
>>   v1) Servlet is self-contained
>>
>>   v2) Servlet invokes a synchronous Service, e.g. a service advertised
>>       by another plugin.
>>
>>   v3) Servlet publishes a blackboard "Job" request and waits for a
>>       synchronized "notify()" event or subscription change.
>>
>> Similar to design v3, your servlet could publish a blackboard request 
>> and then poll the blackboard for the result, or have the client poll 
>> the servlet. Polling is easy to implement but can be inefficient.
>>
>> Todd
>>
>> Morgan Duchène wrote:
>>> Hi,
>>>
>>> I have a basic architecture question about the development model with 
>>> Cougaar.
>>> * Developments with Cougaar and plugins are based on blackboard 
>>> registrations to events (objects, tasks, ...). So it is an 
>>> asynchronous model where plugins are awaken when new events they are 
>>> interested in are published.
>>> * Cougaar also offers to interact with "the outside world" with 
>>> servlets to receive commands for example. When a browser sends a 
>>> requests for a page to and http server, it's a synchronous call as it 
>>> waits for the answer.
>>>
>>> So my simple question it this one: if we don't have the data 
>>> available on the blackboard as the servlet is sending the search 
>>> parameters (database, files, ...), what is the best way to have 
>>> plugins give the answer to the servlet?
>>>
>>> Thanks,
>>> Morgan
>>>
>>> _______________________________________________
>>> Cougaar-developers mailing list
>>> Cougaar-developers at cougaar.org
>>> http://cougaar.org/mailman/listinfo/cougaar-developers
>>>
>>
>>
>> __________ NOD32 2658 (20071114) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
> 
> 
> 



More information about the Cougaar-developers mailing list