Introduction to Agentcities & Related work in Aberdeen Gunnar Aastrand Grimnes MTP Seminar, 7/11/2002 What is an Agent? Useless definition: Autonomous Adaptive Mobile Software Entity. More definitions that there are researchers in the area. More about this CS5820. “Black Box” of the Semantic Web. My view of an Agent “Web-Service” Agents Bank Agent Other Personal Agents Personal Agent Personal Info Calendar Preferences What is Agentcities? 2 projects, .RTD and .NET EU Funded, 5th framework Started 1. July and 1. November, 2001 Both finish July 2003, but Agentcities Taskforce 6th Framework Agentcities.RTD 14 Partners Develop models, methodology and prototype solutions. Reference benchmarks for .NET Agentcities.NET Project open to anyone. Aberdeen is member no. 20! 67 Agent Platforms. Provides services to support project members: Information Days Deployment Support Working groups Competition! What do people do in Agentcities? Build Agents :) Deploy services within the Agentcities network. Services: Restaurant finder/review, theatre/cinema finder, hotel finder, GIS, transport service, auction service, banking, ontology service Ping Agent on each node. http://www.agentcities.net/globalapd.jsp Technology support FIPA Specifications Jade, FIPA OS, April Agent Platform, Zeus, Java Agent Services, LEAP Ontologies, DAML+OIL, RDF, KIF/SL Agent Platform Provides base-services such as message passing, directory lookups, agent life-cycle support, debug facilities. Work within Agentcities Agentcities is 1 year old. Only lately has real services appeared. .RTD partners HAD to deliver services by August ‘02. Most services are at the demo stage. The Evening Scenario DEMO Agentcities in Aberdeen We became a member in January 2002. WeatherAgent deployed same time. First We real service on the network ! use: JADE as our platform. RDF as content language. Jena as RDF toolkit. RDF Query by example Step 1 : The Weather Agent Interesting case-study: Uses existing ontology based on METAR. Wraps the MetOffice webpage for data. Ontology mapping issues. Content / Query language. Active for 9 months now, 1 query :) MetOffice MetOffice 2 DAML mapping Example Forecast in DAML+OIL Example Query Eating our own dogfood: The IDAgent Serves information about people in the department. Static contact-details at the moment. Future improvements: Research interest Research projects Publications Learned user preferences ?? The AKT Bus @ Agentcities AKT: Huge EPSRC project. Lots of activity in Aberdeen. Develop “whole life-cycle knowledge management tools & techniques”. Deployment support from .NET AKT Bus is the service invocation layer. AKT Bus Agentcities. Conoise Funded by BT Exact, follows from KRAFT. Supporting Virtual Organisations. Agentcities EO like scenario. Agents and BDI used to solve constraint problems. Agent interface to P/FDM and Prolog Agents. Agentcities competition Compo Demo Scoot Single evening planner for Aberdeen: Pubs, restaurants and cinemas. Separate constraint solver and learner. Deadline 15th November. Aberdeen vs. World Content language: RDF vs. SL FIPA compatibility requires SL, so most tools etc. are SL based. <ns3:FreeHouse rdf:ID="bobbin"> <ns3:pubName>The Bobbin</ns3:pubName> <ns3:pubWebSite> http://www.screampubs.com/ </ns3:pubWebSite> <ns3:servesBeer rdf:resource="beertypes#guinness"/> <ns3:servesBeer rdf:resource="beertypes#tennentslager"/> <ns3:servesFood>true</ns3:servesFood> <ns3:telNumber>01224 497867</ns3:telNumber> </ns3:FreeHouse> SL Example (vehicle :colour red :max-speed 100 :owner (Person :name Luis :nationality Portuguese)) Aberdeen Query By Example RDQL too complicated to write by hand. Query by example is very intuitive. Internal conversion to RDQL. Could be “smarter” than RDQL. <q:Query> <q:template> <akt:Academic> <akt:family-name> Brown </akt:family-name> </akt:Academic> </q:template> </q:Query> SELECT ?x WHERE (?x, ?y, ?z), ( ?x, <rdf # type>, <akt # Academic> ), ( ?x, <akt # family-name>, "Brown" ) QbEx with Constraints <q:Query> <q:template> <r:restaurant> <r:type rdf:resource=“r#Tandoori" /> <r:open-time> <cif:variable rdf:ID="x"><cif:varname>x</cif:varname></cif:variable> </r:open-time> </r:restaurant> </q:template> <q:constraints> <cif:comparison> <cif:comparison_operator>&gt;</cif:comparison_operator> <cif:comparison_op1> <cif:variable rdf:about="#x"/> </cif:comparison_op1> <cif:comparison_op2> <cif:integerconst> <cif:constant_value>1900</cif:constant_value> </cif:integerconst> ….. Constrained QbEx to RDQL SELECT ?x WHERE (?x, ?y, ?z), ( ?x, <r # open-time>, ?v_x ), ( ?x, <rdf # type>, <r # restaurant> ), ( ?x, <r # type>, <r # Tandoori> ) AND ( ?v_x > 1900 ) Aberdeen, Agentcities & The Future Several Honours Projects running now: Research work on: Organising a Conference. Semantic Web Calendar. Delivering E-Science services. Learning privacy rules. Dealing with false service descriptors. We shall not rest until the whole world uses RDF. Better RDF support for Jade. Improve QbEx Questions? Slides and relevant links available from course webpage.