Tikkertje spelen

Als onderdeel van het vak Programming of Interactive Systems aan de KTH in Stockholm implementeerde ik het tikkertje spelen van software agents. Die agents, feitelijk niets anders dan autonoom beslissingen nemende software, konden zichzelf verhuizen tussen Java Virtual Machines. Dat wil zeggen dat de platformen die de code uitvoeren niet vast staan, maar dat de software zelf kan kiezen te verhuizen naar een ander platform. Kortom, de software agent kan besluiten elders verder te gaan als de huidige locatie minder geschikt is, bijvoorbeeld omdat de agent die `het’ is ook op die locatie aanwezig is. In dit geval zie je dus agents (de gekleurde rondjes) verhuizen tussen de virtual machines (vensters), achterna gejaagd door `het’ welke te herkennen is aan een extra rode cirkel. De agent die niet op tijd weg komt wordt vervolgens `het’ en zo door.
Als een venster gesloten wordt gaan de agents ter plekke niet verloren, maar verhuizen eerst naar andere locaties. In meer praktische toepassingen betekent dit alles dat je software schrijft om autonoom te kiezen en te wisselen van hardwareplatform, bijvoorbeeld omdat het huidige platform te weinig capaciteit biedt, storingen kent of simpelweg hogere kosten met zich meebrengt.
Alle code is geschreven in Java op basis van eenvoudige code zoals de docent die aanbood. Mijn taak was vervolgens om het platform licht aan te passen en een nieuwe software agent te programmeren die, mits met meerderen tegelijkertijd uitgevoerd, het simpele spel tikkertje speelt. Bij voorkeur kan zo’n agent werken op een niet specifiek platform, zodat een agent niet vastzit aan één implementatie.