Gevalstudie Mobiele Multi- Agent Systemen CBorg Werner Van Belle Vrije Universiteit Brussel
Mobiele Multi Agents Actieve software component die in staat is te communiceren met andere agents en die kan migreren tussen verschillende machines. Warning – user interface agents – intelligent agents Agentsysteem
Mobiel Multi-Agent Systeem Is de taal/library die mobiele multi agents ondersteund –communicatie –migratie –routering –processcontrole –veiligheid Agentsysteem
Borg Extentie van Pico: –“Scheme with Objects” –Prototype gebasseerde taal –Garbage Collection –Multi Threading –Educatief Agentsysteem
Example createpoint(x,y):: { printx()::display(x); printy()::display(y); setx(nx)::x:=nx; sety(ny)::y:=ny; clone() } a:createpoint(1,2); a.printx();
Borg Agent Code Space Data Space –runtime stack –object graph Enkele Thread Communicatie Q Agentsysteem
Communicatie Remote Object Calling Asynchroon Call by deep value/Serialisatie. ( ) Agentsysteem
Migratie Looping model –Agent stopt zelf zijn uitvoering en wordt dan herstart –Enkel de agent kan zichzelf verplaatsen Telescripting –De agent, inclusief state, kan worden stil gelegd –Manager agents worden mogelijk –Mobiliteit is exploiteerbaar Agentsysteem
Migratie Telescripting Remote Connecties blijven geldig Serialisatie/Deserialisatie agentmove( ).agentmove( ) Agentsysteem
Example a:remotedict(“tecra/ses2”); createcb():: {detanswer(welk):: display(welk); clone()}; cb:createcb(); a.calcdet([[1,8],[5,6]],cb) a.calcdet([[1,28],[4,96]],cb) t:remotedict(“duh.tecra”) calcdet(matrx,cb):: {… agentmove(t); cb.detanswer(matrx) } tecra/ses2tecra/ses1 Agentsysteem
Environments, Dictionaries Method Invocatie Frame allocatie op Runtime stack De frame noemen we DICTIONARY (DCT) R EMOTE Dictionaries (RDC)
Serialisatie Messages RDC DCT RDC DCT RDC FromNetworkTo Agentsysteem
Serialisatie Agents RDC _GLOBAL_ RDC _GLOBAL_ FromNetworkTo 0DCT DCT Agentsysteem
Routering Verandert zijn naam automatisch ? Name lookup nodig ? Hoe agents bereiken ? Verandert een agent zijn adres na migratie ? User Intervention JN JN
Location Transparency Adres van een agent wijzigt niet na migratie Migratie moet minimale performantie impact hebben Adres moet zelf te kiezen zijn
Solution tecr.a sub1.tecr.a sub2.tecr.a sub3.a a sub1.tecr.a/ses1 sub1.tecr.a/ses2 sub2.tecr.a/ses1 sub2.tecr.a/ses2 Hoe sub1.tecr.a/ses1 migreren naar sub2.tecr.a ?
Solution tecr.a sub1.tecr.a sub2.tecr.a sub3.a a sub1.tecr.a/ses1 sub1.tecr.a/ses2 sub2.tecr.a/ses1 sub2.tecr.a/ses2 sub1.tecr.a/ses1
Solution tecr.a sub1.tecr.a sub2.tecr.a sub3.a a sub1.tecr.a/ses1 sub1.tecr.a/ses2 sub2.tecr.a/ses1 sub2.tecr.a/ses2 sub1.tecr.a/ses1 Wat als we sub1.tecr.a/ses1 migreren naar sub3.a ?
Solution tecr.a sub1.tecr.a sub2.tecra sub3.a a sub1.tecr.a/ses1 sub1.tecr.a/ses2 sub2.tecr.a/ses1 sub2.tecr.a/ses2 sub1.tecr.a/ses1
Solution tecr.a sub1.tecr.a sub2.tecra sub3.a a sub1.tecr.a/ses1 sub1.tecr.a/ses2 sub2.tecr.a/ses1 sub2.tecr.a/ses2 sub1.tecr.a/ses1