<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Heterogeneous Multi-Agent System for Adaptive Web Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Bonomi, Giuseppe Vizzari</string-name>
          <email>fandrea.bonomi, vizzarig@disco.unimib.it</email>
          <email>vizzarig@disco.unimib.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcello Sarini</string-name>
          <email>sarini@disco.unimib.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Informatics</institution>
          ,
          <addr-line>Systems and Communication</addr-line>
          ,
          <institution>University of MilanBicocca</institution>
          ,
          <addr-line>Via Bicocca degli Arcimboldi 8, 20126 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Psychology, University of MilanBicocca</institution>
          ,
          <addr-line>Piazza dell'Ateneo Nuovo 1, 20126 Milan -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>66</fpage>
      <lpage>75</lpage>
      <abstract>
        <p> A web site presents an intrinsic graphlike spatial structure composed of pages connected by hyperlinks. This structure may represent an environment in which agents related to visitors of the web site are positioned and moved in order to track their navigation. To consider this structure and to keep track of these movements allows the monitoring of the site and of its visitors, in order to support the enhancement of the site itself through forms of adaptivity, carried out by speci c interface agents. This paper presents a heterogeneous multiagent system supporting the collection of information related to user's behaviour in a web site by speci c situated reactive agents. The acquired information is then exploited by an application supporting the proposal of hyperlinks based on the history of user's movement in the web site environment.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        A web site presents an intrinsic graphlike spatial structure
composed of pages connected by hyperlinks. However, this
structure is generally not considered by web servers, which
essentially act as a sort of extended and speci c File Transfer
Protocol servers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], receiving requests for speci c contents
and supplying the related data. Several webbased applications
instead exploit the structure of the sites itself to support users
in their navigation, generating awareness of their position. For
instance, many ecommerce sites emphasize the hierarchical
structure linking pages related to categories (and possibly
subcategories), included products and their speci c views, and
remind users' relative position (i.e. links to higher level nodes
in the tree structure). Some speci c webbased applications,
mainly bulletin boards and forums (see, e.g., phpBB1), are
also able to inform users about the presence of other visitors
of the web site or even, more precisely, of the speci c area of
the site that they are currently viewing. Web site structure and
users' context represent thus pieces of information that can be
exploited to supply visitors a more effective presentation of
site contents.
      </p>
      <p>
        Different visitors, however, may have very different goals
