presentation slides are here

An Observation Framework for
Multi-Agent Systems
Joonas Kesäniemi, Artem Katasonov* and Vagan Terziyan
University of Jyväskylä, Finland
ICAS, Valencia
April 24, 2009
* Artem Katasonov is at present with
VTT Technical Research Center of Finland
University of Jyväskylä
An agent and its social environment

A classic definition of an agent is an
encapsulated computer system situated
in some environment and capable of
flexible, autonomous action in that
environment in order to meet its design
objectives.
sensor
input
Agent
action
output
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 environment – social.

The ability to interact 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.
2
University of Jyväskylä
Interacting with a social environment





Communication – exchanging messages with other agents.
Direct influence – 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 performing 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.
3
University of Jyväskylä
Lack of support for observation

In the classic approach to implementing multi-agent systems
(AgentSpeak/Jason, 3APL) the environment is explicitly represented (entity
separate from agents).
– Realizing observation is possible.
– But the approach is not very suitable for distributed systems.

In recent years, the focus has shifted towards better support for distributed
multi-agent systems - FIPA reference architecture, middleware approach.
– Middleware supports mainly communication between agents.
– Environment is implicit.
– Observation of other agents is practically not supported.


A problem: malicious agent joining a multi-agent system. Cannot be
registered until noticeable harm is done.
Additionally, direct observation can be very useful in many applications.
4
University of Jyväskylä
Agent Observable Environment (AOE)

AOE is a framework that aims at enabling observation, especially of a social
environment, in middleware-based multi-agent systems.

In the real world, we can observe things due to mediation of rays of light,
sound waves, etc. The goal is to create a mechanism somewhat analogical
to those mediators – domain-independent and being outside control of the
agents (they could intentionally ”show” some things, but some things they
could not ”hide”).

The framework provides:
1. Possibility to model MAS components with RDF-based observable softbodies.
2. Support for both query and publish/subscribe style observation.
3. Ability to restrict the visibility of observable information using
observation rules.
5
University of Jyväskylä
AOE logical architecture
University of Jyväskylä
Soft-bodies

Every agent has a soft-body - information repository for agent-specific
observable information
– Although modeled as a part of the agent, it is managed by an environmental
service.
– The information to the agent’s soft-body can be published both intentionally by
the agent itself (e.g. on its state) and automatically by the AOE infrastructure
(e.g. on actions of the agent).
– Because the repository is managed externally, a suspended or dead agent can
still be observable by others.
– This repository is semantic – RDF-based.

The global observable environment, which can spawn all the nodes of a
distributed agent platform, is then created as the sum of all the soft-bodies
in the system.

AOE also allows other entities like environment services to have softbodies – to interact with them through the same mechanism. An example is
“digital pheromones” service.
University of Jyväskylä
Observation process and rules

Types of observation in AOE:
– Static (query) – observer specifies a pattern and receives a single matching
snapshot of observable information.
– Dynamic (subscribe) – observer specifies a pattern, and receives a sequence of
events. This enables entities to to observe the evolution of something’s state or
to receive notifications concerning either addition or deletion of data.
– Push - without a prior expressed interest or even consent, an agent is pushed
observations. Of course, it is not obliged to react to those or event process
them.

Observation rules:
– Limit the visibility of the information.
– The evaluation context for the rules is always the content of the observable
environment. For example, a rule can limit the visibility of the state of an agent
X to the agents that can be observed to be part of the same organization as
agent X.
– Rules can be created by agents and by environment services, rules can have
priorities defined.
University of Jyväskylä
AOE as JADE plug-in




Prototype implementation of AOE framework for the popular JADE middleware
platform is done.
Since the role of the AOE is an infrastructural one, it is implemented as a kernellevel service.
Agents publish information on their state deliberately using API provided.
On the other hand, behaviors executed by an agent, as well as messages sent by it,
are intercepted using JADE’s event filter mechanism and published to its soft-body
automatically.
University of Jyväskylä