<!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>Agent-based Development of Wireless Sensor Network Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giancarlo Fortino</string-name>
          <email>g.fortino@unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Galzarano</string-name>
          <email>sgalzarano@deis.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Raffaele Gravina</string-name>
          <email>rgravina@deis.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Guerrieri</string-name>
          <email>aguerrieri@deis.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DEIS - University of Calabria Via P. Bucci cubo 41c</institution>
          ,
          <addr-line>87036 Rende (CS)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- Due to the growing exploitation of wireless sensor networks (WSNs) for enhancing all major conventional application domains and enabling brand new application domains, the development of applications based on WSNs has recently gained a significant focus. Thus, design methods, middleware and frameworks have been defined and made available to support high-level programming of WSN applications. However, even though many proposals do exist, more research efforts should still be devoted to the definition of WSN-oriented methodologies and tools fully supporting the development lifecycle of WSN applications. In this paper, we promote the use of the agent paradigm for the development of WSN applications. After providing motivations about synergies between agents and WSNs and a brief overview about agent technology for WSNs, we describe the use of MAPS (Mobile Agent Platform for Sun SPOTs), our agent platform for WSNs, for the development of applications in important application domains based on wireless body sensor networks (e.g. e-Health) and building sensor and actuator networks (e.g. energy efficient buildings). Finally, we delineate the characteristics on which fullfledged agent-oriented methodologies for WSN applications could be built.</p>
      </abstract>
      <kwd-group>
        <kwd>-Agent-based development</kwd>
        <kwd>agent-oriented programming frameworks</kwd>
        <kwd>wireless sensor networks</kwd>
        <kwd>state-based programming</kwd>
        <kwd>MAPS</kwd>
        <kwd>body sensor networks</kwd>
        <kwd>bulding sensor and actuator networks</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
      <p>
        Advances in micro-electro-mechanical systems (MEMS)
technology, wireless communications, and digital electronics
have enabled the development of low-cost, low-power,
multifunctional sensor nodes that are small in size and can
communicate over short distances in an ad-hoc manner. Such
nodes are, in general, characterized by constrained computing
and communication capabilities. A given number of such
cooperating sensor nodes can be organized and deployed as a
wireless sensor network (WSN) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The development of applications for WSNs requires not
only the same middleware/programming support required by
conventional distributed applications but also the fulfillment of
additional requirements specific to WSNs [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular,
middleware support for conventional distributed applications
includes:
      </p>
      <p>Shielding application developers from low-level
platform-specific details;
Reusable pattern-oriented frameworks, rather than
(re)building software monolithically for each
application;
Higher-level network-oriented programming
abstractions that better match distributed application
requirements;
A wide array of non-functional services, such as
logging, deployment management and security that
have been proven necessary to operate effectively in a
networked environment.</p>
      <p>Moreover, specific WSN features that have to be fully
supported are:</p>
      <p>Resource-constrained nature of WSNs in terms of
processing and memory capabilities, and battery life;
WSN nodes are usually dynamic and mobile in nature
instead of being static and fixed as in traditional
distributed systems;
Differently from traditional distributed systems, WSN
nodes usually incorporate both application-level
functions and the management of low-level aspects
related to mobility, routing and security.</p>
      <p>
        Several middleware architectures based on different models
(database, macroprogramming, event-based, virtual machine,
etc) have been to date proposed to support the development,
deployment, execution, and maintenance of sensor-based
applications [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]. Nevertheless, considering the commonalities
that bind the intrinsic properties of WSNs with those of agents
[
        <xref ref-type="bibr" rid="ref46">46</xref>
        ], agent-based middleware could be more effective in the
context of WSNs than middleware based on other models.
      </p>
      <p>
        It is therefore reasonable to wonder whether agent
technology can effectively support the construction of WSN
applications. The paradigm of agent-oriented software
engineering (AOSE) is argued to be well suited for developing
complex software systems in distributed and dynamic
environments [
        <xref ref-type="bibr" rid="ref25 ref28">25, 28</xref>
        ]. In particular, agent technology already
offers several approaches for the design and implementation of
agent-based sensor applications: (i) the development of a
multiagent application atop non agent-oriented middleware for
WSNs [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]; (ii) the development of agent-based middleware
that supports agent-based programming [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]; and (iii) the
extension of an existing multi-agent platform with middleware
capabilities for WSNs (if possible) [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ].
      </p>
      <p>Although agent-oriented programming support is available,
there is still a lack of full-fledged methodologies specifically
supporting all phases (from requirement analysis to system
maintenance) of the development lifecycle of agent-based
WSN applications.</p>
      <p>
        In this paper, we first provide an overview of agent-based
computing in WSNs from several perspectives: network
routing, data dissemination and fusion, in-network
coordination, programming frameworks, high-level system
architectures and applications (see Section II). Then, in Section
III, agent-based development of WSN applications enabled by
the MAPS (Mobile Agent Platform for Sun SPOT) framework
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is exemplified. Section IV discusses the identified
requirements for defining a full-fledged agent-oriented
methodology for the development of WSN applications.
Finally, some concluding remarks along with a brief
description of the on-going work are provided.
      </p>
      <p>II.</p>
    </sec>
    <sec id="sec-2">
      <title>AGENTS AND WIRELESS SENSOR NETWORKS</title>
      <p>
        Agent technology has been successfully used in WSNs at
different levels (application, middleware, network) [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]. In the
following we provide motivations of using agents for WSNs.
As sensors in a WSN must typically coordinate their actions to
achieve system-wide goals, coordination among dynamic
entities (or agents) is one of the main features of multi-agent
systems. Moreover, WSNs are characterized by the following
properties: physical distribution, resource boundedness,
information uncertainty, large scale, decentralized control and
adaptiveness [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ]. Such properties are shared with and can be
supported by agents and multi-agent systems. In particular:
      </p>
      <p>Physical distribution implies that sensors are situated in
an environment from which they can receive stimuli
and act accordingly, also through control actions
aiming at changing their environment. Situatedness is a
main property of an agent and several well-known
agent architectures were defined to support such
important property.</p>
      <p>Boundedness of resources (computing power,
communication and energy) is a typical property both
of sensor nodes as single units and of the WSN as a
whole. Agents and related infrastructures can support
such limitation through intelligent resource-aware,
single and cooperative behaviors.</p>
      <p>Information uncertainty is typical in large-scale WSNs
in which both the status of the network and the data
gathered to observe the monitored/controlled
phenomena could be incomplete. In this case,
intelligent (mobile) agents could recover inconsistent
states and data through cooperation and mobility.</p>
      <p>Large scale is a property of WSNs either sparsely
deployed on a wide area or densely deployed on a
restricted area. Agents in multi-agent systems usually
cooperate in a decentralized way through highly
scalable interaction protocols and/or time- and
spacedecoupled coordination infrastructures.</p>
      <p>In large-scale WSNs, centralized control is not feasible
as nodes can have intermittent connections and also
can suddenly disappear due to energy lack. Thus,
decentralized control should be exploited. The
multiagent approach is usually based on control
decentralization transferred either to multiple agents
dynamically elected among the available set of agents
or to the whole ensemble of agents coordinating as
peers.</p>
      <p>Adaptiveness is the main shared property between
sensors and agents. An agent is by definition adaptive
in the environment in which is situated. Thus,
modeling the sensor activity as an agent or a
multiagent system and, consequently, the whole WSN as a
multi-agent system, could facilitate the implementation
of the adaptiveness properties.</p>
      <p>
        Moreover an interesting taxonomy about sensor networks
and their relationships with multi-agent systems can be found
in [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ].
      </p>
      <p>The main agent-oriented research efforts have been to date
devoted to the following WSN research themes: network
routing, data dissemination and fusion, in-network
coordination, programming frameworks, high-level system
architectures and applications. In the following subsections an
overview of some of the main outcomes related to such themes
will be presented.</p>
      <sec id="sec-2-1">
        <title>A. Network routing</title>
        <p>Several agent-oriented techniques have been defined to
support efficient routing in WSNs. Most of them are based on
mobile agents that are able to roam across the sensor nodes,
performing routing tasks.</p>
        <p>
          An interesting routing technique based on mobile agents is
rumor routing [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] that allows for routing queries to nodes that
have observed a particular event (i.e. a localized phenomenon
detected by some sensor node/s). The rumor routing algorithm
aims at lower energy consumption than algorithms that flood
the whole network with query or event messages. The main
idea is that mobile agents a priori create paths leading to event
nodes as the events occur; later queries are sent on random
walks until they find one of the created paths, and then route
along the path to event nodes.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] authors propose a solution where mobile agents are
created whenever a source node decides to send a data packet
to the sink. Agents are then responsible for carrying the data
through the network. After reaching the destination, the agent
delivers the data to the application and then dies. After arriving
at a node, the agent checks a forwarding table available at the
node with the possible next hops, including such nodes
respective costs and energy levels. Based on that information,
agents take a decision. Since energy levels are depleted as
agents use a given path, future agents might take more
expensive paths that happen to have more energy available,
achieving some degree of load balancing. Moreover, agents
could negotiate and aggregate their data when they “meet” in
the network, possibly becoming one single agent after such
aggregation.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Data Dissemination and Fusion</title>
        <p>
          Several data fusion and dissemination schemes based on