and needs, especially with reference to large web sites made
up of several categories and subcategories. This consideration
is the main motivation for the research in the area of adaptive
web sites [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The various forms of adaptation may provide
a customization of site's presentation for an individual user
or even an optimization of the site for all users. There are
various approaches supporting these adaptation activities, but
they are generally based on the analysis of log les which
store lowlevel requests to the web server: this kind of le
is generally made up of entries including the address of the
machine that originated the request, the indication of the
time and the resource associated to the request. In order to
obtain meaningful information on users' activities these raw
data must be processed (see, e.g., [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), for instance in order
to collapse requests related to various elements of a single
web page (e.g. composing frames and images) into a single
entry. Moreover, this kind of information must be further
processed to detect groups of requests that indicate the path
(web pages connected by hyperlinks) that a user followed
in the navigation. Recent results [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] show that this kind of
analysis, also referred to as web usage mining, could bene t
from the consideration of site contents and structure.
      </p>
      <p>
        This paper proposes to exploit the graph-like structure of a
web site as a MultiAgent System (MAS) environment [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] on
which agents representing visitors of the web site (hereafter
user agents) are positioned and moved according to their
navigation. In particular, in this case, the environment is a
virtual structure which allows the gathering of information
on user's activities in a more structured way, simplifying
subsequent phases of analysis and adaptation of site contents.
Furthermore, part of the adaptivity could be carried out
without the need of an off-line analysis, but could be the
result of a more dynamic monitoring of users' activities. In
particular, the paths that are followed by users are often related
to recurrent patterns of navigation which may indicate that
the user could bene t from the proposal of additional links
providing shortcuts to the terminal web pages, as a sort of
suggestion to the web site visitor. Index pages may thus be
enhanced by the inclusion of links representing shortcuts to
the typical destinations of the user in the navigation of the
web site. Moreover, links between terminal content pages that
are not provided by the static structure of the site can also be
identi ed and exploited. Users without a relevant history (and
also anonymous or unrecognized ones) may instead exploit
the paths that are most commonly followed by site visitors.
Moreover such an information could also be communicated
to the webmaster suggesting possible modi cations to the
User
agent
      </p>
      <p>Web
page
MMASS
node
static prede ned structure of the site. This approach provides
thus both a support for site optimization, but also for the
customization to speci c visitor's needs and preferences.</p>
      <p>
        The metaphor of a web site as an environment on which
users move in search for information is not new (see, e.g., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
but also more recent approaches such as [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), and its
application to web site adaptation resembles the emergent, collective
phenomenon of trail formation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which can be identi ed
in several biological systems. However, this proposal provides
more than just gather information on users' behaviours for sake
of web pages adaptation or navigation support, but exploits
the MAS environment to provide users a means for mutual
perception and interaction. In fact information related to users'
positions on the environment representing the web site can
also be used to supply them awareness information on other
visitors which are currently browsing the same page or area
of the site. Moreover, to keep track of this information allows
the conception of a form of interaction among users that is
based on their positions on the site. Essentially, more than just
showing a user the other registered visitors that are nearby
(i.e. viewing the same page or adjacent ones), the system
could also allow to communicate with them. This form of
interaction, in addition to the web page adaptation function,
requires the adoption of a supporting technology that goes
beyond the request/response model.
      </p>
      <p>The overall system architecture requires thus proper
interface agents, able to interact with user agents situated in
the previously introduced environment in order to exploit the
acquired information on users' behaviours. This second type
of agent is totally different from user agents, both from a
modelling point of view and with reference to the supporting
technology. In fact the web interface agent must be active as
long as the related web page is being viewed by a visitor
and it must be able, in collaboration with the rest of the
system, to proactively modify the page to improve the user's
browsing experience. The overall system architecture includes
thus heterogeneous agents collaborating to achieve this goal.</p>
      <p>The following section describes the general framework of
this approach, the mapping between the web site structure and
agents' environment, while Section III introduces the
gathered information on agents' movement in their environment.
Section IV describes an application providing the exploitation
of this information for the adaptation of web pages, both
for customization and optimization. The adopted technology
supporting the design and development of the related interface
agent is introduced, and discussed with reference to existing
alternatives. A brief comparison of this approach and related
work can be found in Section V, and nally concluding
remarks and future developments will end the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>II. SITE STRUCTURE AND REACTIVE USER AGENTS</title>
      <p>A web site is made up of a set of HTML pages (generally
including multimedia contents) connected by means of
hyperlinks. It is possible to obtain a graph-like structure mapping
pages to nodes and hyperlinks to edges interconnecting these
nodes. This kind of spatial structure could be exploited as an
environment on which user agents related to site visitors are
placed and move according to the related users' activities. A
diagram showing a sample mapping among a web site and this
kind of structure is shown in Figure 1.</p>
      <p>
        This structure can be either static or dynamic: for instance it
could vary according to speci c rules and information stored
in a database (i.e. database driven web sites). However, this
kind of structure (both for static and dynamic web sites)
can generally be obtained by means of a crawler (see, e.g.,
Sphinx [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the related WebSphinx project2); then it could
be maintained by having periodic updates.
      </p>
      <p>
        Given this spatial structure, a multi-agent model allowing
an explicit representation of this aspect of agents' environment
is needed to represent and exploit this kind of information.
Environments for Multi Agent Systems [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and situated
agents represent promising topics in the context of MAS
research, aimed at providing rst class abstractions for agents
environment (which can be more than just a message transport
system), towards a clearer and more concrete de nition of
concepts such as locality and perception. There are not many
models for situated agents, which provide an explicit
representation of agent's environment. Some of them are mainly
focused on providing mechanisms for coordinating situated
agent's actions [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], other provide the interaction among
agents through a modi cation of the shared environment (see,
e.g., [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]). An interesting approach that we adopted for
this work is represented by the Multilayered Multi Agent
Situated Systems (MMASS) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] model. MMASS allows the
explicit representation of agents' environment through a set of
interconnected layers whose structure is an undirected graph
of nodes (also referred to as sites in the model terminology;
from now on we will use the term node to avoid confusion
with web sites). The model was adopted given the similarity
among the de ned spatial structure of the environment and the
structure underlying a web site. Moreover, the model de nes
a set of allowed actions for agents' behavioural speci cation
      </p>
    </sec>
    <sec id="sec-3">
      <title>2http://www-2.cs.cmu.edu/ rcm/websphinx/</title>
      <p>!"#$%&amp;'()"&amp;
EC)"&amp;$=&gt;?F
892$"+",-)./-01
!"#$*"&amp;+"&amp;
A,-"&amp;B34"$
6:","+",-)./-01</p>
      <p>;3-3
-&amp;345"&amp;$7,+'43-7',</p>
      <p>C)"&amp;$=&gt;?D
',$@3:"$"+",-)./-01$
"+",-)./-01
(including a primitive for agents' movement); for this speci c
application, however, the constraint which limits the number
of agents positioned in a node was relaxed. In fact there is no
limit to the number of users that are viewing the same web
page.</p>
      <p>
        Moreover a platform for the speci cation and execution of
simulations based on the MMASS model [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] was exploited to
implement the part of the system devoted to the management
of agents in their environments. The de nition of spatial
structure of the environment was supplied by the previously
introduced crawler, while agents' movement is guided by
external inputs generated by the requests issued by the related
web site visitor. The general architecture of the system is
shown in Figure 2: the Agent server module is implemented
through the MMASS platform, while the Web server is a
Tomcat servlet container hosting SnipSnap3, a Java-based
weblog and wiki software. The highlighted Tracker module
is a implemented through a Java Servlet, which is invoked by
every page of the site but does not produce a visible effect on
the related web page. The Tracker is responsible for triggering
the creation and the movement of agents related to visitors in
the environment related to the web site structure. In particular,
when a user makes his/her rst page request the Tracker is
invoked by the interface agent associated to the page. Then
the Tracker tries to set a cookie on the client including the
session information. If the cookie is accepted, it is possible to
use the session information to identify the user; on the other
hand, requests from clients not accepting cookies will not be
monitored.
      </p>
      <p>The management of agents creation and movement is not as
simple as its intuitive description might indicate. In fact, the
same user could be using different browser pages or tabs to
simultaneously view distinct pages of the site. In other words,
a user might be simultaneously following different trajectories
in his/her web site navigation. In order to manage these
situations, a user can be related to different agents, and his/her
requests must be associated to the correct agent (possibly a
new one). Finally, agents related to nished (or interrupted)
user navigation should be eliminated by the system, storing
the relevant part of their state in a persistent way, until the
related user requires again a page of the site. In particular,
remote users' requests may be divided into two main classes,
according to their effects on the Tracker and Agent server:
² creating a new agent: whenever a new user requires a web
page, the Tracker will invoke the Agent Server requiring
the creation of an agent whose starting position is the
node related to the required page; the same effect is
generated by a request coming from an already registered
user which was not present in the system, but in this case
information related to previous user agents must be
retrieved in order to determine the new agent's state; nally,
when an already registered and active user requires a page
that is not adjacent to its current one, a new agent related
to the new browsing activity must also be created;
² generating the movement of an agent: when the viewer of
a page follows one of the provided links, the related web
browser will generate a request for a page that is adjacent
to one of the related agents which must be moved to the
node related to the required page; whenever there are
two or more agents in positions that are adjacent to the
required page, in order to solve the ambiguity and choose
the agent to be moved, the Tracker will invoke the Session
object in which it stores the current URL related to the
viewed page.</p>
      <p>The following section will describe how the raw information
that can be gathered thanks to the above described framework
can be processed in order to obtain higher level indications
on users' behaviours. Since the interface agent collaborates to
the user monitoring process, more details on this topic will
instead be given in Section IV-B.</p>
    </sec>
    <sec id="sec-4">
      <title>III. GATHERED INFORMATION: BROWSING TRACES</title>
      <p>This system allows to gather and exploit two kinds of
information: rst of all situated agents related to web site
visitors have a perception of their local context, both in terms
of relative position, adjacent nodes and presence of other
visitors; second, agents may gather information related to the
paths de ned by the browsing activities or the related user in
the site itself.
A1</p>
      <p>2
Trace 2
(a)
Trace 1
1
A2</p>
      <p>A1</p>
      <p>A
Trace 2
(b)
Trace 1
2</p>
      <p>3
1
4</p>
      <p>There are inherent issues in determining in a precise way the
actual users' activities on the web site, due to the underlying
request/response model: the only available indications on
these activities can be obtained by requests captured by the
Tracker. In particular, we have an indication of the page that
was required by a user and the time-stamp of the request.
Starting from this raw information the system can try to detect
emerging links, which are hyperlinks that are not provided by
the structure of the site but can be derived by the behaviour
of speci c visitors. To this purpose, the concept of trace
was introduced as a higher level information describing the
behaviour of a user. A trace synthesizes a path followed by
a user, from the web page representing his/her entry point, to
a different point of the environment (i.e. another web page)
which may represent an interesting destination. Every agent
related to a visiting user is associated to a temporary trace,
and it may generate several actual traces (also called closed
traces) in the course of its movement in the environment.</p>
      <p>Formally a trace is a three-tuple hAId; Start; Desti, where
AId represents the identi er of the agent to which the trace is
related, while Start and Dest indicate the starting and
destination node related to the browsing sequence which generated
the trace. A new trace is generated when a user enters the
site, triggering the creation of a related agent. The starting
trace has a null value for the destination node. Subsequent
requests by the user generated following hyperlinks will bring
the related agent to an adjacent node, and the the Dest eld
of the corresponding trace will be modi ed in order to re ect
user's current position. Non trivial traces provide Start and
Dest nodes that are not directly connected by means of a
hyperlink.</p>
      <p>There are two relevant exceptions to the basic rule for trace
update, that are related respectively to the duplication of a
trace and to its closing. According to the previously introduced
informal de nition, a trace should be coherent in time and
space. In fact, whenever the same user requires simultaneously
two or more different pages he/she is probably following
distinct search trajectories, possibly even related to different
goals. In this case, as previously introduced, the Tracker will
detect this situation and create additional agents that refer to
the same user. Figure 3 shows two sample situations providing
respectively trace duplication and closing: in (a) the user has
chosen to open a hyperlink in a new browser page (request 1)
and then has followed another link in the rst browser page
(request 2). According to the previously described Tracker
behaviour, two agents are now associated to the user, and they
are associated to different traces sharing the Start eld.</p>
      <p>In (b), instead, the user has followed links 1 and 2 from the
starting page, then he/she made a step back (request 3) and
eventually moved to the last known position (request 4). The
step back causes the closure of the temporary trace associated
to the agent (Trace 1 in the Figure), and the creation of a
new temporary one with the same Start eld (Trace 2). In
this case the step back may have different interpretations: it
could refer to a negative evaluation of the page contents but it
could also indicate the fact that the user has found what he/she
was searching for. An information that could be exploited to
determine if the Dest eld of the trace was interesting for the
user is the time interval between request 2 and 3: for instance,
given ¢td a threshold indicating the minimum time required
to reasonably inspect the content of a speci c web page, if
timestamp(3) ¡ timestamp(2) &lt; ¢td then Trace 1 could be
ignored. However, the mere interval between the two requests
is not a safe indicator of the fact that the page was actually
viewed and considered interesting.</p>
      <p>In fact, the time spent on a web page is also important in
order to determine when a temporary trace must be closed. In
fact, whenever a user does not issue requests for a certain time
we could consider that his/her browsing activity has stopped,
possibly because he/she is reading the page related to the
Dest eld of the trace associated to the related agent. In other
words, every agent has a timer, set to the previously introduced
threshold ¢td, which is set when the agent is created and it
is reset whenever it moves. The action associated to this timer
speci es that its temporary trace becomes closed, and a new
timer is set: the action associated to this second timer caused
the disappearance of the agent from the system, and the storage
of the related state.</p>
      <p>It is important to note that even anonymous visitors (i.e. non
authenticated ones) whose clients are accepting cookies, can
be tracked and can thus generate traces, although anonymous
ones. The latter can be exploited for sake of web optimization
but are not relevant for sake of user speci c site customization.</p>
      <p>User agents provide thus a support to interface agents
by monitoring users' behaviours and, in this speci c case,
selecting relevant traces. Figure 4 shows how the user agents
interact with the interface agents to provide them with relevant
information for page adaptation, but more details on this topic
will be provided by the following section.</p>
    </sec>
    <sec id="sec-5">
      <title>IV. THE WEB INTERFACE AGENT</title>
      <p>The aim of the Interface Agent is to improve the browsing
experience of a user by adapting the page he/she is currently
viewing to his/her preferences, needs or habits. To do so, it
must be active during the timespan in which the page is
visualized by the browser, and it must be able to dynamically
alter its appearance. To do so, it must also be able to interact
with the previously introduced system to be informed about
past user's behaviour. In other words the interface agent is
.#/&amp;0(123#(
*$%#(+,-#&amp;!"#$%
.#/&amp;'#()#(
a clientside component, living in the web browser and
interacting with it in a proactive way, as shown in Figure 4.</p>
      <p>In the following sections, we describe the technology
adopted to implement the interface agent, comparing it with
other currently available technologies that could have been
selected to develop this kind of client-side web application.
Then the behaviour of the interface agent is brie y introduced,
focusing on its setting in the overall architecture and on the
adopted strategy for page adaptation.</p>
      <p>A. Technologies for Web Interface Agents: Java Applet, Flash
and AJAX</p>
      <p>Today there are several technologies suitable to develop
rich clientside web applications, and in particular interface
agents able to live in a common web browser. The most
common are Java Applet, Macromedia (now Adobe) Flash and
AJAX. We intentionally chose not to consider recent browser
extensions and plug-ins for the visualization of 3D virtual
environments, and to focus on more traditional forms of web
browser interfaces.</p>
      <p>Java Applet4 is the oldest technology used to provide
interactive features to web applications. An applet is a Java
software component that runs in a Web browser using the
Java Virtual Machine. Applets can be included in HTML (or
XHTML) pages in the same way as an image or another
multimedia content, and they are executed in a sandbox, an
infrastructure preventing them from accessing client's local
data (though there may be exceptions to this principle, and
in particular trusted applets). This kind of approach is very
powerful because applets can exploit all the Java API: they
can, for example, generate complex user interfaces, with a rich
multimedia support (e.g. 3D graphics, sound, movies), or they
can interact with serverside application via Web Services,
Java RMI (Remote Method Invocation) or CORBA. It is
possible to develop very complex applications using common
Open Source Java IDEs (like Eclipse or Netbeans) and run
them in web browser as applets. Though Java Applet can be
a suitable technology for many complex web application, it is
dif cult to implement an interface agent with an applet because
of its lack of integration with the web browser. An applet is
in fact con ned in a sandbox and cannot manipulate the data
of the page in which it is being executed. For example, an
applet cannot be used to extract all the links of the current
user page. Another disadvantage of Java Applet is represented
by the requirements of the Java Runtime Environment: rst of
all it is not available by default on all web browsers, moreover
it has a large memory occupation (around 20 Mb) and applets
cannot start until the Java Virtual Machine is running.</p>
      <p>Flash5 is a multimedia technology commonly used to create
animations, to build interactive web pages and to develop
client-side web applications. The ash les (called Flash
Movies) run in a virtual machine called Flash Player, that
is available for a wide variety of different browsers, platforms
and devices. The Flash Player is smaller than Java runtime
(less than 1 MB) and it is installed on over 500 million devices
and more than 97% of Internet-enabled desktops6. Moreover,
a Flash Player is embedded in many consumer electronics
devices, like Kodak EasyShare-One digital camera: the user
interface, built using Flash, enables simple navigation during
picture taking and sharing, and includes rich graphical scene
modes. Flash Movies can be programmed with a scripting
language called ActionScript, that is an ECMAScript7based
programming language, object oriented, looselytyped and has
a syntax quite similar to C. In contrast with JavaScript (which
is also ECMAScript compliant), ActionScript is compiled
into bytecode which is interpreted by a virtual machine.
ActionScript has a rich API supporting the elaboration of
numbers, strings, XML and graphical element (vectorial and
raster); it allows to play sounds and movies and to interact
with server side application with a fast proprietary protocol
(Flash Remoting8) or the slower SOAP (Simple Object Access
Protocol).</p>
      <p>
        AJAX (shorthand for Asynchronous JavaScript and XML)
is not a technology in itself, but a term that refers to the use
of a group of technologies together [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. In fact, AJAX is
a combination of JavaScript, DHTML (Dynamic HTML)9,
XML and the Remote Scripting (also described in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]).
Remote Scripting is used to deliver content dynamically
without the need to refresh the page and DHTML is a method
for creating interactive web pages by using a combination
of a markup language (HTML) and a clientside scripting
language (JavaScript): one major use of JavaScript is to write
functions that are embedded in or included from HTML
pages and interact with the Document Object Model (DOM).
Other typical examples of JavaScript usage are: validating web
form input, opening popup window, playing sounds, changing
images size and performing text conversion operation. The
scripts can be embedded in HTML pages or contained in
.js les linked to the web pages. The overall AJAX web
application model, compared to traditional web applications, is
shown in Figure 5. Since JavaScript is an interpreted language,
errors are not detected until the faulty program line is executed.
Another problem of AJAX (and JavaScript in general) are the
5http://www.adobe.com/products/ ash/
6NPD Online survey, conducted in April 2006
7http://en.wikipedia.org/wiki/ECMAScript
8http://www.adobe.com/products/ ashremoting/
9http://www.w3.org/DOM/faq.html#DHTMLDOM,
http://www.w3schools.com/dhtml/
differences between different JavaScript engine
implementations, so applications must be tested systematically on the
different target browsers and platforms. Nonetheless, AJAX is
not only a scripting language that supports a rapid prototyping
of web applications but it is also suitable for industry-strength
systems (from WebGIS applications like Google Maps10, to
complex enterprise messaging and collaboration systems like
Zimbra11).
      </p>
      <p>To compare the different technologies, several sample
applications that are available and freely accessible online can be
evaluated. In particular several instant messengers have been
implemented adopting Java Applet, Flash and AJAX
technologies: for instance ICQ2Go!12 is is available both as a Java
Applet and as a Flash application and Meebo13 is developed
with AJAX. Despite all are instant messenger applications, the
user experience is very different: the Java version as ICQ2Go!
has a very long startup time and it requires a huge amount
of memory but it has most functions of the standalone ICQ
client application and it is able to communicate with the server
adopting the common ICQ protocol. The new Flash version
of ICQ2Go! and Meebo are comparable in terms of user
experience: both of them start much faster than the ICQ2Go!
applet, but they still have a very good look and feel and
an extensive set of functionalities. However, both the Flash
and the AJAX version required a special serverside wrapper
because they can communicate only with a XML protocol.</p>
      <p>After the analysis of the various technologies, we have
chosen to adopt AJAX in order to develop the Interface Agent.
With AJAX, it is possible to create an agent hosted in the web
10http://maps.google.com/
11http://www.zimbra.com/
12http://go.icq.com/
13http://www.meebo.com/
browser that remains alive and active during the visualization
of a web page. So it is possible to go beyond the classic web
request/response model and develop proactive interface agents.
We chose AJAX instead of Flash because it is possible to
develop AJAX applications with Open Source tools (in fact,
only a common text editor is needed). Today, a commercial
IDE is required to build Flash web applications; although
there is an Open Source ActionScript compiler14, the lack of
a proper fullfeatured Open Source IDE and mature tools for
user interface drawing is a major drawback. Compared to Java
Applet, instead, AJAX is lightweight and better integrated in
the browsing environment: JavaScript functions have a
complete control on the page content while applets are con ned
in a sandbox. This is a very important feature because the aim
of an interface agent is to interact with the user, so an agent
with more freedom of action over the interface can perform
its task more effectively.</p>
      <sec id="sec-5-1">
        <title>B. The Interface Agent in the Overall Architecture</title>
        <p>The interface agent starts its activity when a web page
of the site is loaded into client Web Browser. The rst
action performed by the agent is adding to every link of
the page a parameter (called linkfrom) with the URL of the
current page as value. This action permits to identify the
source page of every subsequent request. For example, assume
that current page address is http://host/index.html, the
link &lt;a href="events.html"&gt;Events&lt;/a&gt; included in the
page will be rewritten as
&lt;a href="events.html?linkfrom=index.html"&gt;Events&lt;/a&gt;</p>
        <p>Similarly, &lt;a href="news.jsp?news=1"&gt;Events&lt;/a&gt;
will be rewritten as
&lt;a href="news.jsp?news=1&amp;linkfrom=index.html"&gt;Events
&lt;/a&gt;</p>
        <p>The content of the page is dynamically changed at
clientside by JavaScript DOM (Document Object Model), so the
original page on the server remains intact. DOM will allow
scripts to dynamically access and update the content, structure
and style of current page. The document can be further
processed and the results of that processing can be incorporated
back into the presented page. The agent doesn't update every
link of the page, but only the HTTP links to the current site.</p>
        <p>So links to other sites, or links to a FTP repository or mail
address remain unchanged.</p>
        <p>The next action performed by the interface agent is
to call the tracker. If the current page is called with
the linkfrom parameter, this parameter is passed to the
tracker. The tracker uses this parameter to build the
traces. For example, if the URL of the current page is
events.html?linkfrom=index.html the user's last page
was index.html. The tracker can add a trace for the current
user from index.html to events.html (or update an existing
one). The tracker doesn't perform this operation itself, instead
it informs the user agent on the MMASS environment, which
is responsible for adding the trace. Then the interface agent can
,$-).%/01$%</p>
        <p>*+$"#);$%@$%
