23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Query Caching in Agent Programming LanguagesNatasha Alechina 1 , Tristan Behrens 2 , Koen Hindriks 3 , and Brian Logan 11 School <strong>of</strong> Computer Science<strong>University</strong> <strong>of</strong> <strong>Nottingham</strong><strong>Nottingham</strong> NG8 1BB UK2 Department <strong>of</strong> InformaticsClausthal <strong>University</strong> <strong>of</strong> TechnologyGermany3 Delft <strong>University</strong> <strong>of</strong> TechnologyAbstract. Agent programs are increasingly widely used for large scale, timecritical applications. In developing such applications, the performance <strong>of</strong> theagent platform is a key concern. Many logic-based BDI-based agent programminglanguages rely on inferencing over some underlying knowledge representation.While this allows the development <strong>of</strong> flexible, declarative programs, repeatedinferencing triggered by queries to the agent’s knowledge representationcan result in poor performance. In this paper we present an approach to querycaching for agent programming languages. Our approach is motivated by the observationthat agents repeatedly perform queries against a database <strong>of</strong> beliefs andgoals to select possible courses <strong>of</strong> action. Caching the results <strong>of</strong> previous queries(memoization) is therefore likely to be beneficial. We develop an abstract model<strong>of</strong> the performance <strong>of</strong> a logic-based BDI agent programming language. Using ourmodel together with traces from typical agent programs, we quantify the possibleperformance improvements that can be achieved by memoization. Our resultssuggest that memoization has the potential to significantly increase the performance<strong>of</strong> logic-based agent platforms.1 IntroductionBelief-Desire-Intention (BDI) based agent programming languages facilitate the development<strong>of</strong> rational agents specified in terms <strong>of</strong> beliefs, goals and plans. In the BDIparadigm, agents select a course <strong>of</strong> action that will achieve their goals given their beliefs.To select plans based on their goals and beliefs, many logic-based BDI-basedagent programming languages rely on inferencing over some underlying knowledgerepresentation. While this allows the development <strong>of</strong> flexible, declarative programs, repeatedinferencing triggered by queries to the agent’s knowledge representation canresult in poor performance. When developing multiagent applications for large scale,time critical applications such performance issues are <strong>of</strong>ten a key concern, potentiallyadversely impacting the adoption <strong>of</strong> BDI-based agent programming languages and platformsas an implementation technology.In this paper we present an approach to query caching for agent programming languages.Our approach is motivated by the observation that agents repeatedly performqueries against a database <strong>of</strong> beliefs and goals to select possible courses <strong>of</strong> action.117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!