mobile agents have been to date proposed. In [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], authors
review and evaluate the most representative mobile
agentbased middleware proposals for autonomic data fusion tasks in
WSNs, highlighting their relevant strengths and shortcomings.
They classify such research proposals in five main categories:
single mobile agent-based, multiple mobile agent-based,
autonomic data fusion in clustered WSN architectures,
hardware based and combined multiple mobile agent/stationary
agents-based autonomic data fusion. In [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] mobile agents are
used to disseminate data. According to client/server
architectures, data at multiple sources is transferred to a
destination whereas, according to the mobile agent paradigm, a
task-specific mobile agent traverses the relevant sources to
gather data and disseminate them according to specific policies.
Many inherent advantages (e.g. scalability, extensibility,
energy awareness, reliability) of the mobile agent architecture
make it suitable for WSNs than the client/server architecture.
Mobile agents can be exploited at three levels (node level, task
level, and combined task level) to reduce the information
redundancy and communication overhead.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>C. Energy-aware Coordination</title>
        <p>
          Within application domains involving low-power, wireless
devices physically distributed over an environment to acquire
and integrate information, one of the main challenges to face
with is to coordinate the activities of such devices in order to
achieve good system-wide performance. Moreover, several
constraints have to be considered: specific constraints on each
device (e.g. limited power, communication and computational
resources), the limitation for each of them to be able to
communicate with only its local neighborhood and the need for
a decentralized approach such that there is no central point of
failure and no communication bottleneck. The problem of
performing decentralized coordination of low-power devices is
addressed in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] by considering the generic problem of
maximizing social welfare within a group of interacting agents.
Each agent interacts locally with a number of other agents such
that the utility of an individual agent is dependent on its own
state and the states of these other agents. In particular, a novel
representation of the problem, through a cyclic bipartite factor
graph composed of variable and function nodes (representing
the agents’ states and utilities respectively), is proposed. Such
descriptive model allows using an extension of the
sumproduct algorithm (specifically the max-sum algorithm), which
is adopted, along with a local decentralized message passing, to
generate approximate solutions to the global optimization
problem. It is shown that this approach has a communication
cost (in terms of total messages size and, consequently, in
energy consumption) that scales very well with the number of
agents in the system because the complexity of the calculation
that each agent performs depends only on the number of
neighbors that it has and not on the total size of the network.
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>D. Programming Frameworks</title>
        <p>
          Very few agent frameworks for WSNs have been to date
proposed and concretely implemented. In the following, we
first describe Agilla and actorNet, the most significant
available research prototypes based on TinyOS [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ], and then,
we introduce AFME and MAPS which are based on Java.
        </p>
        <p>
          Agilla [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] is an agent-based middleware developed on
TinyOS and supporting multiple agents on each node. Agilla
provides two fundamental resources on each node: a tuplespace
and a neighbor list. The tuplespace represents a shared memory
space where structured data (tuples) can be stored and
retrieved, allowing agents to exchange information through
spatial and temporal decoupling. A tuplespace can be also
accessed remotely. The neighbor list contains the address of all
one-hop nodes needed when an agent has to migrate. Agents
can migrate carrying their code and state, but they cannot carry
their tuples locally stored on a tuplespace. Packets used for
node communication (e.g. for agent migration/cloning, remote
tuple accessing) are very small to minimize messages losses,
whereas retransmission techniques are also adopted.
        </p>
        <p>
          ActorNet [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] is an agent-based platform specifically
designed for Mica2/TinyOS sensor nodes. To overcome the
difficulties in allowing code migration and interoperability due
to the strict coupling between applications and sensor node
architectures, actorNet exposes services like virtual memory,
context switching, and multi-tasking. Thanks to these features,
it effectively supports agent programming by providing a
uniform computing environment for all agents, regardless of
hardware or operating system differences. The actorNet
language used for high-level agent programming has syntax
and semantics similar to those of Scheme with proper
instruction extension.
        </p>
        <p>
          Both Agilla and actorNet are designed for TinyOS that