!"#$%&amp;'($)*+$"#</p>
        <p>A%'(B$%)3"@/('#3/"
query the server to obtain the emerging links to be suggested to
the user.Suggestions are in fact generated on the serverside
and are published as an RSS15(Really Simple Syndication)
feed. The agent suggestion request is managed by the user
agent (analogously as for traces). We choose RSS instead of a
proprietary format because this allows foreign interface agents
(other then our interface agent) to interact with the system.</p>
        <p>The interface agents loads the RSS by using the
XMLHttpRequest16 class, which allows to perform an
asynchronous request to the web server hosting the current web
page and to store the response in a local variable. The
response could be a XML document or plain text. In the</p>
        <p>rst case, XMLHttpRequest stores the retrieved data in a
DOM-structured object, which can be navigated using the
standard JavaScript DOM access methods and properties, such
as getElementsByTagName() and childNodes[]. The
following code is an example of using XMLHttpRequest to
asynchronously request the server side page suggestions.jsp:</p>
        <p>This method of the interface agent parses the RSS document
and displays the suggestions in a box in the web page. This
operation is done by using DHTML: the agent searches for
the suggestion box (sBox) in the DOM of the page (which
is a tree representation of the page HTML source) and than
it replaces the content of the suggestion box with the freshly
generated one. The latter is based on RSS suggestions: for
each suggested page (represented as an item in the RSS) the
Interface Agent adds a link to the page and uses the title of the
page as label for the link. The following RSS is a suggestion
example:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;rss version="2.0"
xmlns:lintar="http://www.lintar.disco.unimib.it/"&gt;
&lt;channel&gt;
&lt;title&gt;Suggested contents for index.html&lt;/title&gt;
&lt;link&gt;http://example.com/index.html&lt;/link&gt;
&lt;language&gt;en&lt;/language&gt;
&lt;pubDate&gt;Wed, 28 Jun 2006 02:28:19 +0200&lt;/pubDate&gt;
&lt;ttl&gt;1&lt;/ttl&gt;
&lt;item&gt;
&lt;title&gt;Events&lt;/title&gt;
&lt;link&gt;http://example.com/events.html&lt;/link&gt;
&lt;guid&gt;http://example.com/events.html&lt;/guid&gt;
&lt;lintar:usersTraces&gt;75&lt;/lintar:usersTraces&gt;
&lt;lintar:onlineUsers&gt;3&lt;/lintar:onlineUsers&gt;
&lt;/item&gt;
[ ... more items ... ]
&lt;/channel&gt;
&lt;/rss&gt;
}
// Replaces the content of the suggestions box
document.getElementById("sBox").innerHTML = html;</p>
        <p>In this example, the rst suggested element is the Events
