ServerMobile device arno.txt *GML*GML* GML … blixa arnopanamarenkocaesargaudi spartacus(x) spartacus(x).txt *GML*GML*GM L … ToSend.txt *GML*GML*G ML … caesar.clt Start/stop Fill Watch size Copy arno.txt Could I send a report? Spartacus(x) will be your partner Please send everything end Fill Watch Force blixa CreateI am active Uitbreiding demo in JADE
Agenten vinden elkaar dynamisch (DF) meerdere toestellen Toestel (blixa) naar keuze verplichten om te communiceren GUI-agent Gaudi op de server 2 policies op de server DEMO
Vergelijking agentenplatformen 1.Inleiding op agentenplatformen voor mobiele toestellen 2.Vergelijking algemeen 3.Vergelijking platform-architectuur 4.Vergelijking agenten implementeren en starten 5.Vergelijking extra functionaliteit 6.Besluit (pluspunten en minpunten)
1 – Inleiding agentenplatformen voor mobiele toestellen Onderverdeling Portal platforms: agentencode wordt op andere host uitgevoerd (toestel = gebruikers- interface) Embedded platforms: alle code wordt op het toestel uitgevoerd Surrogate platforms: bepaalde gedeelten van het agentenplatform worden op een andere host uitgevoerd. Andere primaire kenmerken: beoogd toesteltype, maximaal # agenten op toestel, beschikbaarheid
1 – Inleiding agentenplatformen voor mobiele toestellen Onze criteria Type platform: surrogate en embedded platforms Maximaal aantal agenten op het mobiele toestel: hoe dan ook meer dan 1 Beschikbaarheid: beschikbaar op het internet
1 – Inleiding agentenplatformen voor mobiele toestellen kSACI MAE AgentLight MicroFIPA-OS LEAP RAJA Grasshopper MobiAgent PortalSurrogate Embedded MobiAgent: portal en niet beschikbaar kSACI: maximaal 1 agent op toestel MAE: enkel Palm–georiënteerd en niet beschikbaar RAJA: eerder een platform- uitbreiding voor resource management en niet beschikbaar
2 - Vergelijking algemeen Lightweight Extensible Agent Platform (LEAP) vervangt de ‘kernfunctionaliteit’ van JADE (Java Agent Development Framework) Onlangs werd het LEAP – project (i.s.m. BT, TILAB, Siemens, Motorola, …) beëindigd en werd het geïntegreerd in JADE. Krachtlijnen JADE: continu open-source project, FIPA, ontwikkeltools
2 - Vergelijking algemeen Grasshopper ontworpen voor J2SE maar draait ook op PersonalJava Stabiel, performant, uitbreidbaar, voorzien van alle nodige functionaliteit (bv. security) Ontworpen door IKV++ (spin-off van FOKUS )
2 - Vergelijking algemeen FIPA-OS is een open-source project volledig georiënteerd naar de FIPA-specificaties (in handen van Emorphia) MicroFIPA-OS is hierop gebaseerd en werd geïmplementeerd in het CRUMPET-project (universiteit Helsinki)
2 - Vergelijking algemeen AgentLight is een PhD – project aan Universiteit Utrecht Gericht op een zo laag mogelijke belasting per agent in het systeem. Staat nog in zijn kinderschoenen
2 - Vergelijking algemeen Omvang van het project LEAP: studieproject meerdere partners, relatief groot aantal gebruikers, grote “JADE community”. Grasshopper: project onderzoekscentrum, groot aantal gebruikers, CE is niet echt een apart project MicroFIPA-OS: FIPA-OS heeft aanzienlijk aantal gebruikers, MicroFIPA-OS eerder “zijproject” AgentLight: klein op alle gebied
2 - Vergelijking algemeen Programmeerplatform/belasting LEAP: J2SE, PJava en J2ME/MIDP (beste scalability); 1 agent in split cont. = 90 kB Grasshopper: J2SE, PJava (geen aangepaste functionaliteit); hogere belasting MicroFIPA-OS: PJava (“high-level PDA”); belasting variabel AgentLight: J2SE en J2ME/MIDP; 1 agent in J2ME container = 57 kB (laagste belasting - benchmark)
2 - Vergelijking algemeen Manual/mailinglist LEAP: leerproces via JADE; manual matig tot goed; zeer goede mailinglist Grasshopper: zeer goede manual; matig forum MicroFIPA-OS: leerproces via FIPA-OS (minder relevant); manuals inconsistent doch voldoende; manual MicroFIPA-OS te klein; goede mailinglist AgentLight: er ontbreekt te veel materiaal; FOL-kennis vereist; slechte mailinglist
2 - Vergelijking algemeen FIPA compliance LEAP: redelijk hoog Grasshopper: MASIF compliant; voldoende ruimte voor eventuele FIPA – implementatie; FIPA add-on voor interoperability MicroFIPA-OS: extreem hoog AgentLight: zeer beperkt Open vraag: staat FIPA compliance een lage belasting en een lage trafiek in de weg?
3 – Vgl. platform - architectuur LEAP
3 – Vgl. platform - architectuur LEAP (vervolg)
3 – Vgl. platform - architectuur LEAP (vervolg)
3 – Vgl. platform - architectuur Grasshopper (opm. Listeners)
3 – Vgl. platform - architectuur MicroFIPA-OS (DF en AMS optioneel)
3 – Vgl. platform - architectuur AgentLight
3 – Vgl. platform - architectuur Communicatie algemeen LEAP: intercontainer = RMI; interplatform = automatische keuze meest efficiënte MTP (mogelijkheden: 2 CORBA IIOP’s en HTTP); efficiënt gebruik onderliggende tecnologieën bewezen (benchmark in JADE) Grasshopper: MicroFIPA-OS: interplatform = sockets en HTTP AgentLight: ?
3 - Vgl. platform - architectuur Zoekfaciliteiten LEAP: DF (complexere zoekopdrachten; ontologieën) Grasshopper: bij Agency en ev. Region Registry (eerder witte gids) MicroFIPA-OS: DF AgentLight: geen
3 - Vgl. platform - architectuur Mobiliteit LEAP: enkel onder J2SE en PersonalJava Grasshopper: optimaal. Expliciet onderscheid mobiele/stationaire agenten; makkelijk implementeren locatie-afhankelijke states. MicroFIPA-OS: niet uitgewerkt AgentLight: niet uitgewerkt
4 - Vergelijking agenten implementeren & starten Agentenmodel LEAP: organisatie in behaviours (sequentieel en repetitief); 1 thread per agent; action() method zo kort mogelijk; speciale behaviours Grasshopper: 1 live() method voor hele agent; live() wordt maar 1 maal uitgevoerd MicroFIPA-OS: organisatie in tasks ;(beter dan LEAP:) autonomie – reusability – communicatie; childs; speciale tasks; om belasting te verlagen: MINIMAL mode AgentLight: “Generic Inference agents” op basis van FOL; SkillInterface; speciale skills
4 - Vergelijking agenten implementeren & starten Messaging/protocols LEAP: FIPA – ACL georiënteerd; codecs voor CL; ontologies; ook objecten kunnen verstuurd worden (geen FIPA); stukken protocols in behaviours Grasshopper: “low - level”; accessible methods; wachten op return: synchroon / asynchroon en ev. multicast MicroFIPA-OS: FIPA – ACL georiënteerd; transparant parser mechanisme; datastructuur Protocol AgentLight: externe communicatie FIPA – ACL georiënteerd; onvoldoende informatie
4 - Vergelijking agenten implementeren & starten Launching agents/tools LEAP: overerving-mechanisme; expliciet starten platform; agenten launchen via property file/tool; tal van tools onder J2SE Grasshopper: overerving-mechanisme; expliciet starten platform; agenten launchen op vele manieren; manager tool; TUI + GUI (explorer, console, catalog) MicroFIPA-OS: agenten doen aan overerving doch bevatten main method; tool voor monitoring resources en messages AgentLight: implementatie extern t.o.v. agent; geen tools
4 - Vergelijking agenten implementeren & starten Launching agents/tools LEAP framework J2SE/Pjava /J2ME agents LEAP runtime Grasshopper framework J2SE/Pjava agents Grasshopper runtime MicroFIPA-OS framework Pjava agents µF-OS Runtime AgentLight framework J2SE/J2ME agents Runtime
5 - Vgl. extra functionaliteit Security/Persistentie LEAP: JADE-S voorlopig enkel onder JADE / geen persistentie Grasshopper: standaard aanwezig (interne + externe security; ongeveer zelfde functionaliteit JADE-S) / volledige persistentie – ondersteuning (expliciet onderscheid ag.) MicroFIPA-OS: enkel SSL enkel in FIPA-OS/ uitbreiding FIPA-OS: persistentie in XML AgentLight: geen security / geen persistentie
5 - Vgl. extra functionaliteit Overige LEAP: volledige interactie ext. appl.; JESS; extra CL codecs; tags voor JSP; BlueJADE J2EE Server; Protege beangenerator RDF Grasshopper: communicatie met ext. appl.; “CORBA enhanced agents”; thread monitor; SMS add-on; Webhopper voor servlets MicroFIPA-OS: Interface JessAgent; “Diagnostics” debugging logs AgentLight: voor de toekomst
6 - Besluit LEAP +grote “community“ +hoge scalability +split container gericht op wireless +performant messaging systeem + efficiënte tools onder J2SE + interessante add-ons - geen uitgesproken minpunten (voorlopig iets te weinig aandacht voor security en persistentie + mindere stabiliteit (zie versienummers))
6 - Besluit Grasshopper + goede documentatie + grote stabiliteit + focus op mobiliteit + aandacht voor security en persistentie + multi-protocol support - hogere belasting (scalability?) - zwak agentenmodel - communicatie is te “low-level”
6 - Besluit MicroFIPA-OS + FIPA-compliance + organisatie agent in tasks + onderscheid normal en minimal mode - (nog) geen mobiliteit - onduidelijke toekomstperspectieven - kloof met FIPA-OS te groot
6 - Besluit AgentLight + intelligentie in systeem gebakken + zeer lage belasting per agent - slecht gedocumenteerd - (nog) geen mobiliteit - voorlopig onvoldoende functionaliteit voor een “ready-to-use” platform
Agenten en softwarepatronen Geen toonaangevend referentiewerk; verschillende indelingen Moeilijkheid: gebruik of ontwerp platform (bv. Layered agent patroon) Interessant: patronen gericht op coördinatie (bv. Master-slave patroon) Verwantschap protocols architecturale patronen communicatiepatronen reispatronen coördinatiepatronen reispatronen taakpatronen interactiepatronen
Agenten en methodologieën Sociaal georiënteerd: GAIA Kennis-georiënteerd: DESIRE (Design and specification of interacting reasoning) Zuivere software-engineering benadering: AUML (Agent unified modelling language). Uitbreiding van UML (interactieprotocollen, rollen, …) Object- en proces-georiënteerd: OPM/MAS (Object-process methodology for multi-agent systems) Voorspelling: CONVERGENTIE
Demo in Grasshopper T&I case: memo uit dagschema Agent wordt op server-agency gestart. Migratietijd, alarmtijd en alarmboodschap worden meegegeven. Op migratietijd migratie naar de toestel- agency. Op alarmtijd verschijnt een pop-upvenster met boodschap. SCHEMA/DEMO
Demo in Grasshopper Agency UI MemoAgent U U U migratie alarm Toestel agencyServer agency
Discussie
Planning volgende periode Modellering en implementatie van de toepassing voor Tele Atas. Modellering van de toepassing voor T&I. Aankoop GPRS-module voor Tele Atlas. Suggesties?