relies on the nesC language that is not an object-oriented
language but an event- and component-based extension of the
ANSI C language. The Java language, through which Sun
SPOT [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ] and Sentilla JCreate [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] sensors can be
programmed, due to its object-oriented features, could provide
more flexibility and extendibility for an effective
implementation of agent-based platforms. Currently, the only
two available Java-based mobile agent platforms for WSNs are
MAPS [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and AFME [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
        </p>
        <p>
          The AFME framework [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], a lightweight version of the
agent factory framework purposely designed for wireless
pervasive systems and implemented in J2ME, has been
recently ported onto Sun SPOT and used for exemplifying
agent communication and migration in WSNs. AFME is
strongly based on the Belief-Desire-Intention (BDI) paradigm, in
which agents follow a sense-deliberate-act cycle. In AFME,
agents are defined through a mixed declarative/imperative
programming model. The declarative Agent Factory Agent
Programming Language (AFAPL), based on a logical formalism
of beliefs and commitments, is used to encode an agent’s
behavior by specifying rules that define the conditions under
which commitments are adopted. The imperative Java code is
instead used to encode perceptors and actuators. However,
AFME was not specifically designed for WSNs and,
particularly, for Java Sun SPOT. MAPS, the Java-based agent
platform overviewed in the next section, is conversely
specifically designed for WSNs and fully uses the release 4.0
blue of the Sun SPOT library to provide advanced functionality
of communication, migration, sensing/actuation, timing and
flash memory storage. Moreover, it allows developers to
program agent-based applications in Java according to the rules
of the MAPS framework, and thus no translator and/or
interpreter need to be developed and no new language has to be
learnt as in the case of Agilla, ActorNet and AFME.
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>E. System Architectures, Services and Applications</title>
        <p>
          Mobile agents have been also exploited to design WSN system
architectures and develop services and applications based on
WSNs. In [
          <xref ref-type="bibr" rid="ref10 ref23">10, 23</xref>
          ] authors propose mobile agents for WSN
applications and, specifically, decompose the agent design
functionality into four components: architecture, itinerary
planning, middleware system design, and agent cooperation.
This decomposition covers low-level to high-level design
issues and facilitates the creation of a component-based and
efficient mobile agent system for a wide range of applications.
With reference to applications, a measurable bandwidth saving
can be obtained either when large amounts of data are locally
processed by mobile agents, or when the deployment of a
programmable approach enabling task autonomy is required.
To this purpose, an efficient design for the core components is
required to support the scheme being followed by the
agentbased application when dealing with a particular type of
problem. Similarly, the WSN application has a direct influence
on the type of communications mechanism employed by the
mobile agent system to perform its task efficiently. However,
their applicability mainly is warranted not only by the overall
energy savings they introduce, but also by the extra flexibility
they offer when coping with frequent and/or unexpected
aspects of the event being sensed that other types of approaches
are unable to address efficiently.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] the MAWSN (Mobile Agent-based WSN) architecture
for data processing/aggregating/concatenating in a planar
sensor architecture is proposed. MAWSN can exhibit better
performance than client/server communications in terms of
energy consumption and packet delivery ratio. However,
MAWSN has a longer end-to-end latency than client/server
communications in certain conditions.
        </p>
        <p>
          Mobile agents have also been applied for location tracking
services based on WSNs. The goal is to monitor the roaming
path of a moving object through wireless sensor nodes
disseminated on an environment. While similar to the problem
of location update in personal communication service
networks, it is more challenging as there are no central control
mechanism and backbone network and the communication
bandwidth is very limited. In [
          <xref ref-type="bibr" rid="ref44">44</xref>
          ], a mobile agent-based
protocol for location tracking is proposed. Once a new object is
detected, a mobile agent is initiated to track the roaming path
of the object. The agent follows the object by moving to the
sensor closest to the object. Moreover, the mobile agent may
invite some nearby sensor agent to cooperatively locate the
object and inhibit other irrelevant sensor agents from tracking
the object. As a result, the communication and sensing
overheads can be greatly reduced.
        </p>
        <p>
          Finally, in [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] an energy-efficient, fault-tolerant approach
for collaborative signal and information processing (CSIP)
among multiple sensor nodes using a mobile agent-based
computing model, is proposed. The performance of such a
model is compared with the classic client/server-based model
with respect to the execution time and energy consumption
perspectives through both simulation and analytical study.
Results indicate that in the context of sensor networks where
the number of sensor nodes is very large, the communication
bandwidth is considerably low, and the energy resource is
contingent, the mobile-agent-based computing model is more
suitable for conducting collaborative processing.
        </p>
        <p>III.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>USING MAPS FOR AGENT-BASED DEVELOPMENT</title>
      <p>
        MAPS [
        <xref ref-type="bibr" rid="ref2 ref30">2, 30</xref>
        ] is an innovative Java-based framework
specifically developed on Sun SPOT technology for enabling
agent-oriented programming of WSN applications. It has been
defined according to the following requirements:
      </p>
      <p>Component-based lightweight agent server architecture
to avoid heavy concurrency and agents cooperation
models.</p>
      <p>Lightweight agent architecture to efficiently execute
and migrate agents.</p>
      <p>Minimal core services involving agent migration, agent
naming, agent communication, timing and sensor node
resources access (sensors, actuators, flash memory, and
radio).</p>
      <p>Plug-in-based architecture extensions through which
any other service can be defined in terms of one or
more dynamically installable components implemented
as single or cooperating (mobile) agents.</p>
      <p>Use of Java language for defining the mobile agent
behavior.</p>
      <p>The architecture of MAPS (see Fig. 1) is based on several
components interacting through events and offering a set of
services to mobile agents, including message transmission,
agent creation, agent cloning, agent migration, timer handling,
and an easy access to the sensor node resources. In particular,
the main components are the following:</p>
      <p>Mobile Agent (MA). MAs are the basic high-level
component defined by user for constituting the
agentbased applications.</p>
      <p>Mobile Agent Execution Engine (MAEE). It manages
the execution of MAs by means of an event-based
scheduler enabling lightweight concurrency. MAEE
also interacts with the other services-provider
components to fulfill service requests (message
transmission, sensor reading, timer setting, etc) issued
by MAs.</p>
      <sec id="sec-3-1">
        <title>Mobile Agent Migration Manager (MAMM). This</title>
        <p>component supports agents migration through the
Isolate (de)hibernation feature provided by the Sun
SPOT environment. The MAs hibernation and
serialization involve data and execution state whereas
the code must already reside at the destination node
(this is a current limitation of the Sun SPOTs which do
not support dynamic class loading and code migration).
Mobile Agent Communication Channel (MACC). It
enables inter-agent communications based on
asynchronous messages (unicast
supported by the Radiogram protocol.
or
broadcast)</p>
      </sec>
      <sec id="sec-3-2">
        <title>Mobile Agent Naming (MAN). MAN provides agent</title>
        <p>naming based on proxies for supporting MAMM and
MACC in their operations. It also manages the
(dynamic) list of the neighbor sensor nodes which is
updated through a beaconing mechanism based on
broadcast messages.</p>
        <p>Timer Manager (TM). It manages the timer service for
supporting timing of MA operations.</p>
        <p>Resource Manager (RM). RM allows access to the
resources of the Sun SPOT node: sensors (3-axial
accelerometer, temperature, light), switches, leds,
battery, and flash memory.</p>
        <p>The dynamic behavior of a mobile agent (MA) is modeled
through a multi-plane state machine (MPSM). Each plane may
represent the behavior of the MA in a specific role so enabling
role-based programming. In particular, a plane is composed of
local variables, local functions, and an automaton whose
transitions are labeled by Event-Condition-Action (ECA) rules
E[C]/A, where E is the event name, [C] is a boolean expression
evaluated on global and local variables, and A is the atomic
action. Thus, agents interact through events, which are
asynchronously delivered and managed by the MAEE
component.</p>
        <p>It is worth noting that the MPSM-based agent behavior
programming allows exploiting the benefits deriving from
three main paradigms for WSN programming: event-driven
programming, state-based programming and mobile
agentbased programming.</p>
        <p>
          MAPS has been also made interoperable with the JADE
framework [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Specifically, a JADE-MAPS gateway [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] has
been developed for allowing JADE agents to interact with
MAPS agents and vice versa. While both MAPS and JADE are
Java-based, they use a different communication method. JADE
sends messages according to the FIPA standards (using the
ACL specifications), while MAPS creates its own messages
based on events. Therefore, the JADE-MAPS Gateway
facilitates message exchange between MAPS and JADE
agents. This inter-platform communication infrastructure
allows rapid prototyping of WSN-based distributed
applications/systems that use JADE at the
basestation/coordinator/host sides and MAPS at the sensor
node side.
        </p>
        <p>
          Recently a tiny version of MAPS, named TinyMAPS, has
been developed for the Java-based Sentilla JCreate sensor
platform [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ]. Sentilla sensors are much more
resourceconstrained than Sun SPOT sensors so both the mobile agent
system architecture and the agent architecture of TinyMAPS
have been purposely tailored to be actually implemented. In the
following a comparison between TinyMAPS and MAPS with
respect to their architectures and programming models is
reported.
        </p>
        <p>
          Both TinyMAPS and MAPS offer similar services for
developing WSN agent-based applications. They use state
machines to model the agent behavior and directly the Java
language to program guards and actions. Moreover, differently
from TinyMAPS, MAPS is more powerful and fully exploits
the last release of the Sun SPOT library to provide advanced
functionality of communication, migration, sensing/actuation,
timing, and flash memory storage. In MAPS, the
implementation of mobile agents is based on Isolates, whose
migration mechanism is directly offered by the SPOT Squawk
JVM. The concept of Isolates within Sentilla JCreate
technology is different; they are used as system mechanisms
together with the concept of Binary when the code is deployed
on the motes [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ]. TinyMAPS supports migration by simply
sending an event that contains agent status information and
data (which are coded and encapsulated inside the event); the
agent needs to re-start its execution on the remote node. In any
case, both platforms suffer from the current limitation of the
Sentilla JCreate and the Sun SPOT that do not allow dynamic
class loading, so preventing from the possibility to support
code migration (i.e. any class required by the agent must be
already present at the destination node). Finally, both MAPS
and TinyMAPS allow developers to program agent-based
applications in Java according to its rules so no translator
and/or interpreter need to be developed and no new language
has to be learnt.
        </p>
        <p>
          MAPS is being applied in two WSN application domains:
body sensor networks [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] for supporting assisted livings and
building sensor networks for intelligent management of energy
consumptions and resident comfort [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In the following
subsections, we describe the application of MAPS in the two
aforementioned application domains.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>A. Body Sensor Networks</title>
        <p>
          Among the WSN domains, wireless Body Sensor
Networks (BSNs) [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ] are conveying notable attention as their
real-world applications aim at supporting humans in every
facets of their daily life. BSNs involve wireless wearable
physiological sensors applied to the human body for medical
and non-medical purposes and, in particular, BSNs enable
continuous, real-time, non-invasive, anywhere and anytime
monitoring of assisted livings. Applications where BSNs could
be greatly useful include early detection or prevention of
diseases (heart attacks, Parkinson, diabetes, etc.), elderly
assistance at home, e-Sport, e-Entertainment, post-trauma
rehabilitation after surgeries, motion and gestures detection,
cognitive and emotional recognition for social interactions,
medical assistance in disaster events, e-Factory.
        </p>
        <p>
          To demonstrate the effectiveness of agent-based platforms
to support programming of BSN applications, in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] a
MAPSbased agent-oriented signal processing in-node environment
specialized for real-time human activity monitoring has been
presented. In particular, the system is able to recognize
postures (e.g. lying down, sitting and standing still) and
movements (e.g. walking) of assisted livings. The system
architecture, shown in Fig. 2, is organized into a coordinator
(based on a PC/smartphone), implemented with Java and
JADE, and two sensor nodes implemented with MAPS [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>
          The coordinator side is based on a JADE Agent which
incorporates several modules of the Java-based coordinator
developed in the context of the SPINE framework [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. In
particular, it is used by end-user applications (e.g. the real-time
activity recognition application) for sending commands to the
sensor nodes and is responsible of capturing low-level
messages and events coming from the nodes. The JADE agent
coordinator also integrates an application-specific logic for the
synchronization of the two sensors. In particular, the activity
recognition application, running above the JADE agent,
integrates a classifier based on the K-Nearest Neighbor
algorithm that is capable of recognizing postures and
movements defined in a training phase.
        </p>
        <p>The two sensor nodes are based on the Java Sun SPOT
platform and are respectively positioned on the waist and the
thigh of the monitored person. In particular, MAPS is resident
on the sensor nodes and supports the execution of the
WaistSensorAgent and the ThighSensorAgent, whose
behaviours are modelled though a finite-state machine
executing the following step-wise cycle:
1. Sensing the 3-axial accelerometer sensor according to a
given sampling time;
2. Computation of specific features (Mean function on all
accelerometer axes and Max and Min functions on the
X accelerometer axis for the WaistSensorAgent and
Max on the X accelerometer axis for the
ThighSensorAgent) on the acquired raw data;</p>
      </sec>
      <sec id="sec-3-4">
        <title>3. Features aggregation and transmission to the</title>
        <p>coordinator;
4. Goto 1.</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] the entire system has been analyzed by considering
the following two aspects:
the performance evaluation of the timing granularity
degree of the sensing activity at the sensor node and
the synchronization degree or skew of the activities of
the two sensor agents;
the recognition accuracy which shows how well the
human postures/movements are recognized by the
system.
        </p>
        <p>
          On the basis of the obtained performance results it can be
stated that MAPS shows its great suitability for supporting
efficient BSN applications, so demonstrating that the agent
approach is not only effective during the design of a BSN
application but also during the implementation phase.
Furthermore, the recognition accuracies are good and
encouraging if compared with other works in the literature that
use more than two sensors on the human body to recognize
activities [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]. While it has been shown that MAPS provides
enough efficiency to support the requirements of real-time
recognition of human activities, with reference to programming
effectiveness, its agent programming model based on finite
state machine offers a very straightforward and intuitive
instrument for supporting BSN application development.
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>B. Building Sensor Networks</title>
        <p>
          Building sensor networks are WSNs that are deployed
inside buildings, on the building structure, or among buildings
to support building automation, energy saving and structural
health monitoring. Building sensor networks require an
efficient domain-specific framework for their management and
for the flexible and rapid development of related applications
(smart home, passive house, intra-smart GRID, energy efficient
buildings, etc). To this purpose the Building Management
Framework (BMF) has been developed [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
        </p>
        <p>BMF is a domain-specific framework for intelligent
management of WSAN (Wireless Sensor and Actuator
Networks) enabling proactive monitoring of spaces and control
of devices/equipments. BMF specifically provides: (i) flexible
and efficient management of (large) sets of cooperating
networked sensors and actuators; (ii) abstractions for logical
and physical node group organization to specifically capture
the morphology of buildings; (iii) intelligent sensing and
actuation techniques; (iv) integration of heterogeneous WSNs;
(v) flexible system programming at low- and high-level.</p>
        <p>In particular, BMF is basically organized in two processing
layers: Low-Level Processing (LLP) and High-Level
Processing (HLP). LLP resides on the sensor nodes and
provides the following sensor-based services: acquisition of
data from sensors, execution of actions on actuators, in-node
processing (selection and aggregation), scheduling of sensing
and actuation requests, data and request routing, dynamic node
addressing, and group management.</p>
        <p>LLP is currently available for TinyOS and Sun SPOT nodes
with implementations following respectively the TinyOS
event-driven and the Java object-oriented paradigms. LLP is
highly modular so that it is easy to extend it for new platforms
and to allow for a fast integration of new sensors/actuators.</p>
        <p>HLP resides at the basestation side and provides the
following system-wide services: device discovery and
management, group-based programming of sensors and
actuators, adaptation of heterogeneous devices, and support for
higher-level application-specific components.</p>
        <p>
          HLP is currently based on the OSGi framework [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] so
having strong modularity and allowing to implement all needed
services in different bundles that can communicate with each
other through OSGi. In particular, the following bundles are
available: The Platform Bundle which is a bundle allowing to
interface the system with different type of platforms. Every
Platform Bundle is linked to an hardware component able to
communicate with a platform in the network; The
Communication Bundle which allows to send and receive
packets over the air enabling communication between bundles
and a WSN; The Groups and Nodes Management Bundle
which keeps track of nodes and groups in a WSAN, and stores
nodes configurations and groups compositions; The Packet
Manager Bundle which allows the creation and the
interpretation of low level packets according to the Building
Management Framework Communication Protocol; The
Network Manager Bundle which allows to fully manage a
WSN running the BMF; The Data Saving Bundle which is
designed to save data from the WSN to files or DB; The
Aggregation Bundle which is delegated to execute aggregations
on data from the network; The BMF Management GUI Bundle
which is a standard graphical configuration application
designed to allow the user to manage a WSN submitting
requests, waiting for and visualizing data from the network and
displaying charts about sensing operations.
        </p>
        <p>LLP and HPL interact through an application level
communication protocol, namely Building Management
Framework Communication Protocol (BMFCP). BMFCP
therefore supports the communication between HLP and LLP
to configure and monitor the building sensor network in an
effective manner. The packets exchanged can be formed,
depending on the specific request or the specific data from the
nodes, by different fields having a different amount of bytes.
The BMFCP is developed to send over-the-air variable length
packets containing only the meaningful bits of the significant
fields. Thus, the BMFCP optimizes transmissions saving
battery on the single nodes and network bandwidth so allowing
more nodes to share the same radio channel.</p>
        <p>An agent-oriented design of BMF, named A-BMF, has
been recently carried out. A-BMF exploits agents and their
supporting infrastructure to enhance the management
functionality of BMF with in-node and basestation-side
agentoriented features. The architecture of A-BMF (see Figure 3) is
composed of coordinator agents (CAs), which run in the
basestations, and sensor agents (SAs), which are executed in
the sensor nodes. Specifically A-BMF relies on a
multibasestation approach to allow for large buildings composed of
multiple floors and diversified environments. Thus, the A-BMF
architecture is hybrid: hierarchical and peer-to-peer. Interaction
among CAs is peer-to-peer whereas interaction between
coordinator agents and their related SAs (or SA cluster) is
usually master/slave. Moreover, SAs of the same cluster
coordinate to dynamically form a multi-hop ad-hoc network
rooted at the CA. Functionalities of CAs and SAs are similar to
those described for BMF at the basestation and sensor node
sides. Moreover, CAs can cooperate for submitting queries and
retrieving data spanning multiple SA clusters. A-BMF is
currently being implemented through JADE at basestation side
and through MAPS at sensor side.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. TOWARDS A FULL-FLEDGED AGENT-ORIENTED</title>
      <p>METHODOLOGY FOR THE DEVELOPMENT OF WSN</p>
      <p>APPLICATIONS</p>
      <p>
        The complexity of WSN application development currently
derives from two major issues: (i) a lack of adequate
abstractions in application development that application
developers can exploit for the rapid implementation of WSN
applications; in fact, the level of abstraction remains very low
in the current practice of WSN application development; (ii)
lack of coherent tool chains for application development; in
fact, in addition to programming, WSN application
development involves a series of labor-intensive tasks such as
the compilation and verification of program code,
configuration of a simulator or of sensor nodes, and
deployment/injection of compiled code to nodes. Among the
new paradigms and tools that the Software Engineering has
proposed, the agent-oriented software engineering (AOSE)
[
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], which has shown high suitability to support the
development of distributed applications in terms of multi-agent
systems (MAS) in dynamic and heterogeneous environments,
could be a very good candidate to effectively support WSN
applications. In particular, several agent-oriented
methodologies [
        <xref ref-type="bibr" rid="ref13 ref15 ref21 ref37 ref49 ref9">49, 9, 15, 13, 37, 21</xref>
        ] have been defined to
enable the concrete use of the abstractions of the agent
paradigm and effectively and successfully applied in diverse
application domains. Such methodologies are different in the
following aspects: (i) supported phases of the software
development lifecycle; (ii) adopted modeling languages; (iii)
availability of a CASE tool supporting the methodology; (iv)
agent platforms for executing the produced software. However,
since they are general-purpose, to obtain specific
methodologies for the resolution of specific problems in
specific application domains, the method engineering, which
allows for the integration of method fragments taken from
existing methodologies or developed ad-hoc, has been
exploited [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. In addition, several research efforts have
recently been devoted to integrating simulation into
agentoriented methodologies for supporting MAS validation before
MAS deployment [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. It is worth noting that such
methodologies are not currently exploited for the development
of applications on WSN even though the agent paradigm is
emerging as promising paradigm for programming WSN
applications.
      </p>
      <p>A pure agent-oriented methodology for WSN application
development could be based on:</p>
      <p>
        The use and customization of agent-oriented existing
methodologies [
        <xref ref-type="bibr" rid="ref13 ref15 ref21 ref37 ref49 ref9">49, 9, 15, 13, 37, 21</xref>
        ];
The ad-hoc definition of agent-oriented methodologies
by possibly re-using parts of already existing
methodologies through a method engineering approach
[
        <xref ref-type="bibr" rid="ref14 ref20">14, 20</xref>
        ].
      </p>
      <p>
        However, being WSNs a specific type of distributed embedded
system, often integrated into other distributed embedded
systems, the following techniques and methods developed in
the research area of embedded computing could be fruitfully
exploited: platform-based design, simulation-driven
prototyping, and model-driven development based on
domainspecific languages. We therefore believe that an effective
methodology for WSN application development should
integrate method fragments from agent-oriented methodologies
with the following WSN-oriented techniques/methods:
Platform-Based Design [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] is a methodology
originally developed for the design of embedded
systems. According to the PBD, a design is obtained as
a sequence of refinement steps that guide the designer
from the initial specification all the way down to a
physical implementation. To support this process, a set
of intermediate abstraction layers and platforms are to
be identified. These platforms therefore represent the
target system at different levels of abstraction. Each
platform is composed on a set of instances. An iterative
refinement (mapping) process translates a platform
instance to another one of a lower level, until the final
implementation is reached. Each refinement step is a
design choice taken as the solution of a constrained
optimization problem. The cost function is typically
the energy consumption (to optimize the system
lifetime). The constraints are usually the error rate,
latency, and the budget. The PBD methodology has
been applied for the system-level design of WSNs [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
to address, through a formal and systematic approach,
issues such as reliability and support for heterogeneity
that are still one of the main limiting factors to the
commercial spread of the WSN technology. In
particular, the approach is based on three layers of
abstraction and their relative platforms: a service
platform at the application layer, a protocol platform to
describe the protocol stacks, and an implementation
platform for the hardware nodes. In this case, the first
refinement step maps the high-level service platform
instance to an implementation platform instance,
leading to a topology. It is the output of this step that
identifies the type, the number, and the location of the
physical sensor nodes needed by the application. The
communication problem is addressed only later, with a
further mapping process that choose the right
communication protocol stack (MAC and/or routing)
that meets the application requirements and satisfies
the energy constraints of the selected physical network
infrastructure. PBD for WSNs [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
WSN simulation techniques and frameworks. The
growth of WSN applications has opened the way to
their performance evaluation. Since mathematical
analysis and experimental deployments are not always
allowed, for the WSNs most of researchers have
chosen simulation for their study. This approach is a
delicate matter due to the complexity of the WSNs.
First of all, the large number of nodes heavily impacts
simulation performance and scalability. Second,
credible results demand an accurate characterization of
the radio channel. New aspects inherent in WSN must
be included in simulators (e.g., a physical environment
and an energy model), leading to different degrees of
accuracy against performance [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Many simulators
like ATEMU, EmStar, SNAP, TOSSIM, and COOJA
are specifically designed for WSNs. Among them
COOJA allows to simulate WSNs choosing if
increasing the accuracy or the performance giving the
possibility to simulate different nodes at different
levels. The COOJA simulator [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] is a flexible
Javabased sensor network simulator with specific
algorithms to simulate entities like the WSN radio
channel and battery consumption and capable to
emulate microcontrollers like the MSP430 one.
COOJA is the only simulator that has the ability to mix
simulations of sensor devices at multiple abstraction
levels: (i) Application level, the simulated nodes run
the application logic re-implemented in Java
(simulating at this level increases performances); (ii)
OS level, the nodes use the same code as real nodes,
but compiled for COOJA; (iii) Hardware level, the
nodes run the same compiled code that can be used in
real nodes (simulating at this level increases accuracy).
The nodes at different abstraction levels can
communicate with each other using the radio channel.
COOJA can effectively support the prototyping of
WSN applications giving the possibility to simulate
high-level code (Java, at the application level) to test
the algorithms and then the code can be
reimplemented for WSN nodes like TelosB and
simulated again at low-level (hardware level).
      </p>
      <sec id="sec-4-1">
        <title>MDD and Domain-Specific Languages for WSNs. The</title>
        <p>
          Model-Driven Development is based on the idea of
separating the specification of the operation of a
system from the details of the way that system uses the
capabilities of its platform. The three primary goals of
MDD are portability, interoperability and reusability
through architectural separation of concerns. MDD
provides a set of guidelines for structuring
specifications expressed as models. It defines system
functionality using an appropriate domain-specific
language (DSL). The MDD approach can be very
useful in the WSN domain [
          <xref ref-type="bibr" rid="ref47">47</xref>
          ] giving the possibility
to overcome the limitation in the programming of
heterogeneous WSN due to different platforms and
OSs. In [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ], for example, a complete framework for
modeling, simulation, and multiplatform code
generation for WSN based on MathWorks tools is
presented. This framework offers application
developers rich libraries for digital signal processing
and control algorithm behavior simulation, along with
a broad variety of debugging and analysis tools, such
as animated state chart displays, scopes, and plots.
Moreover, with this framework users can automatically
generate the complete application code for several
target operating systems from the same simulated and
debugged model, without thinking about the details of
the target platform implementation.
        </p>
        <p>
          Moreover, the methodology should also aim at supporting the
development of applications both for single-application WSNs
and for future multiple-purpose WSNs [
          <xref ref-type="bibr" rid="ref42 ref48">42, 48</xref>
          ].
        </p>
        <p>Finally, as demonstrated in the software engineering research
area, the development of a CASE tool specifically and
seamlessly supporting all phases of the methodology from
requirement analysis to system deployment and maintenance
would promote usability and effectiveness of the methodology.</p>
        <p>V.</p>
        <p>CONCLUSIONS</p>
        <p>In this paper we have proposed the agent paradigm and
technology as very suitable for supporting the development of
WSNs. “Agents” and “sensors” have many common aspects
that can be fruitfully exploited to design efficient agent-based
WSNs. In fact, several agent-oriented research efforts on
routing, data dissemination and fusion,
frameworks/middleware, services, systems, and applications
for WSNs have been defined. Moreover, in this paper we have
shown how MAPS, a mobile agent framework for Sun SPOT
sensor platform, can actually support the development of
applications in the context of wireless body sensor networks
and building sensor and actuators networks that are conveying
notable attention as enablers of a great variety of high-impact
application domains (e.g. e-Health, e-Factory, energy efficient
buildings). Finally, we discussed the requirements that a
fullfledged agent-oriented methodology for the development of
WSN applications could have. Such methodology not only
should incorporate useful methods and models derived from
available agent-oriented methodology but also it should include
methods and techniques derived from embedded computing
such as platform-based design, simulation-driven testing and
model-driven development based on domain-specific
languages. On-going research activity is therefore focused at
the definition of such methodology.</p>
        <p>This work has been partially supported by CONET, the
Cooperating Objects Network of Excellence, funded by the
European Commission under FP7 with contract number
FP72007-2-224053.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Afzal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Huygens</surname>
          </string-name>
          , W. Joosen, “
          <article-title>Extending middleware frameworks for Wireless Sensor Networks</article-title>
          ,
          <source>” Proc. of the International Conference on Ultra Modern Telecommunications, ICUMT</source>
          <year>2009</year>
          ,
          <volume>12</volume>
          -
          <fpage>14</fpage>
          October, St. Petersburg, Russia, pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Aiello</surname>
          </string-name>
          , G. Fortino,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gravina</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Guerrieri</surname>
          </string-name>
          ,
          <article-title>A Java-based Agent Platform for Programming Wireless Sensor Networks</article-title>
          ,
          <source>The Computer Journal</source>
          ,
          <volume>54</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>439</fpage>
          -
          <lpage>454</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>I. F.</given-names>
            <surname>Akyildiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sankarasubramaniam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Cayirci</surname>
          </string-name>
          ,
          <article-title>"Wireless Sensor Networks: A Survey,"</article-title>
          <source>Computer Networks Elsevier Journal</source>
          , Vol.
          <volume>38</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>393</fpage>
          -
          <lpage>422</lpage>
          ,
          <year>March 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bellifemine</surname>
          </string-name>
          , G. Fortino,
          <string-name>
            <given-names>R.</given-names>
            <surname>Giannantonio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gravina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guerrieri</surname>
          </string-name>
          , M. Sgroi, “
          <article-title>SPINE: A domain-specific framework for rapid prototyping of WBSN applications” Software Practice and Experience</article-title>
          , Wiley,
          <volume>41</volume>
          (
          <issue>3</issue>
          ),
          <year>2011</year>
          , pp.
          <fpage>237</fpage>
          -
          <lpage>265</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bellifemine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Aiello</surname>
          </string-name>
          , G. Fortino,
          <string-name>
            <given-names>S.</given-names>
            <surname>Galzarano</surname>
          </string-name>
          , R. Gravina, “
          <article-title>An agent-based signal processing in-node environment for real-time human activity monitoring based on wireless body sensor networks”</article-title>
          .
          <source>Journal of Engineering Applications of Artificial Intelligence, Elsevier</source>
          .
          <year>2011</year>
          , to appear.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bellifemine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , and G. Rimassa,, “
          <article-title>Developing multi agent systems with a FIPA-compliant agent framework,”</article-title>
          .
          <source>Software Practice And Experience</source>
          <volume>31</volume>
          ,
          <fpage>103</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bonivento</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. P.</given-names>
            <surname>Carloni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Sangiovanni-Vincentelli</surname>
          </string-name>
          , “
          <article-title>Platform based design for wireless sensor networks</article-title>
          ,
          <source>” MONET 11</source>
          (
          <issue>4</issue>
          ),
          <fpage>469</fpage>
          -
          <lpage>485</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Braginsky</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Estrin</surname>
          </string-name>
          , “
          <article-title>Rumor routing algorithm for sensor networks</article-title>
          ,
          <source>” in First ACM International Workshop on Wireless Sensor Networks and Applications</source>
          , pp.
          <fpage>22</fpage>
          -
          <lpage>31</lpage>
          , Sept.
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>"TROPOS: an agent-oriented software development methodology"</article-title>
          ,
          <source>Journal of Autonomous Agents and Multi-Agent Systems</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>González-Valenzuela</surname>
          </string-name>
          , V.
          <string-name>
            <surname>C. M. Leung</surname>
          </string-name>
          , “
          <article-title>Applications and design issues for mobile agents in wireless sensor networks”</article-title>
          ,
          <source>IEEE Wireless Communications</source>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>Dec 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kwon</surname>
          </string-name>
          , and
          <string-name>
            <surname>Y. Choi.</surname>
          </string-name>
          “
          <source>Data Dissemination based on Mobile Agent in Wireless Sensor Networks,” Proc. of the IEEE Conference on Local Computer Networks 30th Anniversary (LCN '05)</source>
          . IEEE Computer Society, Washington, DC, USA,
          <fpage>527</fpage>
          -
          <lpage>529</lpage>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kwon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yuan</surname>
          </string-name>
          and V.
          <string-name>
            <surname>C.M. Leung</surname>
          </string-name>
          , “
          <article-title>Mobile Agent Based Wireless Sensor Networks</article-title>
          ,
          <source>” Journal of computers</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>14</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>April 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          ,
          <article-title>"From requirements to code with the PASSI methodology"</article-title>
          , in B.
          <string-name>
            <surname>Henderson-Sellers</surname>
            and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          (Eds.)
          <string-name>
            <surname>Agent-Oriented</surname>
            <given-names>Methodologies</given-names>
          </string-name>
          , Hershey, PA: Idea Group Inc., pp.
          <fpage>79</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mascillaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <article-title>"PASSIM: A Simulation-based Process for the Development of Multi-Agent Systems"</article-title>
          <source>in Int'l Journal on Agent Oriented Software Engineering</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.A.</given-names>
            <surname>DeLoach</surname>
          </string-name>
          , M. Wood, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Sparkman</surname>
          </string-name>
          ,
          <article-title>"Multi-agent system engineering"</article-title>
          ,
          <source>Int'l Journal of Software Engineering and Knowledge Engineering</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>231</fpage>
          -
          <lpage>258</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.J.</given-names>
            <surname>Domanski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Dziadkiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ganzha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gab and M.M.</surname>
          </string-name>
          <article-title>Mesjasz “Implementing GliderAgent - an agent-based decision support system for glider pilots,” in NATO ASI Book</article-title>
          , IOS press,
          <year>2011</year>
          , to appear.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>E.</given-names>
            <surname>Egea-Lopez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vales-Alonso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Martinez-Sala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pavon-Mario</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Garcia-Haro</surname>
          </string-name>
          .
          <article-title>"Simulation scalability issues in wireless sensor networks" Communications Magazine</article-title>
          ,
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          , Vol.
          <volume>44</volume>
          , No.
          <fpage>7</fpage>
          . (
          <year>2006</year>
          ), pp.
          <fpage>64</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Farinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rogers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Petcu</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          , “
          <article-title>Decentralised Coordination of Low-Power Embedded Devices Using the Max-Sum Algorithm,”</article-title>
          <source>Proc. of Seventh International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS-08)</source>
          ,
          <fpage>12</fpage>
          -
          <lpage>16</lpage>
          May
          <year>2008</year>
          , Estoril, Portugal. pp.
          <fpage>639</fpage>
          -
          <lpage>646</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>C.-L. Fok</surname>
            ,
            <given-names>G.-C.</given-names>
          </string-name>
          <string-name>
            <surname>Roman</surname>
            and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Lu</surname>
            , Agilla:
            <given-names>A Mobile</given-names>
          </string-name>
          <string-name>
            <surname>Agent</surname>
          </string-name>
          <article-title>Middleware for Sensor Networks, accepted to ACM Transactions on Autonomous</article-title>
          and Adaptive Systems Special Issue,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <article-title>"An Integrated Approach for the Development and Validation of Multi Agent Systems"</article-title>
          , in
          <source>Computer Systems Science &amp; Engineering</source>
          ,
          <volume>20</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>94</fpage>
          -
          <lpage>107</lpage>
          , Jul.
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          , E. Zimeo,
          <article-title>"A Statecharts-based Software Development Process for Mobile Agents"</article-title>
          ,
          <source>in Information and Software Technology</source>
          ,
          <volume>46</volume>
          (
          <issue>13</issue>
          ), pp.
          <fpage>907</fpage>
          -
          <lpage>921</lpage>
          , Oct.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>L.</given-names>
            <surname>Gan</surname>
          </string-name>
          , J. Liu, and
          <string-name>
            <given-names>X.</given-names>
            <surname>Jin</surname>
          </string-name>
          , “
          <article-title>Agent-based, energy efficient routing in sensor networks,”</article-title>
          <source>In AAMAS '04: Proc. of the Third International Joint Conference on Autonomous Agents and Multiagent Systems</source>
          , pages
          <fpage>472</fpage>
          -
          <lpage>479</lpage>
          , Washington, DC, USA,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S.</given-names>
            <surname>González-Valenzuela</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          , V.
          <string-name>
            <surname>C. M. Leung</surname>
          </string-name>
          , “
          <article-title>Programmable Middleware for Wireless Sensor Networks Applications Using Mobile Agents</article-title>
          ,” MONET,
          <volume>15</volume>
          (
          <issue>6</issue>
          ):
          <fpage>853</fpage>
          -
          <lpage>865</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Guerrieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruzzelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Fortino and G. O'Hare</surname>
          </string-name>
          , “
          <article-title>A WSN-based Building Management Framework to Support Energy-Saving Applications in Buildings,” In “Advancements in Distributed Computing and Internet Technologies: Trends and Issues”</article-title>
          (
          <string-name>
            <surname>Al-Sakib Khan</surname>
            <given-names>Pathan</given-names>
          </string-name>
          , Mukaddim Pathan, Hae Young Lee, eds),
          <source>Chapter</source>
          <volume>12</volume>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>174</lpage>
          ,
          <string-name>
            <given-names>IGI</given-names>
            <surname>Global</surname>
          </string-name>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          ,
          <article-title>"Agent-Oriented Software Engineering"</article-title>
          , in Handbook of Agent Technology, Bradshaw, J., Ed.: AAAI/MIT Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>K.</given-names>
            <surname>Keutzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Malik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.R.</given-names>
            <surname>Newton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Rabaey</surname>
          </string-name>
          , and A. SangiovanniVincentelli, “
          <article-title>System-Level Design: Orthogonalization of Concerns and Platform Based Design”</article-title>
          ,
          <source>IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems</source>
          ,
          <volume>19</volume>
          (
          <issue>12</issue>
          ),
          <year>Dec 2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kwon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sundresh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Mechitov</surname>
          </string-name>
          and
          <string-name>
            <surname>G. Agha,</surname>
          </string-name>
          <article-title>ActorNet: An Actor Platform for Wireless Sensor Networks</article-title>
          ,
          <source>in Proc. of the 5th Int'l Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS)</source>
          , pages
          <fpage>1297</fpage>
          -
          <lpage>1300</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Luck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>McBurney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Preist</surname>
          </string-name>
          , “
          <article-title>A manifesto for agent technology: towards next generation computing,” Autonomous Agents and Multi-Agent Systems 9(3</article-title>
          ), pp.
          <fpage>203</fpage>
          -
          <lpage>252</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>U.</given-names>
            <surname>Maurer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Smailagic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Siewiorek</surname>
          </string-name>
          , M. Deisher, “
          <article-title>Activity recognition and monitoring using multiple sensors on different body positions”</article-title>
          ,
          <source>Proceedings of the International Workshop on Wearable and Implantable Body Sensor Networks (BSN '06)</source>
          , pages
          <fpage>113</fpage>
          -
          <lpage>116</lpage>
          , Washington, DC, USA,
          <year>2006</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <article-title>Mobile Agent Platform for Sun SPOT (MAPS), documentation</article-title>
          and software at: http://maps.deis.unical.it/.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mpitziopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gavalas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Konstantopoulos</surname>
          </string-name>
          , and G. Pantziou, “
          <article-title>Mobile agent middleware for autonomic data fusion in wireless sensor networks</article-title>
          ,”
          <string-name>
            <surname>In M. K. Denko</surname>
            ,
            <given-names>L. T.</given-names>
          </string-name>
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , &amp; Y. Zhang (Eds.),
          <article-title>Autonomic computing and networking</article-title>
          , chapter
          <volume>3</volume>
          (pp.
          <fpage>57</fpage>
          -
          <lpage>81</lpage>
          ). USA: Springer.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>C.</given-names>
            <surname>Muldoon</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. M. P. O'Hare</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. J. O'Grady</surname>
            and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Tynan</surname>
          </string-name>
          ,
          <article-title>Agent Migration and Communication in WSNs</article-title>
          ,
          <source>in Proc. of the 9th International Conference on Parallel and Distributed Computing, Applications and Technologies</source>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>S.</given-names>
            <surname>Olivieri</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.M.R. Mozumdar</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Lavagno</surname>
          </string-name>
          , L.
          <string-name>
            <surname>Vanzago</surname>
          </string-name>
          (
          <year>2009</year>
          ). “Modeling, Simulation, and
          <article-title>Automatic Code Generation Framework for Sensor Network Applications”</article-title>
          .
          <source>Wireless Design &amp; Development</source>
          , ISSN:
          <fpage>1076</fpage>
          -
          <lpage>4240</lpage>
          ,
          <year>Feb 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>OSGi (Open Service Gateway initiative) Alliance</surname>
          </string-name>
          , http://www.osgi.org (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>F.</given-names>
            <surname>Österlind</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dunkels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Eriksson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Finne</surname>
          </string-name>
          , and T. Voigt, “
          <article-title>Crosslevel sensor network simulation with Cooja,”</article-title>
          <source>Proceedings of the First IEEE International Workshop on Practical Issues in Building Sensor Network Applications (SenseApp</source>
          <year>2006</year>
          ), Tampa, Florida, USA, Nov.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pantelopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.G.</given-names>
            <surname>Bourbakis</surname>
          </string-name>
          , “
          <article-title>A Survey on Wearable SensorBased Systems For Health Monitoring and Prognosis”</article-title>
          ,
          <source>In IEEE Transactions on Systems, Man and Cybernetics</source>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>C</given-names>
          </string-name>
          , Vol.
          <volume>40</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pavón</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gómez-Sanz</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Fuentes</surname>
          </string-name>
          ,
          <article-title>"The INGENIAS Methodology and Tools," In Agent-Oriented Methodologies</article-title>
          , Eds. B.
          <string-name>
            <surname>Henderson-Sellers</surname>
            and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          , Idea Group Publishing,
          <year>2005</year>
          , pp.
          <fpage>236</fpage>
          -
          <lpage>276</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>H.</given-names>
            <surname>Qi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          , “
          <article-title>Mobile-Agent-Based Collaborative Signal</article-title>
          and Information Processing in Sensor Networks,
          <source>” Proc. IEEE</source>
          , vol.
          <volume>91</volume>
          , no.
          <issue>8</issue>
          ,
          <string-name>
            <surname>Aug</surname>
          </string-name>
          .
          <year>2003</year>
          , pp.
          <fpage>1172</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rogers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Corkill</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          ,
          <string-name>
            <surname>N. R.</surname>
          </string-name>
          “
          <article-title>Agent technologies for sensor networks</article-title>
          ,
          <source>” IEEE Intelligent Systems</source>
          ,
          <volume>24</volume>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>K.</given-names>
            <surname>Romer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kasten</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Mattern</surname>
          </string-name>
          , “
          <article-title>Middleware challenges for wireless sensor networks</article-title>
          ,
          <source>” Mobile Computing and Communications Review</source>
          ,
          <volume>6</volume>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>Sentilla</given-names>
            <surname>Developer Community</surname>
          </string-name>
          , http://www.sentilla.com/developer.html.
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>J.</given-names>
            <surname>Steffan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fiege</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cilia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          ,
          <article-title>"Towards Multi-Purpose Wireless Sensor Networks"</article-title>
          ,
          <source>In Proc. of IEEE Int'l Conf. on Sensor Networks (SENET'05)</source>
          , Montreal, Canada,
          <year>Aug 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <surname>Sun™ Small Programmable Object Technology (Sun</surname>
            <given-names>SPOT</given-names>
          </string-name>
          ), http://www.sunspotworld.com/.
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <surname>Yu-Chee</surname>
            <given-names>Tseng</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheng-Po</surname>
            <given-names>Kuo</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hung-Wei Lee</surname>
          </string-name>
          and
          <string-name>
            <surname>Chi-Fu</surname>
            <given-names>Huang</given-names>
          </string-name>
          , “
          <article-title>Location Tracking in a Wireless Sensor Network by Mobile Agents and Its Data Fusion Strategies,” The Computer Journal</article-title>
          ,Vol.
          <volume>47</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>448</fpage>
          -
          <lpage>460</lpage>
          ,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <article-title>TinyOS, documentation</article-title>
          and software, http://www.tinyos.net.
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vinyals</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Rodriguez-Aguilar</surname>
          </string-name>
          , J. Cerquides, “
          <article-title>A Survey on Sensor Networks from a Multiagent Perspective,”</article-title>
          <source>The Computer Journal</source>
          ,
          <volume>54</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>455</fpage>
          -
          <lpage>470</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>H.</given-names>
            <surname>Wada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Boonma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Suzuki</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Oba</surname>
          </string-name>
          ,
          <article-title>"Modeling and Executing Adaptive Sensor Network Applications with the Matilda UML Virtual Machine,"</article-title>
          <source>In Proc. of the 11th IASTED Int'l Conf. on Software Engineering and Applications</source>
          (SEA) Cambridge, MA, November
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. J.</given-names>
            <surname>Rittle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Bhandari</surname>
          </string-name>
          , J. B. LeBrun, “
          <article-title>Supporting Concurrent Applications in Wireless Sensor Networks,”</article-title>
          <source>In Proc. of ACM SenSys. November</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          [49]
          <string-name>
            <given-names>F.</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          ,
          <article-title>"Developing multiagent systems: the Gaia Methodology"</article-title>
          ,
          <source>ACM Trans. on Software Engineering and Methodology</source>
          ,
          <volume>12</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>317</fpage>
          -
          <lpage>370</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>