3APL Platform

Eric ten Hoeve

Het project heeft als doel een 3APL-gebaseerde agent platform te ontwerpen en implementeren. 3APL is een programmeertaal die het mogelijk maakt om agenten te programmeren door middel van het cognitieve concepten zoals beliefs, goals, actions, en reasoning rules. Momenteel is er een java interpreter met een prolog engine die single 3APL agent kan executeren.

Dit agent platform zal de  volgende mogelijkheden realiseren:

- Een visuele 3APL editor waarin 3APL syntax herkend wordt door gebruik van verschillende kleuren en geschikte layout. De 3apl syntax moet eerst nog verbeterd worden, d.w.z. het gebruik van punt en coma’s, het gebruik van verschillende haakjes, het gebruik van kleine en grote letters, etc.

- Een visuele interface van de multi-agents setting. Deze interface moet het mogelijk maken om agenten op een eenvoudige wijze te kunnen creëren, bewerken, en executeren. De agenten zullen visueel gerepresenteerd zijn in de interface en het zal mogelijk zijn om verschillende componenten van de agent te bewerken. De hierboven genoemde 3APL editor moet hier geïntegreerd zijn.

- Tools die de beslissingen van de individuele agenten/het systeem als geheel kan analyseren. Met deze tools zou de output van de agenten gefilterd kunnen worden, alleen de uit te voeren acties gepresenteerd worden, etc. Een belangrijke tool is een visuele presentatie voor communicatie tussen agenten. Er zijn verschillende mogelijkheden. In ieder geval moet de presentatie zowel de tijd (volgorde), de communicerende agenten, en de boodschappen visueel kunnen presenteren. JADE kan hier als een voorbeeld gebruikt worden. Deze visuele presentatie tool moet in de bovengenoemde interface geïntegreerd zijn. Het gebruik van deze tools moet optioneel zijn.

- Een visuele library van standaard 3APL agenten. De agenten van deze library kunnen gebruikt en geinstantieerd worden.

- Agent management systeem (white page, yellow-page, directory facilitator) met verschillende functies zoals bijhouden van de agentnamen en agentfuncties.
 

Literatuuronderzoek
Onderzocht moet worden hoe de agent management system geïmplementeerd kan worden, welke faciliteiten dit systeem moet aanbieden, en oplossingen voor naming-problems en afhandelen van remote agents. Eveneens moet onderzocht worden met welk protocol de communicatie tussen de agents kan verlopen, zowel onderling als bij remote agents.

Het doel is om dit platform FIPA compliant te maken. Vanwege het streven een FIPA compliant platform te implementen, wordt er als leidraad de specificaties van de FIPA aangehouden met betrekking tot de volgende onderdelen:
- Agent Management System: lifecycle management, name registration, name lookup en authentication
- Directory Facilitator: opvragen van mogelijkheden en attributen van de agents
- Agent Communication Channel: kunnen zenden en ontvangen van berichten