Hi,
I'm pleased to announce the birth of "agent-K". I am waiting for
feedback from Y.Shoham before releasing the alpha version, but here's a
taster of it,
attached should be c3po.pl and c3po.log (it interacting with r2d2).
I apologise if the log file comes out oddly - my Mac editor doesn't like
Unix typescripts :-).
FTP access to the sources and a Tech Report should be forthcoming ASAP.
Cheers,
Winton
--========================_6372196==_
Content-Type: text/plain; name="c3po.pl"; charset="us-ascii"
Content-Disposition: attachment; filename="c3po.pl"
:-
assert((who_am_i(c3po))),
assert(can(_,kqml(_,_))),
assert(can(_,do(_,_))),
assert(can(_,initialise_agent(_))),
assert(can(_,add_friend(_,_))),
assert(can(_,refrain(_,_,_))),
assert(can(_,believe(_))),
assert(can(_,say(_))).
say(X) :- nl,write('EXCUSE ME SIR! > '),log(X),nl.
/**** Initiliase Agent rules ****/
commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
do(Now,initialise_agent('tcp://condor:9002'))).
commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
do(Now,add_friend(r2d2,'tcp://condor:9001'))).
commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
believe([Now,good('Hans Solo')])).
commit([nil],
[clock(Now),b([Now,not(alive(c3po))])],
nil,
believe([Now,alive(c3po)])).
/**** Poll other agents until they are alive (wasteful!) ****/
commit([nil],
[clock(Now),b([Now,not(alive(r2d2))])],
nil,
kqml(Now,['ask-all',sender(c3po),receiver(r2d2),
content(b([Now,alive(r2d2)])),language(prolog)])).
/***** Once alive, then 'ask-all' who's a good guy ****/
commit([nil],
[clock(Now),b([Now,alive(r2d2)]),b([Now,not(wait_reply)])],
nil,
kqml(Now,['ask-all',sender(c3po),receiver(r2d2),content(b([Now,good(_A)])),l
anguage(prolog)])).
/**** But only once ... ****/
commit([nil],
[clock(Now),b([Now,alive(r2d2)]),b([Now,not(wait_reply)])],
nil,
believe([Now,wait_reply])).
/**** If 'ask-all'ed something then reply *****/
commit(['ask-all',content(b([T,F]))],
[clock(Now),b([T,F])] ,
S,
kqml(Now,[reply,receiver(S),sender(c3po),content(b([T,F])),language(prolog)]
)).
/*** If replied to then believe it *****/
commit([reply,content(b([T,F]))],
[],
_,
believe([T,F])).
/**** If replied to then say it. ****/
commit(
[reply,content(b([T,F]))],
[clock(Now)],
S,
do(Now,say(['Ive been told ',[T,F], ' from ',S]))).
--========================_6372196==_
Content-Type: text/plain; name="c3po.log.2"; charset="us-ascii"
Content-Disposition: attachment; filename="c3po.log.2"
Script started on Mon Sep 26 17:58:10 1994
[17:58]~/aop% prolog +l agentk.pl c3po log 20
Envoking agent command:log
Envoking agent command:20
***************************** 5:58:23 PM 26-Sep-94 ****************************
getActiveURL: No incoming transports active.
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do.
=> do([8,26,94,17,58,23],initialise_agent('tcp://condor:9002')).
2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do.
=> do([8,26,94,17,58,23],add_friend(r2d2,'tcp://condor:9001')).
3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe.
=> believe([[8,26,94,17,58,23],good('Hans Solo')]).
4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe.
=> believe([[8,26,94,17,58,23],alive(c3po)]).
5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.
=> kqml([8,26,94,17,58,23],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,23],alive(r2d2)])),language(prolog)]).
6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
['SetUp:',2]. ['Listen:',1].
['Friend:',r2d2,'tcp://condor:9001','Status:',1].
TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,23],alive(r2d2)]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:24 PM 26-Sep-94 ****************************
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.
=> kqml([8,26,94,17,58,24],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,24],alive(r2d2)])),language(prolog)]).
6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,24],alive(r2d2)]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:25 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,23],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,24],alive(c3po)]).)
----------------------------------------------------------------------------
---
[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,23],alive(r2d2) ])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.
=> believe([[8,26,94,17,58,23],alive(r2d2)]).
10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
=> do([8,26,94,17,58,25],say(['Ive been told ',[[8,26,94,17,58,23],alive(r2d2)],' from ',r2d2])).
----------------------------------------------------------------------------
---
['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,24],alive(c 3po)])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.
=> kqml([8,26,94,17,58,25],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,24],alive(c3po)])),language(prolog)]).
9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml.
=> kqml([8,26,94,17,58,25],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,25],alive(r2d2)])),language(prolog)]).
6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml. 7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,23],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,24],alive(c3po)]).) TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,25],alive(r2d2)]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:26 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,24],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,25],alive(c3po)]).)
----------------------------------------------------------------------------
---
[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,24],alive(r2d2) ])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.
=> believe([[8,26,94,17,58,24],alive(r2d2)]).
10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
=> do([8,26,94,17,58,26],say(['Ive been told ',[[8,26,94,17,58,24],alive(r2d2)],' from ',r2d2])).
----------------------------------------------------------------------------
---
['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,25],alive(c 3po)])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.
=> kqml([8,26,94,17,58,26],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,25],alive(c3po)])),language(prolog)]).
9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
=> kqml([8,26,94,17,58,26],['ask-all',sender(c3po),receiver(r2d2),content(b([[8 ,26,94,17,58,26],good(A)])),language(prolog)]).
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe.
=> believe([[8,26,94,17,58,26],wait_reply]).
8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,24],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,25],alive(c3po)]).) TCPsend sending: (ask-all :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,26],good(A)]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:27 PM 26-Sep-94 **************************** TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,25],alive(r2d2)]).) TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,26],alive(c3po)]).)
----------------------------------------------------------------------------
---
[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,25],alive(r2d2) ])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.
=> believe([[8,26,94,17,58,25],alive(r2d2)]).
10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
=> do([8,26,94,17,58,27],say(['Ive been told ',[[8,26,94,17,58,25],alive(r2d2)],' from ',r2d2])).
----------------------------------------------------------------------------
---
['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,26],alive(c 3po)])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.
=> kqml([8,26,94,17,58,27],[reply,receiver(r2d2),sender(c3po),content(b([[8,26,94,17,58,26],alive(c3po)])),language(prolog)]).
9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,25],alive(r2d2)],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,26],alive(c3po)]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:28 PM 26-Sep-94 ****************************
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:31 PM 26-Sep-94 ****************************
TCPrecv receiving: (reply :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,26],good('Princess Leia')]).)
TCPrecv receiving: (ask-all :receiver c3po :sender r2d2 :language prolog :content b([[8,26,94,17,58,27],good(A)]).)
----------------------------------------------------------------------------
---
[reply,receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,26],good('Princess Leia')])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe.
=> believe([[8,26,94,17,58,26],good('Princess Leia')]).
10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
=> do([8,26,94,17,58,31],say(['Ive been told ',[[8,26,94,17,58,26],good('Princess Leia')],' from ',r2d2])).
----------------------------------------------------------------------------
---
['ask-all',receiver(c3po),sender(r2d2),content(b([[8,26,94,17,58,27],good(A) ])),language(prolog)].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml.
=> kqml([8,26,94,17,58,31],[reply,receiver(r2d2),sender(c3po),content(b([[8,26, 94,17,58,27],good('Hans Solo')])),language(prolog)]).
9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
EXCUSE ME SIR! > ['Ive been told ',[[8,26,94,17,58,26],good('Princess Leia')],' from ',r2d2]. TCPsend sending: (reply :receiver r2d2 :sender c3po :language prolog :content b([[8,26,94,17,58,27],good('Hans Solo')]).)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
***************************** 5:58:38 PM 26-Sep-94 ****************************
----------------------------------------------------------------------------
---
[nil].
1. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 2. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => do. 3. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 4. [[nil],[clock(A),b([A,not(alive(c3po))])]]. => believe. 5. [[nil],[clock(A),b([A,not(alive(r2d2))])]]. => kqml. 6. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => kqml.
7. [[nil],[clock(A),b([A,alive(r2d2)]),b([A,not(wait_reply)])]]. => believe. 8. [['ask-all',content(b([A,B]))],[clock(C),b([A,B])]]. => kqml. 9. [[reply,content(b([A,B]))],[]]. => believe. 10. [[reply,content(b([A,B]))],[clock(C)]]. => do.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++
--========================_6372196==_--