page, whose URL is http://example.com/events.html.</p>
        <p>
          The tags in the lintar namespace are our extension to
req = new XMLHttpRequest(); the basic RSS: the &lt;lintar:onlineUsers&gt; tag identi es
req.onreadystatechange = processReqChange; the number of users currently viewing the page and the
rreeqq..soepnedn((n"uGlElT)";, "suggestions.jsp", true); &lt;lintar:usersTraces&gt; tag represent the intensity of
footprints on the page, in the spirit of [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Footprints are signs
        </p>
        <p>In order to nd out when the method has nished retrieving that one or more users have recently viewed the page. This
data, a speci c event listener must be de ned: in this case information is also displayed by the interface agent on the
the method is processReqChange, reported in the following suggestion box: the number of online users is displayed as
code snippet: a picture of little red man and the presence of users traces is
function processReqChange() { represented by corresponding icon. The number of online users
if ((req.readyState == 4) &amp;&amp; (req.status == 200)) { and the intensity of footprints are displayed in a tip box that
/v/arGextmsl t=hereiqt.ermesspfornosmeXtMhLe; XML document it is shown when the mouse arrow is over the picture. It must
var items = xml.getElementsByTagName("item"); be noted that the interface agent does not just provide a one
// Builds new suggestions shot behaviour. In fact, when initialized, it sets a timeout for
fvoarr (hittmelm=i"n";items) { a cyclical invocation of its main execution cycle by the web
var title = getValue(item, "title"); browser. In this speci c application, in particular, it is this able
var link = getValue(item, "link"); to update and refresh the indication on the presence of other
// Adds a link and a carriage return
html += "&lt;a href='" + link + "'&gt;" + title + "&lt;/a&gt;"; visitors and footprints on suggested pages. The overall cycle
html += "&lt;br/&gt;"; of interaction between the interface agent and the back end of
the system is illustrated in Figure 6 and a screenshot of the
web page enriched by the interface agent is shown in Figure 7.
}
}
15http://www.rssboard.org/rss-speci cation
16http://www.w3.org/TR/XMLHttpRequest/</p>
      </sec>
      <sec id="sec-5-2">
        <title>C. The Adaptation Strategy</title>
        <p>Every MAS agent of the implemented system provide
personalized suggestions about items that user will nd
interesting, according to the history of the user and to the other
!"(&amp;$/'#/$(&amp;$/./10#.$/))*'.(,+$0*$0"#$0'/)#&amp;$0"/0
5#'#$1'#8(*%&amp;63$+#,#'/0#.$23$/+#,0&amp;$'#6/0#.$0*$0"(&amp;</p>
        <p>%&amp;#'&amp;$/,.$*0"#'$8(&amp;(0*'&amp;9
!"#$:,0#';/)#$&lt;+#,0$%1./0#&amp;$0"(&amp;$/'#/$#8#'3$;#5$&amp;#)*,.&amp;9
!"#$=;**01'(,0&amp;=$7#/,&amp;$&amp;*7#*,#$'#)#,063$8(&amp;(0$0"#$1/+#&gt;</p>
        <p>0"#$=6(006#$7/,=$7#/,&amp;$/$%&amp;#'$(&amp;$8(&amp;(0(,+$0"#$1/+#9
users path. These suggesting links have relationship with the
previously introduced traces, which represent behaviors and
movements of a user in a web site: the strategy which is
adopted to select the most relevant traces to be presented to
a given user considers the occurrence of trace generation and
the success rate of the traces that were proposed.</p>
        <p>
          A rst element of this strategy is adopted when new users
(or non authenticated ones) enter the site. In this case the user
has no previous history (or it is not possible to correlate the
user with his/her history), and the adopted strategy considers
all stored traces, not considering the user which generated
them. An additional information that is stored with traces
is the number of times that the related trace was effectively
selected and shown to a user and the number of times that
the related link was effectively exploited by a user. This kind
of information allows to obtain an indication of the success
rate of the suggestions that were chosen by the agent, and can
be exploited to select the traces to be shown in the adaptive
block. When the agent has an indication of the user which
issued the request, it may focus the selection activity to those
traces that compose the history of user's activities in the
web site, in a web customization framework. In fact traces
include an indication of the agent which generated them, and
in turn agents are related to registered users. Moreover, in
order to focus on a speci c user's history but do not waste
the chance to exploit other users' experiences, just two of the
three available slots for emergent links are devoted to traces
that were generated by that user and one is selected according
to the strategy adopted for anonymous or new users. Because
the time spent on a page had a strong correlation with explicit
interest [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], the adopted strategy uses this information to
re ne the proposed suggestions.
        </p>
        <p>An example of page adaptation refers to the adoption of a
recurrent trace leading from the index of the web site to a
content page, that is not directly connected to the index but that is
visited very frequently. This kind of vertical17 emerging link
is frequently observed in the prototypal implemetation of the
system, which is installed in a web site presenting information
about a research laboratory as well as information on courses
held by members of the group18. Since the number of students
of some of these courses is very high, they frequently generate
traces connecting the index to the page related to those courses.
These traces represent effective shortcuts allowing to bypass
intermediate index pages related to education activities and
university courses. However, emerging links can also connect
pages deep in the site structure. For example, a page related
to a project might not be explicitly connected to another page
describing a particular modeling approach adopted in that
project, but a user might browse the web site and effectively
discover that page, causing the generation by the system of a
correspondant trace connecting the project and the modeling
approach. This trace might not be extremely relevant to all
visitors of the web site, due to the fact that this navigation
path will probably be not very frequent, but if the visitor is a
registered user the trace could be stored and suggested anyway,
since a number of slots in the adaptive area of the page is
reserved to usergenerated emerging links.</p>
        <p>This strategy for the exploitation of the gathered and stored
traces, based on users' behaviours and movement in the web
site environment, represents a very simple way of exploiting
this kind of information without requiring an off-line analysis
17Here vertical is intended as describing the typical navigation path starting
from an index page and going deeper into the web site.</p>
        <p>18http://www.lintar.disco.unimib.it
of the logs generated by the web server. The design,
implementation and test of more complex strategies, for instance
based on details of the outcomes of emerging link proposals
(e.g. which user effectively followed the suggested adaptive
hyperlink) are object of future works.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>V. RELATED WORK</title>
      <p>
        There are several different approaches and relevant
experiences in the area of web site adaptation, and some of
them are also related to agent technologies. In particular,
a relevant approach provides the adoption of information
agents supporting users in their navigation [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. These agents
generally consider both the speci c behaviour of the user and
the actions of other visitors, and adopt multiple strategies for
making recommendations (e.g. similarity, proximity, access
frequency to speci c documents).
      </p>
      <p>
        The Footprints system [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] instead provides a site
optimization through the metaphor of site visitors leaving traces in
their navigation. These signals accumulate in the
environment, generating awareness information on the most frequently
visited areas of the web site. No user pro le is needed,
as visitors are essentially provided this information which
could represent an indicator of the most interesting pages
to visit. The metaphor of the structure of the web site as
an environment on which visitors move in their search for
information is very similar to the one on which the proposed
framework is based, but we also propose the exploitation of
the gathered information on users' paths for user speci c
customization. Another interesting recent work [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] represents
an attempt to integrate interaction mechanisms similar to the
one adopted by Footprints, often referred to as stigmergic
interaction mechanisms [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], and cognitive agents. This line
of research could represent an interesting way to integrate the
proposed approach, which is able to generate and manage
awareness contextual information, with higher level
mechanisms and strategies of adaptation.
      </p>
      <p>
        Other approaches provide instead the generation of index
pages [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], that are pages containing links to other pages
covering a speci c topic. These pages, resulting from an
analysis of access logs aimed at nding clusters grouping
together pages related to a topic, are proposed to web masters
in a computer-assisted site optimization scheme. A
different approach provides the real-time generation of shortcut
links [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], through a predictive model of web usage based
on statistical techniques and the concept of expected saving
of a shortcut, which considers both the probability that the
generated link will be effectively used and the amount of
effort saved (i.e. intermediate links to follow). In particular,
this framework is very similar to the one proposed here with
reference to the aims of the overall system, but it incorporates
a complex algorithm for off-line analysis of logs, while the
proposed approach provides a light and dynamic generation of
most probable useful links and the storage of these proposals
and high level information on site usage for a possible further
off-line analysis.
      </p>
      <p>
        A different approach to web site adaptation provides the
adoption of a learning network to model the evolution of
a distributed hypertext network, such as a web site [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
Also in this case the adaptation provides a modi cation in
the structure of a web site, and the concept of emergent
link and the underlying mechanisms present a similarity with
the learning rules adopted for that kind of learning network.
However that approach also provides a deep modi cation
in the architecture of the site and modi cations in the web
protocols, while this work aims at providing a solution that
can be easily integrated with a traditional web architecture.
Moreover, recent developments of that line of research were
aimed at identifying analogies and relations among words by
means of web mining [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], rather than realizing adaptive web
systems.
      </p>
      <p>
        The introduced system supporting web site adaptation seems
more similar to a recommendation system. A relevant type
of recommender exploiting users' behaviours to decide which
contents could be interesting for a certain visitor is represented
by the collaborative lter approach [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. The latter has been
adopted in different recommendation systems, ltering mail
messages, newsgroup articles and web contents in general,
but typically requires users to rate these items. Moreover,
it generally provides a concept of explicit users descriptions
through pro les which can be compared to determine
similarity among them. The idea is that contents that received a high
rating by a certain user could be considered interesting by a
similar user. The introduced system instead does not require an
explicit rating of contents, but it rather observes the frequency
of speci c navigation paths, and exploits emergent links for
customization or optimization of site structure. However, the
adaptive block of the page can include emerging links that are
not related to the speci c visitor who is currently browsing
that page, but were generated by other users which frequently
followed paths that the current one still did not follow.
From this point of view, the system provides a very basic
collaborative browsing scheme, but a more through analysis of
a possible integration with this approach is object of current
and future works.
      </p>
    </sec>
    <sec id="sec-7">
      <title>VI. CONCLUSIONS AND FUTURE DEVELOPMENTS</title>
      <p>This paper introduced a general framework providing the
adoption of a web site as an environment on which agents
related to visitors move and possibly interact. This approach
allows the gathering of a structured form of information on
users' behaviours and activities in the web site. The concept
of emerging links and traces have been introduced in order
to support an application exploiting information on users'
browsing history for sake of web pages adaptation. The
introduced framework and the application to web site adaptation
have been designed and implemented, exploiting a platform
supporting systems based on the MMASS model.</p>
      <p>A campaign of tests aimed at evaluating the effectiveness
of the adaptation approach, and also for sake of tuning
the involved parameters (e.g. timings, number of presented
possible emerging links) is under way. This evaluation will
be based on user interviews and also on the exploitation
of the gathered information of the success rate of proposed
adaptive hyperlinks. Such an indicator might be obtained as a
ratio between the number of times an emerging link has been
actually selected by a user and the total number of times its has
been shown. However, it must be noted that we currently do
not have an indication of threshold to discriminate successful
suggestions from unsatisfactory ones; a further analysis of
methods adopted to evaluate related approaches is currently
being carried out. The results of this evaluation might also lead
to consider the modelling, design and implementation of more
complex trace selection strategies, and thus a more complex
behaviour for the interface agent.</p>
      <p>
        Future works will be focused on the introduction and
exploitation of higher level semantic information related to
the site structure and contents, and thus agents' environment,
aimed at providing additional forms of adaptation, including
images and multimedia contents. While in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] an analysis
on how a conceptual view on the topics may be used as
an additional level of description of the environment, another
aspect that will be considered is the possibility to improve the
effectiveness of webbased applications supporting processes
with adaptive functionalities. Finally, a further development
provides also the design and implementation of a prototype
supporting the context-aware interaction among web site
visitors. In this framework, the environment related to the web
site also supports the mutual perception of the agents situated
in it and it also supports a form of interaction among them
depending on their relative positions. The latter can be thus
considered as a form of contextdependant interaction. A more
thorough analysis of the possible applications of this approach
can be found in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], and a prototypal implemetation of these
interaction mechanisms is currently under way.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Tanenbaum</surname>
          </string-name>
          , Computer Networks - third
          <string-name>
            <surname>edition</surname>
          </string-name>
          .
          <source>Prentice Hall</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Perkowitz</surname>
          </string-name>
          and
          <string-name>
            <given-names>O.</given-names>
            <surname>Etzioni</surname>
          </string-name>
          , 
          <article-title>Adaptive Web Sites: an AI Challenge</article-title>
          .
          <source>in Proceedings of the Fifteenth International Joint Conference on Arti cial Intelligence (IJCAI</source>
          <year>1997</year>
          ),
          <year>1997</year>
          , pp.
          <volume>16</volume>
          
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] , Adaptive Web Sites,
          <source>Communications of the ACM</source>
          , vol.
          <volume>43</volume>
          , no.
          <issue>8</issue>
          , pp.
          <volume>152</volume>
          
          <issue>158</issue>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Cooley</surname>
          </string-name>
          , 
          <article-title>The Use of Web Structure and Content to Identify Subjectively Interesting Web Usage Patterns,</article-title>
          <source>ACM Transactions on Internet Technology</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>93</volume>
          
          <issue>116</issue>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Weyns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V. D.</given-names>
            <surname>Parunak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Holvoet</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Ferber</surname>
          </string-name>
          , 
          <article-title>Environments for Multiagent Systems State-of-the-art and Research Challenges. in Environments for Multi-Agent Systems</article-title>
          , First International Workshop (E4MAS
          <year>2004</year>
          ),
          <source>ser. Lecture Notes in Computer Science</source>
          , vol.
          <volume>3374</volume>
          . SpringerVerlag,
          <year>2005</year>
          , pp.
          <volume>1</volume>
          
          <fpage>47</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Wexelblat</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Maes</surname>
          </string-name>
          , Footprints:
          <article-title>History-Rich Tools for Information Foraging, in Proceedings of the SIGCHI conference on Human factors in computing systems</article-title>
          . ACM Press,
          <year>1999</year>
          , pp.
          <volume>270</volume>
          
          <fpage>277</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J</given-names>
            .
            <surname>Yang</surname>
          </string-name>
          , 
          <article-title>Characterizing Web Usage Regularities with Information Foraging Agents, IEEE Transactions Knowledge and Data Engineering</article-title>
          , vol.
          <volume>16</volume>
          , no.
          <issue>5</issue>
          , pp.
          <volume>566</volume>
          
          <issue>584</issue>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Helbing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Schweitzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Keltsch</surname>
          </string-name>
          , and P. Molna´r, 
          <article-title>Active Walker Model for the Formation of Human and Animal Trail Systems</article-title>
          , Physical Review E, vol.
          <volume>56</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>2527</volume>
          
          <issue>2539</issue>
          ,
          <year>January 1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Miller</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Bharat</surname>
          </string-name>
          , 
          <article-title>Sphinx: a Framework for Creating Personal, Site-speci c Web Crawlers</article-title>
          ,
          <source>Computer Networks and ISDN Systems</source>
          , vol.
          <volume>30</volume>
          , no.
          <issue>1</issue>
          
          <issue>7</issue>
          , pp.
          <volume>119</volume>
          
          <issue>130</issue>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Weyns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Michel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H. V. D.</given-names>
            <surname>Parunak</surname>
          </string-name>
          , Eds.,
          <article-title>Environments for Multi-Agent Systems</article-title>
          , First International Workshop (E4MAS
          <year>2004</year>
          ),
          <source>ser. Lecture Notes in Arti cial Intelligence</source>
          , vol.
          <volume>3374</volume>
          . SpringerVerlag,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Weyns</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Holvoet</surname>
          </string-name>
          , 
          <article-title>Model for Simultaneous Actions in Situated Multi-Agent Systems, in First International German Conference on Multi-Agent System Technologies, MATES, ser</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>2831</volume>
          . SpringerVerlag,
          <year>2003</year>
          , pp.
          <volume>105</volume>
          
          <fpage>119</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mamei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          , and L. Leonardi, Co- elds:
          <article-title>Towards a Unifying Approach to the Engineering of Swarm Intelligent Systems</article-title>
          , in Engineering Societies in the Agents World III: Third International Workshop (ESAW2002),
          <source>ser. Lecture Notes in Arti cial Intelligence</source>
          , vol.
          <volume>2577</volume>
          . SpringerVerlag,
          <year>2002</year>
          , pp.
          <volume>68</volume>
          
          <fpage>81</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hadeli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Valckenaers</surname>
          </string-name>
          , C. Zam rescu,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Brussel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. S.</given-names>
            <surname>Germain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hoelvoet</surname>
          </string-name>
          , and E. Steegmans, 
          <article-title>Self-organising in Multi-Agent Coordination and Control Using Stigmergy, in Engineering Self-Organising Systems: Nature-Inspired Approaches to Software Engineering, ser</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>2977</volume>
          . SpringerVerlag,
          <year>2004</year>
          , pp.
          <volume>105</volume>
          
          <fpage>123</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bandini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Manzoni</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Simone</surname>
          </string-name>
          , 
          <article-title>Dealing with Space in Multi Agent Systems: a Model for Situated MAS, in Proceedings of the rst international joint conference on Autonomous agents and multiagent systems</article-title>
          . ACM Press,
          <year>2002</year>
          , pp.
          <volume>1183</volume>
          
          <fpage>1190</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bandini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Manzoni</surname>
          </string-name>
          , and G. Vizzari, 
          <article-title>Towards a Platform for Multilayered Multi Agent Situated System Based Simulations: Focusing on Field Diffusion,</article-title>
          <source>Applied Arti cial Intelligence</source>
          , vol.
          <volume>20</volume>
          , no.
          <issue>4</issue>
          
          <issue>5</issue>
          , pp.
          <volume>327</volume>
          
          <issue>351</issue>
          ,
          <year>2006</year>
          ..
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Garrett</surname>
          </string-name>
          , 
          <article-title>AJAX: a New Approach to Web Applications, Adaptive Path Essay</article-title>
          ,
          <source>Tech. Rep.</source>
          ,
          <year>2005</year>
          . [Online]. Available: http://www.adaptivepath.com/publications/essays/archives/000385.php
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Claypool</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Waseda</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Brown</surname>
          </string-name>
          , Implicit Interest Indicators.
          <source>in Intelligent User Interfaces</source>
          ,
          <year>2001</year>
          , pp.
          <volume>33</volume>
          
          <fpage>40</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Pazzani</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Billsus</surname>
          </string-name>
          , Adaptive Web Site Agents, Autonomous Agents and
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Systems</given-names>
          </string-name>
          , vol.
          <volume>5</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>205</volume>
          
          <issue>218</issue>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ricci</surname>
          </string-name>
          , Omicini,
          <string-name>
            <given-names>M.</given-names>
            <surname>Viroli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gardelli</surname>
          </string-name>
          , and E. Oliva, 
          <article-title>Cognitive Stigmergy: a Framework Based on Agents</article-title>
          and Artifacts, in 3rd International Workshop 
          <article-title>Environments for Multi-Agent Systems</article-title>
          (E4MAS
          <year>2006</year>
          ),
          <string-name>
            <given-names>D.</given-names>
            <surname>Weyns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V. D.</given-names>
            <surname>Parunak</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Michel</surname>
          </string-name>
          , Eds.,
          <year>2006</year>
          , pp.
          <volume>44</volume>
          
          <fpage>60</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Theraulaz</surname>
          </string-name>
          and E. Bonabeau, 
          <article-title>A Brief History of Stimergy, Arti cial Life</article-title>
          , vol.
          <volume>5</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>97</volume>
          
          <issue>116</issue>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>C. R. Anderson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Domingos</surname>
            , and
            <given-names>D. S.</given-names>
          </string-name>
          <string-name>
            <surname>Weld</surname>
          </string-name>
          ,
          <article-title>Adaptive Web Navigation for Wireless Devices</article-title>
          ,
          <source>in Proceedings of the Seventeenth International Joint Conference on Arti cial Intelligence (IJCAI</source>
          <year>2001</year>
          ),
          <year>2001</year>
          , pp.
          <volume>879</volume>
          
          <fpage>884</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bollen</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Heylighen</surname>
          </string-name>
          , 
          <article-title>Algorithms for the Self-Organisation of Distributed, Multi-User Networks</article-title>
          .
          <source>Possible Application to the Future World Wide Web, in Proceedings of the 13th European Meeting on Cybernetics and Systems Research</source>
          , R. Trappl, Ed.
          <source>Austrian Society for Cybernetic Studies</source>
          ,
          <year>1996</year>
          , pp.
          <volume>911</volume>
          
          <fpage>916</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>F.</given-names>
            <surname>Heylighen</surname>
          </string-name>
          , 
          <article-title>Mining Associative Meanings from the Web: from Word Disambiguation to the Global Brain, in Proceedings of the International Colloquium: Trends in Special Language</article-title>
          &amp;
          <string-name>
            <surname>Language Technology</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Temmerman</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lutjeharms</surname>
          </string-name>
          , Eds. Standaard Editions, Antwerpen,
          <year>2001</year>
          , pp.
          <volume>15</volume>
          
          <fpage>44</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>P.</given-names>
            <surname>Resnick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Iacovou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Suchak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bergstrom</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Riedl</surname>
          </string-name>
          , 
          <article-title>Grouplens: an Open Architecture for Collaborative Filtering of Netnews, in CSCW '94: Proceedings of the 1994 ACM conference on Computer supported cooperative work</article-title>
          . ACM Press,
          <year>1994</year>
          , pp.
          <volume>175</volume>
          
          <fpage>186</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bandini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Simone</surname>
          </string-name>
          , and G. Vizzari, 
          <article-title>WWW in the Small: Towards Sustainable Adaptivity</article-title>
          ,
          <source>World Wide Web Journal</source>
          ,
          <year>2006</year>
          (to appear).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>