© Spinger-Verlag, http://www.springer.de/comp/lncs/index.html submitted version Structuring Agents for Adaptation Sander van Splunter, Niek J.E. Wijngaards and Frances M.T. Brazier Intelligent Interactive Distributed Systems Group, Faculty of Sciences, Vrije Universiteit Amsterdam, de Boelelaan 1081a, 1081HV, The Netherlands {sander,niek,frances}@cs.vu.nl http://www.iids.org/ Abstract. Agents need to be able to adapt to the dynamic nature of the environments in which they operate. Automated adaptation is an option that is only feasible if enough structure is provided. This paper describes a component- based structure within which dependencies between components are made explicit. An example of a simple web-page analysis agent is used to illustrate the structuring principles and elements. 1. Introduction Agents typically operate in dynamic environments. Agents come and go, objects and services appear and disappear, and cultures and conventions change. Whenever an environment of an agent changes to the extent that an agent is unable to cope with (parts of) the environment, an agent needs to adapt. Changes in the social environment of an agent, for example, may require new agent communication languages, or new protocols for auctions. In some cases an agent may be able to detect gaps in its abilities; but not be able to fill these gaps on its own (with, e.g., its own built-in learning and adaptation mechanisms). Adaptive agents are a current focus of research (e.g., see this book), but opinions on what 'adaptation' constitutes differ. Sometimes reactive behaviour of an agent is dubbed 'adaptive behaviour' [1] where an agent is, e.g., capable of abandoning a previous goal or plan and adopting a new goal or plan that fits its current situation better. In this paper, adaptation of an agent is used to refer to "structural" changes of an agent, including knowledge and facts available to an agent. External assistance may be needed to perform the necessary modifications, e.g. by an agent factory [2]. An adaptation process has a scope: a scope defines the extent to which parts of an agent are adapted. Research on agent adaptation can be categorised by distinguishing three specific scopes: adaptation of knowledge and facts; adaptation of the language with which an agent's interface to the outside world is expressed (e.g., dependency on agent platform), and adaptation of an agent's functionality. Research on adaptation of knowledge and facts of an agent is usually based on (machine) learning, e.g. [3]. Example applications include personification: an agent maintains and adapts a profile of its (human) clients, e.g. [4], [5] and [6], co-