--- Philip Goetz <[EMAIL PROTECTED]> wrote:

> Wilbur Peng & I developed a set of standards for 
> AGI components, called MAGIC, that was intended to
> form the foundation of an open-source AGI effort.
[snip]
> - the programs will be written in a modular fashion

>- the programs will be agent-based, meaning
>  - many modules have their own threads
>  - communication between these modules happens only
>    by message-passing, never by procedure call
>    - there are provisions for procedure calls to
>      library functions, as long as restrictions
>      related to permissions and co-location on the
>      same machine are observed

> - every component will be annotated using XML to
>   describe what it does and what assumptions it
>   makes, as well as what messages it sends and
>   accepts (more specifically, what protocols it
>   adheres to, where protocols are re-useable
>   objects that describe the messages every agent
>   in a protocol can send and receive)

Its an interesting coincidence that my java framework
has very similar interfaces.  I implemented a
mechanism for building a James Albus style
hierarchical control network as suggested to me by 
Ben a few years ago.  Because message passing between
nodes had a maximum speed of about 18,000 messages per
second, I also implemented an alternative form of
message passing within a single Java virtual machine,
in which the sending thread actually performs the
message handing process in the receiving node via an
ordinary method call.  According to the Albus model,
each level lower in the control hierarchy processes
commands and perceptions at ten times the speed of the
superior level.  Another issue was suspended threads
after sending a message to another node.  I avoided
many of these at the higher control levels, where
events can last for a day or more, by a
psuedo-conversational mechanism in which the message
contains a UUID (universally unique identifier) that
the recipient includes in the reply message, and which
allows the restoration of task state in a new thread. 
 By the way I also use a thread pool.

I like the message passing, service oriented
architecture (SOA) approach within the Albus model. 
My experiments to date have been within one JVM but I
plan to use Jabber as the scalable transport between
JVMs on a distributed network.

Thanks to everyone for their input.  The GPL seems to
have the most support so that's what I'll plan for.  

Cheers.  
-Steve

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-------
To unsubscribe, change your address, or temporarily deactivate your 
subscription, 
please go to http://v2.listbox.com/member/[EMAIL PROTECTED]

Reply via email to