An Observation Framework for Multi-Agent Systems Joonas Kesäniemi, Artem Katasonov and Vagan Terziyan University of Jyväskylä, Finland joonas.kesaniemi@jyu.fi, artem.katasonov@jyu.fi, vagan@jyu.fi Abstract Existing middleware platforms for multi-agent systems (MAS) do not provide general support for observation. On the other hand, observation is considered to be an im- portant mechanism needed for realizing effective and ef- ficient coordination of agents. This paper describes a framework called Agent Observable Environment (AOE) for observation-based interaction in MAS. The framework pro- vides 1) possibility to model MAS components with RDF- based observable soft-bodies, 2) support for both query and publish/subscribe style ontology-driven observation, and 3) ability to restrict the visibility of observable information us- ing observation rules. Additionally, we report on an imple- mentation of the framework for the JADE middleware plat- form, where AOE is realized as a custom kernel service. 1 Introduction A classic definition of an agent is an encapsulated com- puter system situated in some environment and capable of flexible, autonomous action in that environment in order to meet its design objectives [25]. The property of being situ- ated in an environment was traditionally seen as one of the basic characteristics of an agent. The agents are described as entities that have sensors to perceive the state of the envi- ronment as well as actuators to affect the environment. In a multi-agent system, from the point of view of an individual, all the other agents in the system are a part of the environ- ment. If a distinction is to be made, this environment is social in contrast to the physical one. The ability to inter- act with the social environment is as important as the ability to interact with the physical one. It is also the cornerstone of coordination of agents which is one of the fundamental problems in multi-agent systems [18]. Because a social environment consists of agents, i.e. ac- tive entities, there are several ways in which an agent can interact with its social environment: Communication – exchanging messages with other agents. Direct control – affecting, without communication, properties or available options of other agents, e.g., killing an agent or blocking an agent’s way. Indirect observation of actions – observing the changes in the physical environment that occur due to actions taken by other agents, e.g., a door became open. Direct observation of actions – observing an agent per- forming an action, e.g., an agent opening a door now. Observation of properties – directly observing a bodily property of an agent, e.g., physical dimensions or what sensors and actuators it has. In the classic approach to implementing multi-agent sys- tems, realized in frameworks such as AgentSpeak with cor- responding platform Jason [16, 3] and 3APL [6], the envi- ronment is explicitly represented. The environment is pro- grammed as an object separate from the agents. Moreover, the agents do not possess sensors and actuators, rather the environment provides those. This means that the agents sense or act by invoking some methods provided by the environment’s implementation. For example, if the chess game is to be implemented as a multi-agent system, the agents would be the chess pieces and the environment would be the chess board. The board would then provide methods enabling a piece to move or to check the positions of other pieces. With such an implementation, the four first types of in- teractions in the list above are easy to realize. Since all sens- ing and acting is done through the environment object, this object naturally has a nearly complete view on the state of the multi-agent system. It is of no problem to realize, e.g., the direct observation of actions. The environment can be instructed to notify all the agents that some action is taking place now, e.g., a chess piece is moving. The observation of agent’s properties is the only type of interaction that is not immediately enabled since those properties are intrinsic to agents, and information on them does not go through the environment object. In recent years, the focus has shifted towards better sup- port for distributed multi-agent systems. IEEE FIPA has