Combining Adaptive Behavior and Role Modeling with Statecharts Danny Weyns, Elke Steegmans and Tom Holvoet AgentWise, DistriNet, Department of Computer Science, K.U.Leuven Celestijnenlaan 200A, B-3001 Leuven, Belgium {Danny.Weyns, Elke Steegmans, Tom.Holvoet}@cs.kuleuven.ac.be Abstract Engineering non-trivial open multi-agent systems is a challenging task. Our research focusses on situated multi- agent systems, i.e. systems in which agents are explicitly placed in a context – an environment – which agents can perceive and in which they can act. Two concerns are es- sential in developing such open systems. First, the agents must be adaptive in order to exhibit suitable behavior in changing circumstances of the system: new agents may join the system, others may leave, the environment may change, e.g. its topology or its characteristics such as throughput and visibility. A well-known family of agent architectures for adaptive behavior are free-flow architectures. However, building a free-flow architecture based on an analysis of the problem domain is a quasi-impossible job for non-trivial agents. Second, multi-agent systems developers as software engineers require suitable abstractions for describing and structuring agent behavior. The abstraction of a role obvi- ously is essential in this respect. Earlier, we proposed stat- echarts as a formalism to describe roles. Although this al- lows application developers to describe roles comfortably, the formalism supports rigid behavior only, and hampers adaptive behavior in changing environments. In this paper we describe how a synergy can be reached between free-flow architectures and statechart models in or- der to combine the best of both worlds: adaptivity and suit- able abstractions. We illustrate the result through a case study on controlling a collection of automated guided vehi- cles (AGVs), which is the subject of an industrial project. 1 Introduction Dealing with the increasing complexity of developing, integrating and managing open distributed applications is a continuous challenge for software engineers. In the last fif- teen years, multi-agent systems have been put forward as a key paradigm to tackle the complexity of open distributed applications. In this paper we focus on situated multi-agent systems 1 (situated MASs) as a generic approach to develop self-managing open distributed applications and we propose an approach that combines aspects of adaptive agent archi- tectures with ideas of rigid modeling of agent behavior for developing these kinds of multi-agent systems. In situated MASs, agents and the environment constitute complementary parts of a multi-agent world which can mu- tually affect each other. Situatedness places an agent in a context in which it is able to perceive its environment and in which it can (inter)act. Intelligence in a situated MAS originates from the interactions of the agents in their envi- ronment rather than from the capabilities of the individual agents. While interacting, agents form an organization in which they all play and execute their own role(s) in that or- ganization. Situated MASs have been applied with success in numerous practical applications over a broad range of domains, e.g. manufacturing scheduling [16], network sup- port [3] or peer-to-peer systems [1]. The benefits of situated MAS are well known, the most striking being flexibility, ro- bustness and efficiency. During the last two years, we developed an agent archi- tecture that enables advanced adaptive agent behavior. The architecture is a hierarchical free-flow architecture which integrates a concept of situated commitments. Situated commitments allow an agent to bias action selection to- wards actions in its commitments. Besides the theoretical work on agent architectures, we have been confronted with application engineers who re- quire software engineering support for developing con- crete, real-world MASs, the applications include active net- working, manufacturing control and supply chain networks. These software engineers require simple and comfortable modeling languages for functionally describing agent be- havior. A modeling language based on statecharts resolved this requirement. However, a statechart specification of agent behavior is typically a static, rigid model in that it leaves little room for adaptive and explorative behavior. As 1 Alternative descriptions are behavior-based agents [4], adaptive au- tonomous agents [14] or hysteretic agents [9][8].