intelligent sensor networks - an agent-oriented approach · deployment of small disposable sensors...

77
Intelligent Sensor Networks - an Agent-Oriented Approach Oscar Bäckström Björn Karlsson Submitted for the Degree of Master of Science in Electrical Engineering in focus of Telecommunication Department of Technology University of Kalmar S-391 82, Kalmar, SWEDEN April 2004 O. Bäckström, B. Karlsson 2004

Upload: others

Post on 20-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Intelligent Sensor Networks - an Agent-Oriented Approach

Oscar Bäckström Björn Karlsson

Submitted for the Degree of Master of Science in Electrical Engineering

in focus of Telecommunication

Department of Technology University of Kalmar

S-391 82, Kalmar, SWEDEN

April 2004

O. Bäckström, B. Karlsson 2004

Page 2: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The
Page 3: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Abstract

This thesis work was aiming to investigate the use of the agent oriented programming paradigm to develop an intelligent sensor network. An intelligent sensor network should consist of autonomous sensor nodes, which exchanges information and reason with each other and collaborate in order for the network as one unit to deliver fused and compiled sensor information to the end user of the system. The intelligent sensor network has no single points of failure, and preserves the energy resources of the network.

The field of networked Unattended Ground Sensors is a key technology for the future and has become a subject to a lot of interest. Easy deployed Unattended Ground Sensor Networks (UGSN) with ability of the sensor nodes to determine their own position and establish communication with each other and the surroundings can be used in different kinds of operations where large areas are to be covered. UGSN can be deployed for continuous monitoring at strategic locations to sense movements, presence of vehicles, weapons, people etc. for the purpose of e.g. border protection, chemical disaster, and rescue mission after earthquakes, drug/law enforcement and military surveillance.

In this thesis the paradigm of an agent-oriented abstraction level for distributed systems is investigated and concepts of data fusion are discussed. The covered theory in the report has been focused on such parts that are of concern in developing these kinds of sensor network systems. A testbed of an intelligent UGSN has been implemented as a basis of testing this thesis proposed approach, and make implemental experiences of the agent paradigms maturity for such dynamic wireless sensor networks. A key issue of such UGSN is the algorithm of determining which information to exchange between which nodes, what data to fuse and what information to present externally from the network. Software agents are used to achieve the sophisticated information collaboration and target tracking, while reducing energy consumption implied by the wireless communication.

Keywords

UGSN, Agent-Orientation, Artificial Life, Target Tracking, Decentralized System, Distributed Data Fusion, Reasoning Agents, Ad hoc networks, Service-based architecture

i

Page 4: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Sammanfattning

Examensarbetets målsättning har varit att undersöka och utforska den agentorienterade programmeringsparadigmen vid utveckling av intelligenta sensornätverk. Ett intelligent sensornätverk är uppbyggt av autonoma sensornoder vilka utbyter information och resonerar med varandra. Genom detta förfarande agerar nätverket utåt sett som ett enat system för att leverera fusionerad sensorinformation i form av en lägesbild till slutanvändare av systemet. Det intelligenta sensornätverket har inga centrala noder och strävar efter att reducera systemets energiförbrukning.

Obevakade marksensornätverk (UGSN – Unattended Ground Sensor Network) är som tekniskt område en huvudteknologi för framtiden och har väckt stort intresse. Enkelt utplacerbara marksensornätverk vars noder kan bestämma dess egen position och upprätta samband med varandra och nätverkets omvärld kan användas inom ett brett spektrum av tillämningar vid olika slags insatser då stora geografiska områden skall täckas. Marksensornätverk kan användas för kontinuerlig övervakning vid strategiskt viktiga platser, igenkänning av fordon, räddningsuppdrag efter jordbävningar och naturkatastrofer, kemiska olyckor, gränsövervakning och militär spaning.

I rapporten har den abstraktionsnivå som det agentorienterade synsättet medför undersökts i distribuerade system. Begrepp och koncept kring datafusion och informationsfusion har presenterats och behandlats. Teoriavsnitten i rapporten har fokuserat på de delar som är av stor vikt vid utveckling av marksensornätverk. En demonstrator av ett intelligent marksensornätverk har implementerats med avsikt att utreda rapportens infallsvinkel och att erhålla implementatoriska erfarenheter kring den agentorienterade paradigmens mognad och färdighet för dynamiska och distribuerad nätverk. En huvudsaklig problemställning i marksensornätverk är den algoritm som används för att utvärdera vilken information som skall spridas mellan vilka noder, vilken information som skall fusioneras samt presenteras för slutanvändaren. Mjukvaruagenter har använts för att på ett intelligent sätt få nätverkets enheter att samarbeta och endast distribuera relevant information och därigenom även erhålla målföljning samt reducerad energiförbrukning.

ii

Page 5: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Acknowledgments

We would like to give an acknowledgement to everybody who has supported us during this thesis work and testbed development. It has been a great pleasure to work together with the employees at Ericsson Microwave Systems AB.

Especially we would like to thank Anders Arpteg at the University of Kalmar for exchange of ideas and feedback on the agent-oriented parts, Anders Lundström and Magnus Westbergh for discussions regarding ad hoc routing and Erik Lodin for discussions regarding Wireless Networking.

Finally we would like to sincerely express our gratitude to Leif Axelsson, our supervisor at Ericsson Microwave Systems AB, and to Wlodek Kulesza, our supervisor and examiner at the University of Kalmar.

iii

Page 6: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Contents

1 Introduction 6 1.1 Background ..............................................................................................6 1.2 Problem Description.................................................................................7 1.3 Disposition ...............................................................................................7

2 Sensor Networks 9 2.1 Overview..................................................................................................9 2.2 Conceivable Areas of Usage ..................................................................10 2.3 The Vision of UGSN..............................................................................10 2.4 Ground Sensors ......................................................................................12 2.5 Communication ......................................................................................13

2.5.1 . Wireless LAN ..................................................................................14 2.5.2 . Ad Hoc Routing ...............................................................................14

2.6 Problem Definition.................................................................................16

3 Data Fusion 18 3.1 Definition ...............................................................................................19 3.2 Levels of Data Fusion ............................................................................20 3.3 Centralized Data Fusion .........................................................................21 3.4 Decentralized Data Fusion .....................................................................23 3.5 Distributed Data Fusion .........................................................................24 3.6 Information Fusion and Entity Identification Problems .........................25 3.7 Combining Decisions for Information Fusion........................................27

4 Agent Oriented Programming 28 4.1 Agent Definition.....................................................................................28 4.2 Agent Description ..................................................................................28 4.3 Agent Characteristics .............................................................................29

4.3.1 . System Complexity Suitable for Agent Design ...............................30 4.3.2 . AOP Compared to other Software Paradigms..................................31

4.3.2.1 AOP Compared to OOP............................................................32 4.4 FIPA Agent Standards............................................................................34 4.5 Agent Communication ...........................................................................34 4.6 Rational Affects of Communicative Acts...............................................36

5 Intelligent Sensor Networks 38 5.1 Intelligence by a Reasoning System.......................................................38

iv

Page 7: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

5.2 Usage of Intelligence in Sensor Networks ............................................. 40

6 Implementation of an Intelligent Sensor Network 43 6.1 An Agent Oriented System Architecture for Sensor Network ............... 43

6.1.1 .Peer-to-Peer Communication Model ............................................... 43 6.1.2 .Agent Service Model ....................................................................... 44 6.1.3 .Agent Framework for Testbed Implementation............................... 45

6.1.3.1 Java Agent Development Framework (JADE) ......................... 45 6.1.3.2 Preemptive and Cooperative Multitasking................................ 46

6.1.4 .Agent Architecture........................................................................... 46 6.1.5 .Agent Collaboration and Reasoning ................................................ 48

6.2 Target Correlation and Information Fusion ........................................... 51 6.3 Network Information Presentation ......................................................... 52

7 Further Development 54 7.1 Required Improvements for Ad Hoc Environments............................... 54

7.1.1 .Agent Architecture for Ad Hoc Environments ................................ 56 7.1.1.1 Different Approaches for Agent Discovery in Ad Hoc ............ 56 7.1.1.2 Agent Fragment Methodology for Ad Hoc Networks .............. 57 7.1.1.3 Lite-AMS and Agent Discovery Service .................................. 58

7.1.2 .Agent Migration between Platforms ................................................ 62 7.1.3 .Agents in Light Weight Devices...................................................... 63

7.2 Future Required Testbed Improvements ................................................ 63

8 Results 65

9 Conclusion 67

10 Abbreviations 69

11 References 71

v

Page 8: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 1

1

1.1

Introduction

Background

The field of easy deployed wirelessly connected sensor networks has become a key technology for the future, with a wide range of possible areas of usage. The use of Unattended Ground Sensor Networks (UGSN) may provide invaluable advantages in areas of remote monitoring, reconnaissance and surveillance [1], [2]. Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding.

The vision of Unattended Ground Sensors is small, cheap and technical advanced devices with single or multiple on-board micro sensors networked trough wireless communication links.

The technological revolution and advances in the field of UGSN is possible due to advances in Digital Signal Processing (DSP), which have paved a way for smaller, low power and faster microchips for mobile wireless computing.

Ad hoc technology provides the possibility for wireless devices to communicate with each other through each other in the absence of a predefined infrastructure topology. This allows reduction of the sensors transmission output and thereby decreases battery consumption. The network does not need any preexisting infrastructure, and therefore the topology may be dynamic. The ad hoc networks ability of self-healing structure makes the communication less vulnerable for failing links. That is, node may fail, be removed or added to the network, but still the information will be able to find its way through the network to its final destination.

Different types of sensor networks with varying kinds of sensors may be used depending on the purpose and deployment environment. In some areas of usage, a combination of different sensors in the network may be advantageous by complementary monitoring features. A common scenario for sensor networks is military surveillance where a situation picture is compiled over an area, including target identities and tracks from vehicles moving through the area. The UGSN can in this case be used as an alternative to land mines and will save human lives. The situation picture is presented in a command and control application and used for increased situation awareness and strategic decision-making. Unattended ground

6

Page 9: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

sensor networks can also be used e.g. as autonomous intrusion alarms, at chemical disasters and at rescue missions after earthquakes.

In order to present only relevant data and avoid drowning the end user with data and alerts, intelligent UGSN can be used. An intelligent sensor network will preserve the energy resources by deciding what data from which nodes to fuse and when the user needs to be updated. Nodes in the network are reasoning and collaborating to fulfill the common objective, i.e. to compile a situation picture for the end user that is easy to understand and interpret.

1.2

1.3

Problem Description

A sensor network’s main objective is to create a compiled situation picture of a monitored area and present it to a user. The situation picture should consist of target tracks and target identities based on fused sensor information.

Since the network is decentralized, the data fusion process has to take place without the need of a central fusion node. Decisions have to be made by the network where the fusion process spatially has to be executed. Because the targets are moving through the network and sensor information must not be broadcasted over all network nodes, the data fusion should be processed in a distributed manner. At the same time, energy resources have to be preserved, meaning that processing time and radio communication should be kept at a minimum. Therefore, a communication strategy must exist for dissemination of information exchange between the network nodes.

In this thesis work, an intelligent sensor network testbed has been implemented. Focus has not been put to the explicit fusion algorithm but merely to create communication architecture that is suitable for distributed data fusion. The thesis is covering theory about data fusion because it is a main concern when developing a sensor network. One has to understand the fundamentals of data fusion before developing a sensor network intended to process distributed data fusion.

Disposition

The thesis is divided into 11 chapters. Chapters 2 and 3, are presenting a general view over sensor networks and their main elements; ground sensors, communications and data fusion.

Chapters 4 and 5 are presenting the agent-oriented programming paradigm and how that paradigm can be used to develop intelligent sensor networks.

An intelligent sensor network testbed implementation has been done and is discussed in chapter 6. The last chapters 7, 8 and 9, are discussing what further

7

Page 10: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

development that might be needed for the system, the results of the thesis work and finally the conclusions of the agent oriented view of software development in distributed systems.

Chapters 10 and 11 are containing the abbreviations used in the reports and references.

8

Page 11: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 2

2

2.1

Sensor Networks

Overview

Unattended Ground Sensor Networks (UGSN) [1][2] have in recent years become subject to a lot of interest in the scientific field. The technological evolution during the last decade has brought us advances in micro-electromechanical systems and Digital Signal Processing and made it possible to develop small, inexpensive and low powered sensor boards with digital circuits capable of executing advanced algorithms in real time. These sensor boards usually consist of a power source, a transceiver and some kind of sensing device. The onboard sensor is used to provide helpful information about the immediate surroundings, e.g. seismic or magnetic activity, changes in light or motion, readings of chemical levels, acoustic recordings and so on. A complete sensor board including power source, transceiver and sensor will be referred to as a network node or just simply, a node.

Ground sensors may consist of a simple sensor board with a robust and protective outer casing. A ground sensor might also be of a more sophisticated nature and contain multiple sensors and probes, field computer, several CPU’s and different communication alternatives.

An UGSN consists of several unattended ground sensors deployed over a large geographic area, all connected to a wireless topology. The UGSN may consist of different types of sensors, depending on its purpose and brings along the great advantage of remote sensing, area monitoring and situation picture achievement.

9

Page 12: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Figure 1 Unattended Ground Sensor Network connected

to a core network via satellite.

A UGSN is usually depicted with three main elements; Ground Sensors, communication and data fusion. Ground sensors and communication are discussed below. Data fusion is discussed in chapter 3.

2.2

2.3

Conceivable Areas of Usage

The largest usage area for UGSN today is military. In different kinds of operations such as peacekeeping operations and border control, where large areas are to be covered and people could risk infraction and violence, UGSN can be very useful. Sensor networks are also frequently discussed concerning military purposes such as remote sensing and surveillance in enemy territory. Ground sensors can be deployed for continuous monitoring at important locations and sense movements, presence of vehicles, weapons, people etc. [1][34][36]

Today the area of interest is not only in the military field but is also including monitoring over an area after e.g. a chemical disaster, rescue mission after earthquakes, home security systems, border protection and drug/law enforcement.

Sensor networks can also be found in the agricultural business where sensors are being used to monitor temperature, humidity, soil moisture and nourishment.

The Vision of UGSN

The main objective of sensor networks is to be able to monitor a large geographic area and receive information on what is occurring there. In military applications, information superiority is very essential and sensor networks are used for example

10

Page 13: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

as surveillance systems to receive information about vehicle and troop movement. In enemy territory it might be too much of a risk to bring own personnel into the area. Therefore it is safer to deploy a network of sensors in the area of interest. The UGSN can also act as a complement to land mines, e.g. revealing the enemy without him knowing about it without letting any civilian get injured or killed[1][36].

The vision of unattended ground sensor networks is not only about military applications. Imagine a catastrophe where an area has been contaminated with a fatal chemical or biological substance. Bringing in personnel to overview and control the situation might be too dangerous. Instead it could be of great advantage to deploy a sensor network over the area and let the chemical sensors make continuous monitoring of the area. Without putting the health of humans at risk, the UGSN can easily be dropped from an airborne vehicle flying at a safe altitude over the catastrophic area. From a control room far away from the area, the rescue leader has a complete and fused situation picture on his computer, telling him how the wind and toxic particles are moving.

Similar reasoning and discussion can be applied to situations of cities affected by earthquakes, drug- and law enforcement and border protection.

The UGSN is expected to operate and to be functional for days, weeks and even possibly months after deployment. Since battery resources are limited, the network nodes must not consume unnecessary power. Using small and energy efficient circuits will help keeping battery usage at a minimum. For the same reason it is also of great importance to use a low power transmitter or to transmit only relevant data between the nodes in the sensor network. Using high effect transmitters or continuous data-transmission makes it easier to detect the location of the UGSN, which is a highly unwanted feature in a military system. As discussed later in this chapter, ad hoc routing brings the great advantage and possibility of data transmission over multi hops via relay nodes. If the range of a radio transmitter is reduced by a factor f, the energy consumed is being reduced by f^2, i.e. half the range reduces the energy by a factor of 4. By using an ad hoc network and sending information via relay nodes instead of using a radio transmitter with great output effect, the entire network will use less battery power when transmitting data than one single “high power” node will.

Since the UGSN is usually deployed far away from the supervising personnel, there must be some way of accessing the nodes and receiving data from them. A sensor network is often accessed from an end- or control application through one or several gateways. A satellite link is an example of a gateway.

Energy consumption is reduced by not sending irrelevant data between nodes in the network and from the network via the gateway to the end user of the system. In most cases the end user is not interested in every single sensor reading from the UGSN. In a sensor network with hundreds of sensor nodes, it would be impossible

11

Page 14: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

for the user to assess a situation picture by himself. All readings would make the user drown in data. Therefore, it is desired that the nodes should fuse the sensor data and present only a complete situation picture for the end user. If the user will receive nothing but a fused picture over the monitored area, one does not need to interpret multiple sensor readings but can easily and quickly understand and assess the situation. This explains why data fusion is a main element in a sensor network.

With sensor data correlation and fusion, the UGSN can detect targets, track movements in the area and also possibly classify and identify targets. Some commercial of the shelf (COTS) sensors, can individually identify a target and determine its direction and speed. But in order to achieve target tracking one “intelligent” ground sensor is not sufficient, the use of several sensors is necessary. One or a few sophisticated sensors can with advantage be used together with simple sensors to achieve both target tracking and target identification. By using multiple sensors, the sensor network will be more redundant.

Deploying a sensor network either behind enemy lines or in a catastrophic area might not be possible to do by hand. Therefore it is desirable to have the possibility of deploying nodes from an aircraft or by firing them from a canon or robot. Ground sensor must be designed and constructed to resist enormous g-forces and pressure from such a launch. With today’s technology this is still impossible, but if the advances in DSP and CPU technology continue as it has in the last decade, we will see ground sensors satisfying these demands on the market in a few years.

2.4 Ground Sensors

Generally there are two categories of ground sensors, active and passive[1][2]. Passive sensors only make use of available information, for instance sound, vibration or magnetism, whereas active sensors emit their own energy in order to receive a better measuring result, which may reveal the sensor. An active sensor might get a better result than a passive, as in the case of using an IR sensor, but at the same time the active sensor is more likely to reveal its type and location. In civilian applications such as in a rescue mission, a choice of active or passive sensors might not be of big importance, but in a military mission the use of active sensors could reveal the location of troops and forces and result in a fatal outcome.

Different kinds of ground sensors may be used as complements to each other. By using a multi-sensor (one unit with several sensing devices built in) or by using an UGSN, a much more complete situation picture of the situation will be given. A very important aspect of ground sensors is robustness and ruggedness. Unattended sensors are supposed to be deployed and in operative for maybe months. Therefore it is needed to construct robust units that are insensitive and resistant to a harsh environment.

12

Page 15: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Types of Passive and Active Sensors

There are many suitable types of sensors to use in sensor networks, which are listed below.

Passive acoustic microphone, geophone, pressure, strain optical: image sensors, camera, PIR-sensors field sensors: magnetic, field strength receivers, GPS, mm-wave chemical: gas sensors biological: drug sniffer seismic: accelerometer climate: thermometer, wind speed and direction

Active optical: laser radar, image sensor (illuminating), IR-sensor microwave: radar magnetic field sensor: magnetometers multi point sensors: mechanical, optical

2.5 Communication

The first main component in sensor networks is ground sensors. The second component is the wireless communications infrastructure, which is used to propagate and relay the sensor information. A wireless network imposes channel errors, delays, packet losses and power and topology constraints. These factors are essential to consider when designing the network and communication architecture and choosing transmission channel [1].

For the UGSN testbed development, Wireless Local Area Networks (WLAN) has become a very common solution as transmission channel because of a wide commercial product market.

When choosing a wireless communications strategy for a sensor network there is a few criteria that are relevant and that need to be considered:

• Bandwidth usage and transmission range

• Radio frequency

• Transmission data rate

• Directional or omni-directional antenna

13

Page 16: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

In the communications chapter of this report, focus has been put on the WLAN standard and ad hoc routing.

2.5.1 Wireless LAN

The Wireless Local Area Network (WLAN) is a type of wireless network that is very popular today and primarily used to connect laptops to Local Area Networks (LANs) or to Internet via hotspots. Standards within wireless communication such as IEEE 802.11b and IEEE 802.11g are today dominating the market in WLAN and there are many commercial of the shelf products available [37].

The range for this kind of wireless system is between 15 and 1000 meters depending on what equipment that is used and the environment it is being used in. The data rate is for the IEEE 802.11b standard up to 11Mbps and for IEEE 802.11g up to 54Mbps.

WLAN has some standards with good advantages such as, good data rate, a reasonable range and low price through a wide commercial market. This makes especially the IEEE 802.11b standard and IEEE 802.11g standard a very interesting approach when designing and choosing a communications strategy for a ground sensor network testbed.

2.5.2 Ad Hoc Routing

In a conventional hardwired computer network like a Local Area Network (LAN) or the Internet, traffic and information is forwarded from its source to its destination via routers. Each network node and router must be manually configured to its present address and location in order to work properly, and all communication relies on a central managed infrastructure [1][33].

In a ground sensor network where some nodes might fail and new nodes may appear, the need for a self-configurative network is obvious. Because the communication between nodes consists of wireless transmission where nodes often do not have direct radio contact with each other, connectivity between nodes is not guaranteed. Data packets often have to be forwarded between multiple intermediate nodes on their way to the final destination. In mobile sensor networks, there is a greater chance of topological changes meanwhile data packets are routed, compared to its hardwired counterpart. Routes can be out-of-date (i.e. old and unusable), while a packet is routed with the current route.

An attractive solution in a sensor network is the use of so called ad hoc routing. An ad hoc network consists of a collection of more or less mobile nodes that do

14

Page 17: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

not rely on any preexisting infrastructure and where the topology may change in a rapid and unpredictable manner.

Ad hoc networks allow nodes, fully dynamically, to join or leave the network and only temporary loosing the existing node communications. If or when a node is lost or has recently appeared, the network will autonomously re-configure the infrastructure and topology in order to find new and better data routes. In the case of not loosing any communications between nodes, a possibility of alternative paths must exist. Otherwise the network cannot rebuild a lost communication path. One among many characteristics of ad hoc networks is the use of many and redundant communication nodes, which results in multiple paths from one node to another. If one node fails and results in a broken path, the network will reconfigure the routing tables and send the data via another path in order to reach the same destination.

Figure 2. A schematic view of an Ad hoc network

The picture is showing how an ad hoc network can have several different routing paths to one destination. Only one route is used at a time. For example, if the signal-to-noise ratio (SNR) in one link decreases under some threshold level or if one node fails, the network can use an alternative route.

Reactive and Proactive Ad Hoc Networks Ad hoc routing can be divided into two main categories, reactive and proactive routing [33].

15

Page 18: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Proactive routing attempts to maintain routes to all destinations at all times, regardless whether they are needed or not. To support this, the routing protocol propagates information updates about a network’s topology throughout the network continuously. The protocol stores all routes in its routing table and is fast to recall a path when it is needed. The proactive routing method is resource demanding in terms of batteries, CPU usage, power and bandwidth.

Reactive or on-demand routing protocols determine routes only when there is data to be sent. If a route is unknown, the source node initiates a search to find one. Data sent in networks using reactive routing protocols tend to suffer a delay during the search for a route. Routing protocols from this category are less power consuming and less bandwidth demanding than ones from the proactive category.

In mobile ad hoc networks, the nodes may move relative to each other and should still remain connected. Highly mobile ad hoc networks must therefore be proactive in order to quickly respond and re-configure to the surrounding situation.

2.6 Problem Definition

There are many issues that must be dealt with in order to implement a well functional sensor network. The main challenges concerning UGSN and wireless distributed fusion systems are listed below:

• Minimize or remove single point of failures. It cannot be accepted that the entire network will fail if one central node is not working properly. There must be redundancies in the network and the network must be capable of re-configure itself to maintain robustness. Therefore, all computation should be decentralized and distributed.

• Minimize traffic. In order to save battery power and keep transmission bandwidth at a minimum, information dissemination must be kept to only the nearest neighbor nodes. Every single node in the network does not need to know what is going on at all the others. By not transmitting unnecessary data and limiting the nodes to only communicate with their nearest neighbors, the traffic is kept local, the volume of data being sent is minimized and the communication bandwidth is limited.

• Quiet network. Sending radio signals too far and too powerful might reveal the sensor network location for an enemy. By using radio transmitters with a limited range and ad hoc routing and by minimizing the network traffic, the probability of detection of the UGSN is also kept low.

• The end user of a UGSN does not want to be drowned in sensor alerts and other additional data. This would force the user by him self to assess

16

Page 19: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

a situation picture, which in a state of crisis could be very stressful and difficult. Therefore the UGSN must autonomously fuse all sensor- and target information and compile a situation picture that does not demand too much of an effort for the end user to comprehend. The situation picture will be possible because of autonomous target detection, tracking and identification.

• Unknown topology. UGSN must be capable of self-configuration after being deployed with unknown initial topology, both on routing level and on application level. In order to have a robust sensor network and be of benefit by redundancies, such as multiple communication paths and redundant ground sensors, the UGSN must be able to re-configure itself as sensors and nodes disappear, fail or new ones enter the network. Reconfiguration must be enabled not only on routing but also on the business logic level.

• Find neighbors. Network nodes must be able to find neighboring nodes without using a central look up service. In many cases some kind of central server is needed where network nodes can register and later search for neighbors and services. If this central server at any moment goes down, the entire network will fail because no node can any longer search for or find its neighbors.

• Must have one or multiple gateways to communicate with some kind of core network like the Internet. The UGSN could be seen as an independent stand-alone system or an access network. The latter one demands a gateway or possibly several gateways to enforce connection with a surrounding environment or a decision support node at a command and control station.

• Must have a presentation tool. An end user application often referred to as a Command and Control application must exist, such that situation pictures and other information received from the UGSN in a user friendly way can be presented and easily comprehended.

17

Page 20: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 3

3 Data Fusion

Data fusion is today a very large field of science with many researchers all over the world. When searching for a definition for the term data fusion one will be stunned by the poverty of the few definitions, the lack of clarity and consensus and by all the words being associated with the term. The concept of data fusion might be easy to understand but the exact meaning of data fusion varies from one scientist to another. In literature there are a list of words being associated with data fusion that is frequently appearing; merging, combination, integration, concatenation, data assimilation and optimal control. However, these words are more describing parts of the concept of data fusion than defining the term [21][22][35].

By means of fusion, different sources of information or data are combined to improve the performance of a system. The different inputs may originate from a single sensor at different moments (fusion in time) or from several sensors at the same time (fusion in room). Multi sensor data fusion is about combining and relating data from several sensors to achieve more specific inferences than could be achieved by using a single and independent sensor.

Applications of multi sensor data fusion cover a very wide spectrum and can be found in both military and civilian systems. Non-military applications include monitoring of manufacturing processes, robotics, automated reasoning applications, medical applications, monitoring of agricultural resources (e.g. to monitor the productivity and health of crops) and global awareness. Military applications include automatic target detection and tracking, detection of changes, battlefield surveillance, remote sensing, and decision-making etc.

Techniques to fuse data originate from more traditional disciplines such as digital image processing, digital signal processing, statistical estimation, fuzzy information processing, control theory, artificial intelligence, ontology and classic numerical methods. Historically, data fusion methods were developed primarily for military applications. But in recent years these methods have been used in civilian applications, which have resulted in an increasing scientific field and further developed data fusion techniques that both the military and civilian market can take advantage of.

18

Page 21: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

3.1 Definition

One definition of data fusion is: “Data fusion is a formal framework in which are expressed the means and tools for the alliance of data originating from different sources” [21].

Another definition of the term data fusion is: “Data fusion is a process dealing with the association, correlation, and combination of data and information from single and multiple sources to achieve refined position and identity estimates for observed entities, and to achieve complete and timely assessments of situations and threats, and their significance. The process is characterized by continuous refinements of its estimates and assessments, and by evaluation of the need for additional sources, or modification of the process itself, to achieve improved results” [35].

The author of the first definition points out that data fusion aims at obtaining information of greater quality where the exact definition of 'greater quality' will depend upon the application. Here, the word quality does not have a very specific meaning. It is a generic word denoting that the resulting information is more satisfactory for the "customer" when performing the fusion process than the information available without the fusion process. For example, better quality may be an increase in classification or confidence level. It may also be related to the production of more relevant information or to the robustness in operational procedures. Fused information represents an entity in greater detail and with less uncertainty than what is obtainable from any of the individual sources. The fusion process can also extract higher order spatial, temporal and behavioral relationships between those entities. Greater quality may also mean a better coverage of the area of interest or a better use of financial or human resources distributed to a project. In some cases, quality can have the same meaning as efficiency.

Data fusion uses the synergy offered by the information originating from various sources. Combining additional independent and redundant data usually results in an improvement of the results. An example of the human vision system is often given to illustrate the advantages and benefits of data fusion. The two eyes of a human have slightly different viewing angle, which gives us stereovision and depth perception. Therefore having two eyes extends the capability of a single eye. (Another advantage of having two eyes is redundancy; if one is disabled, vision is still possible, though in a degraded mode). An example of multi-sensor data fusion is how humans and animals use a combination of senses to better assess the surrounding environment and to identify threats and dangers. By using sight, hearing, touch, smell and taste, humans and animals get complementary information of their surroundings and can by combining those senses better assess a situation and threat, which will help them survive.

19

Page 22: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

3.2 Levels of Data Fusion

Data fusion is a process that can be used to combine different logic levels of data, such as raw data from sensors, entities, objects and resources. The data fusion process is therefore divided into different main levels; low, intermediate, and high level data fusion [35].

Low-level fusion combines several sources of raw data to produce new raw data that is expected to be more informative and synthetic (meaningful) than the inputs. An example of input signals to low-level data fusion (raw data fusion) can be voltage readings in time from an accelerometer in a seismic ground sensor or magnitude readings from an acoustic sensor.

Intermediate-level fusion combines various features that may come from several different raw data sources or from the same source but then fused in time. This level can also be called feature level fusion or more common, information fusion. An example of input signals to intermediate level fusion is the output from low-level data fusion or an output message from a semi intelligent ground sensor.

High-level fusion can also be called decision fusion and is more about control, combining decisions and increasing confidence levels than combining various sources of data. A result of high-level fusion can be situation management and supposes human activity.

The U.S. Joint Directors of Laboratories Data Fusion Group [29] has specified five levels of data fusion to further distinguish the data fusion process. The low-level data fusion is divided into level 0 and level 1, the intermediate level is divided into level 2 and level 3, and finally the high-level data fusion is divided into level 4.

Definition and association of level 0 – level 4 [35]:

• Level 0 – Sub-Object Data Assessment: estimation and prediction of signal- or object-observable states on the basis of signal-level data association and characterization. Association involves hypothesizing the presence of a signal and estimating its state. Level 0 associations can include (a) signal detection obtained by integrating a time series of data (e.g. the output of an analogue-to-digital converter) and (b) feature extraction from a region in imagery. In this case, a region could correspond to a cluster of closely spaced objects, or to part of an object or simply to a differentiable spatial-temporal region.

• Level 1 – Object Assessment: estimation and prediction of entity states on the basis of inferences from observations. Level 1 data fusion involves selecting observation reports or tracks from prior fusion nodes in a processing sequence for inclusion in a track.

20

Page 23: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

• Level 2 – Situation Assessment: estimation and prediction of entity states on the basis of inferred relations among entities. Level 2 data fusion involves associating tracks (i.e. hypothesized entities) into aggregations. The state of the aggregate entity is represented as a network of relations among aggregation elements. Any variety of relations – physical, organizational, informational and perceptual can be considered, as appropriate to the given information system’s mission. As the class of estimated relationships and the numbers of interrelated entities broaden, the term situation is used to refer to an aggregate object of estimation.

• Level 3 – Impact Assessment: estimation and prediction of effects on situations of planned or estimated/predicted actions by the participants (e.g. assessing susceptibilities and vulnerabilities to estimated/predicted threat actions, given one’s own planned actions). The level 3 data fusion process is usually implemented as a prediction, drawing particular kinds of inferences from Level 2 processes. Level 3 fusion estimates the impact of an assessed situation (i.e. the outcome of various plans as they interact with one another and with the environment). The impact estimate can include likelihood and cost/utility measures associated with potential outcomes of a player’s planned actions.

• Level 4 – Process Refinement (an element of Resource Management): adaptive data acquisition and processing to support mission objectives. Level 4 processing involves planning and control and assigning resources to tasks but no estimations.

These sub levels of data fusion can be simplified by the following transformation chain.

Data (level 0) -> Information (level 1) -> Knowledge (level 2 and 3) -> Understanding (level 4)

We humans interpret data such as visual and auditory perceptions to receive information about our surroundings (low-level data fusion). All received information is used to build a knowledge base (intermediate-level data fusion or information fusion). And with a knowledge base we can learn to understand how our surrounding environment works and react to it (high-level data fusion).

3.3 Centralized Data Fusion

The architecture of Centralized Data Fusion (CDF) [28][25][23] is characterized by a hierarchy of nodes, in which all data is passed up in the hierarchy to a

21

Page 24: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

centralized fusion node. This centralized fusion node is responsible for fusing data provided by the multiple sensors in the network.

Figure 3 Centralized Data Fusion

The figure is showing a central data fusion node in the network. All sensor data is in a hierarchical way sent through the network before being fused at the central data fusion node.

The centralized architecture is easiest data fusion architecture to administrate but is subject to a number of disadvantages. The main ones are:

• CDF imposes a single point of failure in the system, where if the fusion node is lost or loses communication, the overall situation awareness of the system is compromised. The entire data fusion system will fail.

• CDF limits the ability of the individual sensor network nodes to operate independently or as a part of a much smaller group. Then network cannot be divided into clusters or sub-clusters.

• CDF results in an architecture that might require significantly higher communication bandwidth. As more sensors are added to the centralized system, the bandwidth and computer power would need to increase. In effect, the centralized system is difficult to expand.

22

Page 25: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

3.4 Decentralized Data Fusion

Decentralized Data Fusion [28][25][23] is a technology concerning the problem of how to fuse data from multiple sensors without using a centralized fusion node. As advances in sensor technology and computer networking allow the deployment of large amount of smaller and cheaper sensors, a huge volume of data needs to be processed in real-time.

A decentralized data fusion system consists of a network of sensor nodes, each with its own processing facility, which together does not require any central fusion- or central communication node. In such a system, fusion is performed locally at each node based on local observations. Each node is performing a specific computing task. At no point is there a common place where fusion or global decisions are made.

Figure 4 Decentralized Data Fusion

The figure is showing three different network nodes. At each node, one or several sensors could be attached. The sensor data is fused locally at each node and only the result from each node is transmitted further through the network to e.g. a command and control application.

Characteristics and advantages with Decentralized Data Fusion:

• There is no central fusion centre resulting in a single point of failure; no single node should be central to the successful operation of the network, which results in a redundant system.

23

Page 26: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

• There is no common communication facility; nodes will not broadcast results and communication must be kept on a strictly node-to-node basis.

• Sensor nodes do not have any global knowledge of the sensor network topology; nodes should only know about connections in their own locality.

• The bandwidth requirements are less than in the case of CDF because the data is fused at intermediate stages instead of being passed through the network to a higher hierarchical central fusion node.

3.5 Distributed Data Fusion

As the data processing requirements increase, it could be of great interest that the data fusion task is distributed over several parallel fusion nodes. Instead of having one instantaneous fusion node as in Decentralized Data Fusion you can have several fusion nodes working on the same task simultaneous. This is called Distributed Data Fusion [28][25][23].

In Distributed Data Fusion you can either have parallel execution of a specific task or you can have a chain of nodes working on the same fusion task. In the chain execution the next node in line will continue on the specific task where the current node ended its execution. In this way the network does not execute the specific task in a parallel manner, but it starts the execution in one node and then continues on the same execution in the next node of the fusion chain.

Figure 5 Distributed Data Fusion

24

Page 27: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Characteristics and advantages with Distributed Data Fusion, others than in the case of Decentralized Data Fusion:

• Not only one node can work on a specific fusion task. The task can be divided either into a parallel and simultaneous execution or into a chain of executions where a node “hands over” the task to another node that will continue with the same specific task.

• Because of a parallel execution, a greater volume of data can be processed in shorter time than in the case of Decentralized data fusion.

3.6 Information Fusion and Entity Identification Problems

From a general point of view data- and information fusion is a task of data processing aiming at making decisions on the basis of distributed data sources. A main issue in information fusion is that data sources can contain heterogeneous information that can be differently represented. The distributed data used for data fusion can be of different physical nature (images, sensor data etc.), be of different accuracy and reliability, particular data may be incomplete and uncertain and be represented in different data structures, contain missed values, etc.

An objective of an information fusion system is to combine data from many different sources to make a decision, for instance, classification of an entity (an object or an object’s state) or a situation assessment etc. A basic rule of data fusion is that data sources are spatially or temporally distributed or, at least, represented in different databases and/or located on different hosts. Heterogeneity in the fusion process is a result of the diversity of possible data structures, differences in data specification, representation and units, differences in data nature and so on.

Data distribution and heterogeneity entail several new problems, which significantly influence on all aspects of data fusion system design of an implementation. For example, the same entities can be represented in different sources by different data structures, but in the data fusion procedure all of them have to be understood and used equally.

The data in different sources specifying the same entity attribute can be of different structures. This problem is called non-coherency of data measurement scales [23]. In some cases an attribute presented in different sources may be measured in the same measurement scale but in different units.

A possible way to deal with the problem is to use a meta-model of data and knowledge presented in terms of ontology (see chapter 4.5) and shared by all entities of the data fusion system.

25

Page 28: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Another problem is the so-called entity identification problem [23]. The data specifying an object is represented in different data sources. This is why each local data source only partially specifies the above object. Its complete specification is made up of data fragments distributed over the data sources. Therefore to form a complete object specification a mechanism to identify such fragments is needed. It should be noticed that some fragments of data associated with an object could be absent in a number of sources. It is needed to solve the entity identification problem in order to use a common ontology as a meta-model in the shared data fusion system.

In each local data source, each entity identifier has to be translated (or “mapped”) into a new and equal global entity in the shared ontology. This is done by assigning a specific rule to the local data source entity, defining how to translate the local entity into an equal global entity.

Local data source A Global source A

Entity_G1

Entity_G6

Entity_G9

Entity_A1

Entity_A2

Entity_A3

Local translation

Local data source B Global source B

Entity_G3

Entity_G6

Entity_G9

Entity_B1

Entity_B2

Entity_B3

Local translation

Global shared ontology

Figure 6 Mapping of local data entities to a global ontology

In the picture above, an example of entity translation or mapping is shown. There are two local data sources with local entities. These local entities are mapped to the global source with shared ontology by some specific transformation rule. The

26

Page 29: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

global entities can then be used as input to the information fusion process. In the above example, global entity G6 and G9 is common for the two different information sources.

3.7 Combining Decisions for Information Fusion

As described earlier, by means of fusion, different sources of information or data are combined to improve the performance of a system. The information being combined consists of different entities and attributes of an object. When fusing or combining these entities a “decision” is made. When making a decision, different entities should perhaps affect the result differently. Possible ways to accomplish this is by using one of the following methods [35]:

• Voting algorithms – was historically the first methods used for this purpose. The simplest of them is called “majority voting”, where the majority of all entities make the decision. Another voting technique is called “weighted voting” and is more sophisticated, where each entity first is assigned a weight of importance or accuracy before being combined.

• Probability-based or fuzzy algorithms – is a group based on probabilistic models like Bayesian models, Bayesian networks and fuzzy set-based models.

• Meta-learning algorithms – are competence-based methods of decision making where an evaluation is made concerning how competent a data source or entity is with regards to how well it describes an object.

27

Page 30: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 4

4

4.1

4.2

Agent Oriented Programming

Agent Definition

The term Agent-oriented programming (AOP) is relatively new, and was coined in 1989 by Yoav Shoham [4] to describe a new programming paradigm. The AOP paradigm is based on cognitive and social view of computation and was first presented by Shoham 1993.

There are various definitions of the term Agent. The term agent and its definition are not crisp. One of the first “definitions” of an Agent [38 p.32] was very vague, as follows “anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors”. It can be difficult to divide all computer software into agents and non-agents as software entities have various degrees of agent-like behavior.

Agent Description

An agent oriented view of a complex software implementation problem requires multiple agents to represent the decentralized nature of the problem [3][4][5]. The main characteristics of an AO design are that it consists of autonomous problem-solving entities that interact with other agents using high-level communication. Regular objects communicate through simple lower level method invocations or method calls with limited range of variation in parameters. Agents communicate through a thorough declarative high-level agent communication language. These interactions are often not only simple semantic interoperations, but often consist of high-level speech act theory. Those speech acts can be informing, requesting, offering, accepting, believing, rejecting, competing, and assisting and so on. An agent-oriented design uses a special methodology to decompose, abstract, and organize relationships. Agents can have dynamic relationships to each other, and forming organizational relationships and structures to each other. These temporary relationships can control the “social” interactions between different agents in the system. The ability to interact with each other in speech acts reflects such that

28

Page 31: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

different speech acts are a part of the FIPA1 Agent Communication Language (ACL) -standard. The mindset of an agent-oriented approach of a software problem is the decomposition of multiple autonomous agents with common or own objectives to achieve. These objectives are achieved with the help of their interactions and individual relationships.

4.3

Agent Characteristics

In the object oriented programming (OOP) paradigm, the programming object is specified by the real object it represents by its state and the actions that can be performed by, or on, it. Similar, an agent is formally specified by its mental state [5], consisting of its beliefs, goals, actions and ongoing interaction (with other agents and its environment). These mental states are often also referred to as beliefs, desires and intentions. Various techniques [11] like temporal modal logic have been proposed and theoretically investigated to model these states in a formal agent theory. These ideas are built into the syntax of the agent language. These questions will not be discussed in more detail here.

An agent can more specifically be defined by complying with a multiple of the abilities and properties presented below. These nine terms of characteristics are not established or general in the agent research society. There exist numerous of different naming and terms for the properties describing an agent [6] [7] [31], more or less denoting the agents’ characteristics in varying wording. The distinction between the various terms is not always clear.

• Autonomy: Agents have control over their own internal state and behavior. The agent does not have an owner, which tells it what to do. (Unless it is a part of the design for relational roles of organization). An agent may request another agent to do something, and expect the request to be fulfilled. But the task cannot be assumed to be done. That is, the requesting agent needs to be able to handle a refusal or failure from a request.

• Goal-directness: Each agent is having a goal and objective for its existence, which it strives towards to fulfill. The agent has mechanisms and behaviors in order to reach those goals.

• Pro-activeness: This property is close connected to the autonomy and is often described in a reactive agent property. The agent has self-starting behaviors and ability to initiate actions. The agent should be able to react

1Foundation for Intelligent Physical Agents is an international organization devoted to agent standards and specification. See

chapter 4.4 for further information.

29

Page 32: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

to its environment in timely manner. The changes it perceives from the environment may change the way the agent perceive and react to future environmental changes. The term reactive refers to the agent’s ability to reactively act on its environmental changes in a timely manner.

• Adaptive: Agents dynamically adapt to and learn about their environments and other agents. They are adaptive to uncertainties and changes.

• Collaborative behavior: Also referred to as cooperative. An agent percepts its environment to which other agents it can communicate with. Agents may cooperate in combining their efforts to fulfill a common goal. These collaborations are closely associated to the high-level interactions of the agents’ communication language.

• Knowledge-level communication: Or high-level communication with the ability to communicate with persons and other agents with language more resembling human-like “speech-acts” than typical symbol-level program-to-program protocols

• Deliberative: The agent can act on abstract task specifications using prior knowledge of general goals and preferred actions. With a deliberative learning architecture, an agent may decide if it is worth its while to learn something. An agent of this characteristic often uses some kind of knowledge or logic base engine to model the world and events and draw conclusions form that.

• Temporal continuity: The agent shall have persistence of identity and state over long periods of time, not at fixed intervals. This property is closely related to the autonomy and pro-activeness characteristics.

• Mobile: An agent is able to migrate in a self-directed way from one host platform to another. The agent shall restart its execution from the point it was interrupted before migration, implied it keeps its internal state of knowledge and behavior.

Additional common terms and properties which more or less closely relates to the ones above are: Interactive, social, personality, intelligent, intentional, persistent, continuous, cognitive, rational and learning.

4.3.1 System Complexity Suitable for Agent Design

When designing a complex software system, it is usually composed of inter-related sub-systems, where each sub system can be a successive set off sub-systems. The organizational relationships between these are likely to change over time, and are therefore non-static. The designer often tries to distinguish the

30

Page 33: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

different sub systems such that the interaction within a sub system is more frequent than among different sub-systems.

Agent theory is a relative new field in the software engineering world. While it has the potential to conceptualize, solve or ease many implementation issues of complex software development, it is important to remember that it in the end is just software with limitations. While agents can use artificial intelligence (AI) techniques internally to achieve a higher state of reasoning, agent technology still posses the very many problems that are still persistent in the AI-field. Chapter 5.1 discusses how an agent based system made out of reasoning agents can result in an intelligent reasoning system as a whole. Agents has a strength in many types of applications, as there are still a wide range of applications for which more conventional software paradigms are more suitable.

AO-problem solving is often decentralized in its nature, with several agents involved. This kind of decomposition is suitable for problems in complex systems. Each agent, or sub group of, works towards specific objectives in a delimited context. The coupling between agents in the system becomes a temporal question of knowledge. Interaction patterns, time, and number of events is usually unpredictable at design.

The agent approach can be preferable in systems where the abstraction of the design problems consists of many parts that should be loosely coupled to each other, and maybe with ability of dynamical change of relation between these parts. A strong feature of AO is the concurrence execution model of an agent for parallel work on multiple (possibly conjunctional) problems.

4.3.2 AOP Compared to other Software Paradigms

Since the dawn of software development, there has always been a striving to make the code understandable and manageable for humans. It would not take a very complex program to realize that writing it in assembler or even machine code, would normally be a big waste of time, with a very complex and unmanageable code as a result. Some people may even claim that designing and building modern high quality software are among the most complex tasks undertaken by human. As a result of the complexity, and struggle for reusing old code numerous of different software paradigms have appeared since the original procedural programming. Some of these are the structured programming, declarative programming, object-oriented programming, design patterns, application frameworks and component-based development. A very important thing to realize about all those paradigms (AOP included), is that they all result in nothing else but software applications. What can be produced based of one paradigm, can theoretically also be done with ordinary procedural programming. What many of these different techniques does for the developer is to help abstract the designing problem of the system in

31

Page 34: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

different ways to make the engineering process easier, or to extend the level of complexity that can be handled in the application. Depending on the nature of the problem for each single application design, different paradigms would be most beneficial to use.

In smaller systems with prior known relationships and communication, an agent system may be considered inappropriate, while in larger decentralized and distributed complex systems it has a great advantage in the software development.

For certain classes of applications and system design problems, the agent-oriented approach could significantly improve the software development process. When designing a software system, it is important to use abstractions of the problems that are to be solved. The constructs or building blocks of the used programming paradigm should be semantically similar to the units of analysis that is intuitively used to conceptualize the problem.

In complex distributed systems it is impossible at design-time of the system to know of all possible interactions between system parts. Communication will occur at unpredictable times, for unpredictable reasons. Due to this, it is better to let the agents at runtime decide which agents that should communicate. The AO paradigm lets the system designer do this in an intuitive feasible manner.

Agents have a natural ability to handle this kind of autonomy and choice of action in runtime.

The benefits of different software paradigms are the mindset of problem abstractions, and the techniques they provide to software engineers. The agent paradigm should be viewed as an extension of various concepts available in other prior existing paradigms

4.3.2.1 AOP Compared to OOP The OOP paradigm is today widely used by most software engineers, and therefore will be compared to the AOP paradigm to distinguish the differences. Object Orientation (OO) as a term origins from the beginning of the 1970s and was coined by Alan Kay. The basic idea of the OO was the encapsulation of data, not an attempt for writing software that model the real world. This point of view greatly helped software engineers writing understandable code, and later became a part of the OO concept.

Agents are not passive in their nature, but autonomous parts with ability to start different actions initiated by itself at a, for the agent, believed suitable time. Objects consist of methods, of which its action is performed once the method is called.

Objects encapsulate state and behavior (method actions), but do not encapsulate the action activation itself. Once the method is called, the action is performed.

32

Page 35: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Agents, who receive a request for action, might know a (believed good) reason not to perform the action in question, or further, decide to ask another agent before performing some behavior. Agents acts more human-like in their nature by letting the executor of an action have a say in the matter. Moreover, the interfaces in OOP are often by good design, minimized to a number of specific methods with specific arguments calling each other. In the AOPs set of view, there might be just one corresponding method with a single argument, with much more built in semantic.

All these possible benefits of the agents can undoubtedly be achieved with objects as well, but they are not a basic part of the paradigm itself. That is, the agent paradigm includes more efficient “tools” to accomplish those kinds of features and behaviors. An agent action request becomes a process of mutual consent.

Compared to simple objects, the agent behavior represents and provides a less primitive mechanism to describe complex problems and the type of interactions that can take place between the entities. The agent paradigm provides concepts and mechanisms for modelling more complex problem abstractions for e.g. distributed systems with flexible and dynamically changing autonomous parts. Objects are abstractions of passive things, while agents are abstraction of intelligent beings as they are modeled after an anthropomorphic architecture2. Agents use a more human-like communication defined by an Agent Communication Language (ACL).

It would not be correct to look at an agent in the framework of OOP as an object itself. In strictest sense, an agent may be an object, but many fundamental OOP ideas like inheritance and dynamic dispatch3 have no exact correspondence in the AOP.

2 The word anthropomorphic refers to a more human-like way of communication and reasoning with beliefs, desires and

intentions called the BDI-model.

3 Dynamic Dispatch or Dynamic Inheritance is the ability of an object to inherit classes at runtime.

33

Page 36: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

OOP AOP

Basic unit object agent

Parameters defining state of basic unit

unconstrained beliefs, commitments, capabilities, choices…

Process of computation message passing and response methods

message passing and response methods

Type of Message unconstrained inform, request, offer, promise, decline, believe…

Constraints on methods none honesty, consistency..

Figure 7 OOP versus AOP

4.4

4.5

FIPA Agent Standards

The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent based applications. FIPA works on the production of standards for software agents through specifications of abstract architectures for agent systems, communication language, interaction protocols etcetera.

FIPA is a non-profit association registered in Geneva, Switzerland. The FIPA specifications are developed through direct involvement of the FIPA memberships which in April 2004 consisted of 72 members from corporation, individual firms, partnerships, governmental bodies and international organizations from many countries worldwide.

Agent Communication

For the communication between two agents (or any software), to be possible, there are several different levels of protocols and syntax, included the ACL, that has to be common for both parts in the communication act. The agents need to have a common understanding in all from how to structure the actual messages sent over

34

Page 37: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

for instance TCP/IP, to know the interaction protocols in order to engage in complete conversations.

In Figure 8 below is a layered model of all the communication layers used in regular agent communication [13][14][3].

Content Language

CNP

Auction

SL

KIF

FIPA-ACL

KQMLAgent Communication Language

TCP

UDP

IIOP

HTTP

Conversation

Message Envelope

Message Transport Protocol

Transport and Signaling

FIPA

Message

Bearer Network

Figure 8 Communication layers of Agent Communication

• The Transport and Signaling layer provides an efficient and reliable data transport service. The TCP/UDP can be assumed common in most networks.

35

Page 38: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

• The Message Transport Protocol (MTP) defines the structure of messages sent using a transport protocol. Often the MTP also specifies a specific Transport and Signaling Protocol like the TCP.

• The Message Envelop includes among other properties for routing information like sender, receiver and payload information. Sometimes this layer is tightly coupled to the lower MTP layer. One example of this is the IIOP-MTP where the messages envelop is defined in the IDL-interface of the MTP.

• The ACL layer is the actual payload for the agent communication and defines the actual type and meaning of the message. There are mainly two fully-specified ACL’s called FIPA ACL and KQML. The goal of the ACL is a seamless exchange of information and knowledge. Compared to “regular” methods like CORBA, RMI, ORBs or RCP, the major differences are the ACL objects of discourse and the superior semantic complexity. CORBA and similar technologies handles simple objects with no associated semantic, while ACL handles prepositions, rules and actions and describes a desired state in a declarative language. The ACL message contains, besides the actual content, also descriptions of the content encoding, the content language and the specific ontology of the content.

• The actual content and meaning of the message is expressed in a content language. A major part of the ACL development has been the issues of a semantic specification. An ontology is often used in order to share common knowledge by providing a vocabulary for representing knowledge about a topic, its domain and relations. The ontology formally specifies the terms of a domain and its relations among them.

• The conversation layer describes complete conversations made up of speech acts. A conversation can be viewed as an interaction pattern with specified rules for different types of conversations like requests, negotiations, auctions and task delegation.

4.6 Rational Affects of Communicative Acts

Agents communicate by exchanging ACL-messages in an asynchronous manner. There is no temporal dependency between agents in order to communicate. The sender and receiver do not need to be available at the same time. The receiver may not even exist at the time of the message sending. A sender is not dependent on an answer from the receiver of a message. Agents can communicate with each other in a set of whole conversations fully specified by FIPA, but the agents’ functionality is not dependent upon the compliance of the rules of other agents.

36

Page 39: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

That means an agent can except a specific rational effect from a sent message to another agent, but should not depend on the fulfillment of the rational effect. An example of a messages rational effect is the response to an agent’s request. A requesting agent can for instance expect a reply in form of an answer or a refuse as a rational effect, but should not depend on this to happen. The knowledge of a communication act’s rational effects may be used by an agent to plan what actions to take or communication acts to perform.

37

Page 40: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 5

5

5.1

Intelligent Sensor Networks

Previous in chapter 2, the network architecture and problem definitions in a ground sensor network are presented. As mentioned in the discussion, it is of great importance to minimize traffic in ways of not transmitting unnecessary data and keeping neighboring nodes on a strict need-to-know-basis. Information should only be shared to nodes that are authorized and that can be of benefit by that specific information. Transmitting information to a node that has no use of it would be a no good deed and a waist of resources in ways of time, data computations and transmission power.

It is a non-trivial problem how to determine which nodes are to be considered a node’s nearest neighbors and what information should be passed along to which nodes in order to minimize and keep traffic local in a distributed network. At the same time a UGSN node needs to keep its neighboring nodes updated with sensor readings and fused target tracks in order to store a local situation picture. Furthermore, the end user of the UGSN should only be informed and noticed of target alerts and tracks when the situation in the monitored area has changed or when events that might be of his concern have occurred.

The need of intelligent sensor networks is brought up when trying to solve these problems. An intelligent sensor network or a sensor network with intelligent behavior is a system that can adapt to the situation, present information that is relevant for the moment, a system that has reasoning parts, a system with parts that are designed to function around low-level rules and work together to accomplish a high-level goal. Intelligent behavior involves perception, reasoning, learning, communicating and acting in complex environments.

Intelligence in software agent systems and AI system is often referred to as the degree of reasoning and the ability to carry out the task delegated. Higher levels of intelligence include a user model and reasoning. Further out on the intelligence scale are systems that learn and adapt to their environment, both in terms of the user’s objectives and in terms of the resources available to the agent.

Intelligence by a Reasoning System

A distributed network can easily become a very complex system that often has to handle a variety of dynamic relationships. Since these relationships never can be

38

Page 41: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

fully modeled or thought of in advance, it is difficult to design and develop a system like this following the object-oriented paradigm.

One among many great advantages with the Agent Oriented Paradigm is that software agents are collaborative (see chapter 4.3). Using the collaborative skills of agents makes it easier to develop a system with reasoning parts that can make different decisions depending on the occurring situation. An agent can use different interaction protocols to communicate to another agent if he is unsure when making a decision or if he needs further advice.

Software agents are anthropomorphic, which is very favorable when modelling and designing distributed systems like this. The way we humans think and interact with each other can therefore be used when designing an agent-oriented system. When an agent think its task is to difficult or time consuming to carry out, it can with ease initiate contracts with other agents that will solve sub-tasks for him. The agent can first make inquiries to several other agents to find out which one or what agents will be most helpful or best suited to solve the problem.

In some cases an agent by some reason needs to gain information from another physical node in the network. Instead of trying to find another agent on that specific node and interact with him, he can on his own initiatives migrate to that node and collect whatever information he desire. Agent mobility is another characteristic of AOP that in many situations can be useful and very beneficial when designing and modeling distributed computer systems.

When designing agent oriented systems one can make use of ideas from research on Artificial Life. Artificial Life is often described as attempting to understand high-level behavior from low-level rules; for example, how the simple rules of Darwinian evolution lead to high-level structure, or the way in which the simple interactions between ants and their environment lead to complex trail-following behavior. Understanding this relationship in particular systems promises to provide novel solutions to complex real-world problems, such as disease prevention, stock-market prediction, and data mining on the Internet [24].

A concrete example of Artificial Life can be when studying formations in which birds fly to save energy. Darwinian evolution has resulted in that many bird species fly in a V-shaped formation to save energy during long flights. It may be difficult to understand how the entire flock of birds works. But instead of focusing on the entire flock focus can be put to the individual bird. Each bird pretty much positions itself in reference to its closest neighbors and does not care about the rest of the flock. This is good example of how individuals that only follow few and simple low-level rules can create a population with complex high-level structure and intelligent behavior.

The advantages from the AOP paradigm can with great benefit be combined with the ideas from research in Artificial Life when developing distributed computer

39

Page 42: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

systems. The next section will present research around how intelligence has been integrated, prior to this thesis work, and used in distributed sensor networks to gain system performance.

5.2 Usage of Intelligence in Sensor Networks

Previous experimental research has been made by Lockheed Martin Advanced Technology Laboratories where three different architectures for distributed data fusion have been evaluated [25]. The main objective for the research was to evaluate the already existing architectures for distributed data fusion and then develop a new and better performing one.

The architectures in this particular research were based on centralized- and distributed information fusion processing. The stated requirements in the experiment were:

• The architecture has to conserve communications bandwidth.

• The architecture must limit the exchange of data between nodes as much as possible without impacting the ability of the receiving nodes to form at situation picture.

• The architecture must support the incorporation of widely varying forms of sensor and other data into the situation picture.

• The architecture must support sparse and non-overlapping sensor coverage.

• The architecture must handle the presence of identical data at multiple nodes.

Each of the evaluated architectures had some significant drawbacks: The architectures using centralized data fusion were requiring extremely high communication bandwidth and high power transmission systems. The architectures were also imposing latency on the availability of the fused picture at the lower level nodes. When using centralized data fusion, a single point of failure is introduced in the system. If the fusion node is lost or loses communications, the overall situation awareness of the system is compromised.

The distributed data fusion architecture was performing much better, with less communications bandwidth and with an overall faster timeline. The processing burden at higher nodes is reduced because fusion is performed at intermediate stages. However, there were still substantial processing requirements associated

40

Page 43: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

with ensuring that identical information were not counted and computed into the fused track picture repeatedly.

A new architecture, called the Grapevine architecture, for data fusion was developed to meet all the previous stated requirements. The architecture relied on the intuition about the way that information is spread informally in networks of people, “through the grapevine”. An individual has an idea of what information his peers may have that may be of interest or value to him, and an idea of the interests or needs of his peers. Based on this, the individual requests information he needs or wishes from those peers he expects to have that information. Likewise, he offers unsolicited information he has to those peers he expects to need or wish the information. A simpler version of this concept is formalized in distributed systems theory as the gossip protocol. This architecture builds on combining multi-sensor data fusion with intelligent agents. Each node in the architecture contains a data fusion process, which fuses locally obtained data and data received from other peer nodes.

The grapevine architecture was performing better than the three evaluated systems and the main features making this possible were:

• Peer to peer data propagation only included data known to be useful to the recipient node, thus limiting the required processing and bandwidth. Intelligent agents were used to evaluate local information against the needs of the neighboring nodes. In this way, the interchange of data between peer nodes could be restrained to propagation by intelligent data pushes.

• The architecture was extensible, accommodates the addition of peer nodes merely by reconfiguring nearby nodes to reflect the addition of new nodes.

• There was no single point of failure. Since in general each node will have multiple peers, data can spontaneously reroute around missing nodes, and thus the loss of any single node will only result in the loss of the data sources locally stored on that node.

A simulation-based experiment was performed by Lockheed Martin Advanced Technologies Laboratories (LM ATL) to demonstrate the performance and cost-benefit tradeoffs of employing Distributed Data Fusion with the use of the Grapevine architecture [26].

Comparisons were made between data fusion, data fusion with full exchange of sensor data between sensor nodes and finally with data fusion and the use of the Grapevine architecture. In each test, performance measurements were made for example on situation picture completeness and target accuracy, CPU computations and bandwidth usage.

41

Page 44: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

The test of Data Fusion versus Data Fusion with full exchange of sensor data between nodes, resulted in significantly improved quality of the picture available to a user, measured by screen clutter and accuracy of track information. However, the cost of completeness and better accuracy in this case came with additional CPU time in each Data Fusion process and consumption of a greater communications bandwidth.

In the last test, the Grapevine architecture was compared to the case of data fusion with full sensor data exchange between sensor nodes. The grapevine architecture acted as a communication filter for intelligent dissemination of information, and made sure to send information to another node if and only if that information was of benefit to that specific node. A nearly equivalent result as in the previous test was achieved in measures of situation picture completeness and accuracy but at a significant reduction in bandwidth and processing cost. Thus, the use of Grapevine technology for intelligent dissemination of information proved to be very successful. The computational cost of applying this filter were not measured but estimated and expected to be small compared to the cost of sending the information, which in this case was caught in the filter, and fusing it on the receiving end.

42

Page 45: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 6

6

6.1

Implementation of an Intelligent Sensor Network

An Agent Oriented System Architecture for Sensor Network

In order to implement an agent system, the developer needs an abstract agent architecture as a design for building agents. Agent architectures works as a design model for e.g. how the agent lifecycle should be handled, the internal agent execution model of and the handling of communication of the agent. Numerous tasks and algorithms are equal for all agents in an agent system. These architectures often consist of libraries and useful tools as a basic infrastructure for the agents. Such platform could provide all common agent tasks as message handling, message encoding/decoding, tracing, monitoring, agent thread handling and more as a basic infrastructure for the software platform. One could implement separate agent architecture for a specific project of an agent system implementation, but it would be like reinventing the wheel. By using some infrastructure platform for the agent system, the engineering resources can instead be utilized on the business logic. There exist a numerous of different agent architectures, by which some of them are more mature then others. The report will not provide a summary of existing agent frameworks, but will take a closer look at JADE, see chapter 6.1.3.1, which is the development framework and platform for the testbed implementation. For evaluations and information about additional agent platforms see e.g. “Agent Platform Evaluation and comparison” [16] , or visit the FIPA home page [14]. At present there exist at least ten major publicly available implementations of agent platforms.

6.1.1 Peer-to-Peer Communication Model

To implement a testbed of an intelligent sensor network with all essential characteristics of the system such as decentralization, autonomously and distributed computation, the system requires a peer-to-peer (P2P) communication model. The P2P model is the opposite to the centralized server-client model, in which all client nodes in the network are synonymous with simple users of services provided by the server. All communication between different nodes goes through the server. A server is pure reactive and have no capability of taking any initiative.

43

Page 46: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Pure P2Hybrid P2P Client/Server P

Figure 9 Comparison between network connectivity models of client/ server, hybrid P2P and P2P.

In the UGSN all nodes and agents act autonomously and can by own initiative communicate directly P2P with each other. A pure P2P network is fully decentralized and fully autonomous. Each node can initiate communication, be subject or object to a request and offer a variety of services to other peers in the system. A node is free to join or leave the network at any time without harming the continuance of the system. The P2P computing style enables a more symmetrical and decentralized communication model for applications, services and users as each node act as both server and client. A pure P2P network system tends to be very complex and bandwidth inefficient. Therefore a hybrid architecture can be used. Without any reference nodes it becomes difficult to maintain the coherence of the network. A hybrid system can e.g. make use of some special nodes to support the discovery of peers in the network. Of course, these “special nodes” would to some degree act as central nodes and imply some degree of single point of failure. The resulting effects of the P2P model on the UGSN network are to some extent further exposed in chapter 7.1.1.

6.1.2 Agent Service Model

Each agent in a FIPA specified agent system may provide different kind of services. Some services are mandatory element of every concrete instantiation of the FIPA Abstract Architecture. As stated in FIPA abstract Architecture [17] about these mandatory services: “A service is a functional coherent set of mechanisms that support the operation of agents, and other services. These are services used in the provisioning of agent environments and may be used as the basis for interoperation.” These mandatory services shall provide functionality for registration and search of agents and their services. In a dynamic system of agents,

44

Page 47: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

these mandatory services provides agents the ability to make their services dynamically available, and able to dynamically search and discover appropriate services to fulfill the current goals.

6.1.3 Agent Framework for Testbed Implementation

As mentioned in chapter 6.1 there exist a number of different agent runtime environments and development frameworks for agent systems. Each and everyone could be said to have their individual strengths. Which ones that will stand out in the future are hard to say, and it may depend on the specific aims and environment of the agent system to develop. For the testbed implementation of this report the Java Agent Development Framework (JADE) [12] has been used for the following reasons:

• FIPA specification compliance

• Open source under LGPL license

• Implemented in Java, assisting the widespread use and comprehensibility.

• Widespread use of the platform, and several participating organizations, companies and universities in the development work of the JADE and additional extensions for different purposes.

• Extensive documentation of tutorials and guides, as well as a development mailing list forum.

The large user base and participants of the platform development improves the concrete value of the JADE and its future growth and evolvement.

6.1.3.1 Java Agent Development Framework (JADE) JADE is an agent development framework based on the P2P communication architecture JADE is fully FIPA-compliant (see chapter 4.4) which means it follows the standards of the FIPA-specifications. JADE works as a middleware of an agent application development and provides basic agent system functionality for e.g. the internal agent life cycle and agent message handling.

JADE provides a software architecture and development framework for agent systems. This is convenient for the system development in order to save time and focus on the business logic and functionality of the system. JADE is implemented in Java and is open source, which enables the JADE platform to be a widespread agent development tool. This is an important issue in order for the framework to grow, and evolve by means of adapting to new standards and the practical benefits of many users to assist each other on questions of support, bugs and new features. JADE provides libraries and a convenient set of APIs for the application

45

Page 48: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

development, as well as an agent run-time environment. The run-time environment provides basic services for the agents, and needs to be active on the devices were the agents will execute.

6.1.3.2 Preemptive and Cooperative Multitasking Agents in JADE use preemptive time-sharing. This is the same type of round robin resource sharing that is normally used for computers processor. Internally the agents’ behaviors use a cooperative time-sharing model. The processes of a behavior of an agent run when time is given. The behaviors themselves release the control of computation resource for the agent. A behavior must usually be divided in smaller blocks of computation, which is run one at a time, each time the given behavior is given a time share of computation by the cooperative timeshare model.

6.1.4 Agent Architecture

According to the AOP paradigm, software agents should be goal-oriented and have a specific objective to fulfill. When choosing and designing software agents, one should first make a list of the tasks and objectives the system has to carry out and fulfill. And thereafter assign a task to a specific agent. Below is a list of the main objectives the testbed implementation has focused on when designing and naming agents.

• Each physical network node has to find its nearest neighbors, and continuously maintain communications with those in order to notice if or when a neighbor fails or loses connection. Which the nearest neighbors are has to be decided from the nodes’ GPS positions.

• A node must detect if there is a ground sensor connected to it and establish communications.

• Target correlation, classification and identification processes must be integrated.

• Network architecture must enable distributed information fusion and target tracking.

• Network must be dynamic and enable autonomous detection of new nodes and detection of failing nodes.

• UGSN must have a gateway open to maintain communications to the Internet and the command and control applications must be updated as the situation picture changes.

46

Page 49: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

• The area of surveillance must be estimated. There must also be a compiled situation picture with the active sensors and their operative range.

The tasks listed above, have resulted in implementation of the following agents:

NodeAgent (NA) – is responsible for finding its nearest neighbors and to handle interaction and communication to those. The NA is also acting host for TAs as those migrate in the network.

SensorAgent (SA) – is responsible for handle communication between the physical sensor and the NA. The SA will detect if a ground sensor is connected to the node and make sure all sensor alerts reach the NA. Besides vehicle sensors, the SA can also handle image sensors, e.g. cameras.

TargetAgent (TA) – is responsible for correlation between sensor readings, information fusion and target tracking. The TA is migrating from one node to another as it is tracking the target. Along the way it is correlating and fusing available sensor data.

GateWayAgent (GWA) – is responsible for maintaining an Internet connection and to have an OpenSIS service registered in the global name server. All information updates from the UGSN is sent through the GWA. The GWA is also responsible for keeping a SensorCompileAgent up and running at all times.

SensorCompileAgent (SCA) – is responsible for compiling a situation picture over the area of surveillance and what sensors are being used. The SCA will update the end user application through the GWA as the business logic topology changes.

Figure 10 Agent architecture

47

Page 50: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

The figure is illustrating the agent architecture. There has to be one NA on each network node. A SA has to exist on a node which has a ground sensor connected to it. The SA is dependant of a NA. As the TA is migrating through the network it needs a NA as host at the current visited node.

6.1.5 Agent Collaboration and Reasoning

Described below is an example of agents reasoning with each other. The reasoning and collaboration between agents is made possible through different interaction protocols and is used for target correlation, information fusion and target tracking. The examples below are briefly describing how agents can reason and interact in the implemented sensor network. In chapter 7, the results of the sensor network are presented.

Figure 11 Agent reasoning scenario 1

Scenario 1

1. A NA receives an alert message from the SA.

2. The NA asks its nearest neighbors if they for the moment are hosting a TA.

3. After receiving a negative answer from all contacted neighboring NAs, the NA will create a new TA.

48

Page 51: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Figure 12 Agent reasoning scenario 2

Scenario 2

1. A NA receives an alert message from the SA.

2. The NA asks its nearest neighbors if they for the moment are hosting a TA.

3. One neighboring NA replies that he is hosting a TA. A reference to the TA is also returned.

4. The NA asks the TA to correlate the new sensor information. The point of correlation is to find out and decide whether the sensor has detected the same target or if it is a new one.

5. The TA returns a correlation result. In this case the correlation went good, meaning it is likely to be the same target. If the correlation result was negative, the NA will instead create a new TA.

6. The NA will now make a decision resulting in which TA that most likely is representing his detected target. In this case only one TA exists, but

49

Page 52: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

there can be a situation when several TAs exists and the NA receives more than one reference.

7. After that decision, the NA informs the most suitable TA that it is representing the target and that it should fuse the new sensor information and update his target track.

8. The TA will after the fusion process estimate the target’s movement and migrate to another node placed in the target’s course. The objective of the TA is to track and follow the target through the sensor network.

In above examples it is described how agents can interact and collaborate with other agents. It is also described how a TA migrates from one node to another node to track a target through the sensor network. The next example will show how an agent can make use of other agents to delegate sub-tasks.

Scenario 3

1. After fusing a number of sensor readings a TA will have a good track of its target and can then estimate the target’s next location. The TA can then start a search for a camera sensor in the network that can take a photo of the target.

2. The TA will ask several possible SA with a camera sensor that might be located in the target’s course for assistance in taking a photo.

3. Depending on whether the SA already has tasks to fulfill or not, he will accept or refuse the request from the TA.

4. After receiving answers from the contacted SAs, the TA will choose one or many cameras to take a snapshot.

5. The TA will then inform and update the SA with information about the target, such as speed and direction.

6. The information about the target’s speed and direction might not be sufficient in order for the SA to decide when to take a picture. At this moment it might be a good idea for the SA to find a nearby SA with a vehicle sensor that can assist as a trigger sensor for the camera. By using a nearby sensor the SA will hopefully receive a trigger-signal telling him exactly at what moment to fire the camera.

7. The SA has now delegated a sub-task to another agent and will receive assistance in carrying out the main task. This way of reasoning and delegating sub-tasks is typical in artificial life systems, where individuals live after simple low-level rules but together is able to perform complex tasks and show intelligent behavior.

50

Page 53: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

6.2 Target Correlation and Information Fusion

Target Correlation: The implemented testbed simulates alerts from several different ground sensors. Common data from all sensors are: sensor position and a timestamp of the alert. More sophisticated sensors can estimate target speed, target direction, target type and target identity. All sensor data and entities are mapped into a global ontology to solve the entity identification problem as was described in chapter 3.6.

The correlation algorithm always uses and relies on the sensor position and timestamp information to correlate different targets. In cases where more target information is available such as target type and identity, that information is also used in the correlation algorithm. A built-in premise says that a target is not very likely to make a u-turn. This is to solve the problem when two targets are moving towards each other. This problem could be solved if the used sensors were capable of target classification. But since the only sensor information that can be relied on is position and time, this premise is necessary.

The sensor network can correlate and distinguish targets moving toward each other and that cross the other’s path. Several targets that move around in the monitored area are neither a problem. However, the network has never been tested on a column of targets. There is a limitation in the actual ground sensors when it comes to columns of vehicles. The processing time of the sensors often makes it impossible to detect vehicles moving very close to each other in a column. Therefore the sensor network is not expected to be able to correlate vehicles moving in a column.

Data/Information Fusion: The information fusion in the UGSN results in a higher target type confidence level and higher target identity confidence level. The data fusion algorithm estimates target direction and speed from alert messages containing sensor position and timestamp. When a sensor is giving more information such as target speed, direction, type and identity this data is also used as input to the fusion process.

Besides from target confidence levels, output from the fusion process is momentarily estimated target position and target tracks. The fusion algorithm is based on a majority voting technique but it is not very sophisticated or advanced, merely implemented to show the possibilities and benefits of information fusion.

The UGSN is performing both decentralized and distributed data fusion. At each ground sensor, the sensor data is fused into target information corresponding to decentralized data fusion. This target information is later received and fused by

51

Page 54: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

the TargetAgent at several different nodes in a distributed fusion manner in order to increase the target type- and identity confidence levels.

6.3 Network Information Presentation

An objective in a sensor network system is to present the fused situation picture and sensor information to the end user(s) in an intuitive and easy understandable way. The command and control application (end user application), should graphically present sensors type and geographic location and target tracks. Since there might be more than one command and control application, the sensor network must be able to distribute its information to multiple end applications and also make sure that information is not shared with unauthorized parts.

As information distribution tool and presentation tool the Open Services Infra-Structure (OpenSIS) and the Situation-Adapted Systems Builder (SitSyst) has been used [27]. OpenSIS and SitSyst are developed by Ericsson Microwave Systems AB (EMW) towards the Swedish Department of Defense as a central part in the future network based defense. The OpenSIS architecture is meant to be used when building National Security Networks (NSN) and Network Centric Warfare (NCW). NSN is a new initiative from EMW and is about bringing emergency authorities together and opening a possibility for them to fully collaborate.

The main objective of the OpenSIS is to get different systems in a system of systems, which not necessarily are designed to work together, to be able to collaborate with each other in a secure manner, via a common interface. The profit of using OpenSIS is to be able to connect different kinds of information services to a common application framework, and thereby get them to work together. Services that were earlier platform dependent and unable to communicate with each other may with the OpenSIS form a producer (application that offers a service). A consumer application can then subscribe to the producer’s service and receive the producer’s shared information. An authorization server is used to control what producers a consumer can subscribe to.

Linking together systems that were not designed together might be time-consuming and expensive, which often outweighs the potential benefits. The OpenSIS is much alike the concept of Microsoft Web Services in connecting different information systems together over a common communication strategy. Either CORBA or XML can be used as communication strategy depending on application performance.

The concept of the SitSyst-builder is to be able to use a graphical user interface to “build” an application suited for the user’s current needs. Each producer that is available and has information to share has already registered its service in a name server. The SitSyst-builder searches the name server and displays all available

52

Page 55: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

services. By using drag-and-drop method, different available services can be connected and placed in the workspace. The situation-adapted application is created, and the user is receiving information from the chosen services that he currently is subscribing to.

Example of a situation-adapted system is an application subscribing to a map service and a UGSN service. The SitSyst-builder will in this case consist of a map in the background, covering the area over the sensor network and icons representing sensor type, location and possible target tracks.

53

Page 56: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 7

7

7.1

Further Development

Required Improvements for Ad Hoc Environments

Currently the FIPA specifications as well as the JADE architecture are not yet very suitable for agents in ad hoc networks. As described in chapter 2.5.2 ad hoc networks are by nature very changeable in topology with possible spontaneous, not permanently available communication connections. Current problems of existing agent architectures for ad hoc environments and possible improvements will be discussed below.

Current FIPA abstract architecture specifies two mandatory components of an agent platform (AP). These are the agent management system (AMS) acting as a white paper directory, and the directory facilitator (DF) acting as a yellow paper directory for agents services lookup. An AP either can be located on a single host or distributed on several hosts with one host hosting the mandatory components.

Agent Platform

Message Transport System

Directory Facilitator

Agent Management

System

Agent

Figure 13 Reference architecture of a FIPA Agent Platform with the two mandatory components Agent Management System and Directory Facilitator

54

Page 57: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Each agent in an AP must register with the AMS to get a unique id, agent identifier (AID). The DF provides yellow pages service for all agents on an AP to find each other. This represents the management authority of an agent AP and is responsible for e.g. agent life-cycle management, agent creation and deletion. If an agent ad hoc network consists of one AP distributed at all nodes, these two components obviously represent single points of failure. The distributed agents would also loose a big part of their characteristic of autonomy. If each node in the network would act as separate AP, there is the difficulty instead for agents to locate each other. In a sensor network, the majority of the nodes are possibly tiny devices with small processors and low computational power. The AMS and DF represent relative resource-consuming components. Because of the dynamic characteristics of an ad hoc network, nodes are likely to frequently enter the network as well as lose contact to the network is an uncontrolled manner. When a node moves out of range from the network, or goes down, the agent has no possibility of deregistering with the AMS. This would lead to inconsistency of the AMS and DF directories as there is currently no inbuilt “self healing” mechanism to prevent this.

The testbed network consists of a single AP distributed over all nodes, with one container4 at each host. The use of a single distributed AP is required to migrate agents from one host and Java Virtual Machine (JVM) to another, due to the limitations of current implementation of JADE. Agent mobility is only supported inside an AP. In a future more robust agent UGSN without the dependence of a central AMS, agents need to migrate between APs. This issue is discussed further in chapter 7.1.2.

Current testbed implementation uses one or several predefined addresses for the agents to find the AMS. This obviously brings a central node into the system, and a single point of failure. This is not a solution for a real system, but works in a testbed environment for test purposes on other abilities of the agent system. JADE (since version 3.1) provides a service called main replication service. This service offers multiple agents on several hosts to act as replicates of the main container5 holding the main DF and AMS. If the AMS host goes down, another of the nodes implementing the replication service can take over the AMS role. The use of this service improves the stability of the system, but has significant drawbacks for the ad hoc system. The synchronization between the main container and the replicas implies a lot of communication and drains the systems resources. Another question this brings to our system is which ones of the network nodes that should 4 An instance of a JADE run-time is called a container. All containers belonging to one AMS is called a platform.

The main container is container holding the man DF and AMS.

5 An instance of a JADE run-time. All containers belonging to one AMS is called a platform. The main container is

container holding the man DF and AMS.

55

Page 58: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

be offering the replication service in a dynamic manner. This could probably be solved with some algorithm of reasoning between the agents of each node, but is yet not a good approach. The various requirements specific to ad hoc environments and possible solutions are discussed in the following chapter.

7.1.1 Agent Architecture for Ad Hoc Environments

In a distributed sensor network with mobile agents, a global central AMS and DF node would imply a heavy load on the network resources in order to maintain an updated directory of all agents. On the other hand, it should not be needed for all agents on all nodes to be able to find each other. Many agents do only interact with other local agents on the same host. Further, some agents might need to communicate with its closest surrounding neighbors, but not globally in the network. A few agents in the network may need to occasionally search the entire network for specific agents.

FIPA has not yet any agent architecture specifications suitable for ad hoc networks but it is an issue under investigation. In 2002, FIPA set up a technical committee assigned to carry out the technical work of drafts for specifications on FIPA compliant agents in ad hoc environments. To the date of this report, preliminary specifications have been published for an Agent Discovery Service [18] adjusted for ad hoc networks. Also see the Whitepaper “Agent in Ad Hoc Environments” [17] for present activities on FIPA ad hoc.

7.1.1.1 Different Approaches for Agent Discovery in Ad Hoc Existing FIPA abstract architecture involves the two mandatory components in an agent, the AMS and the DF, see Figure 13. With current architecture, an ad hoc network could be implemented in a single distributed AP over several hosts, with the AMS and a default DF on one single host. This requires the autonomous nodes to rely on the presence of a single permanent available device in order to act as a DF.

There exist different proposed approaches to the problems implied by ad hoc environments. Below is presented a few different approaches. The differences are the demands they are putting on the network bandwidth and the resource-constrained nodes. Different solutions of the ad hoc situation may suit best for different fields of applications. Common for most ad hoc environments is that the nodes are often resource-constrained and hosting only a few agents each. Below are discussed different suggestions for agent to find other agents and services in the absence of a global DF. Beside the concerns regarding infrastructure elements for ad hoc support and message exchange routines to find services, the APs need some discovery mechanism to discover each other physically. This issue is exposed for discussion further.

56

Page 59: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Current FIPA specification supports what is called DF-federations, which is traditionally used for search of remote services. Two APs which gets in contact with each other can register the remote DF in the local DF, beside their local agents. The platforms also still need some discovery mechanism how to find each other, e.g. by some sort of broadcast discovery messages. Each AP could periodically broadcast an AP description and when two an AP discover another AP they federate each others DF information. DF federation is not efficient, especially not in an ad hoc environment with a large number of nodes with multihop enabled communication. The radio transmission would be very resource straining. There exist a number of different proposed approaches to the problems implied by ad hoc environments. Currently there is not yet a mutual consensus regarding the best solution.

7.1.1.2 Agent Fragment Methodology for Ad Hoc Networks The existing AMS and DF which are necessary to support multiple agents on one AP are relatively large and resource-consuming. A modified design of the abstract architecture could consist of agent fragments where several fragments can form clusters or compounds where only one of the nodes are hosting a complete AMS and DF service. This approach is discussed in a “Response to the FIPA Call for Technology”[6.5] by Media Lab Europe. When the network is set up, each node which contains a Discovery Agent (DA) finds its neighbors in a form of peer-to-peer discovery. Each DAs holds a directory of their local agents and services. When finding another DA they exchange their agent directory information. When a threshold is reached in e.g. number of fragments sharing agent information or other network metrics, one of the fragments takes the responsibility, according to some predefined algorithm, of acting DF for the compound. Several compounds can similarly connect each other by exchanging their DF platform information.

An agent fragment solution would ease the resource-constrains on the nodes in general, but still represents a pretty complex solution of manage the DA federations, DF management etc. Possibly the resource constrains on the nodes in general regarding computational power and memory, will not be an issue in the future to the extent of these requirements.

57

Page 60: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Figure 14 Illustration of three agent compounds with Platform DF registrations federations.

7.1.1.3 Lite-AMS and Agent Discovery Service FIPA has to this date specified a preliminary specification [18] of a modified AP reference model for discovery in ad hoc networks in the specifications of a FIPA Agent Discovery Service and a FIPA JXTA Discovery Middleware Specification (se chapter 7.1.1.3.3).

58

Page 61: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Agent Platform

Directory Facilitator

local search

Agent Discovery

Service (JXTA, Bluetooth,

other DM)

Message Transport System

global search

Agent

Figure 15 Illustration of Agent platform in ad hoc environment with Agent Discovery Service

Each node contains a complete AP, including the AMS, meaning a node is not dependent on any other node for its agent management functionality. The AP contains an Agent Discovery Service (ADS), by which the local agents register their services they wish to make public in the ad hoc network. Optionally an AP can also contain a “regular” DF which is only used local registrations and searches. The use of the ADS works similar to the ordinary DF, but functions differently. The ADS search for, and/or publishes services to the network by using one or several discovery middleware (DM) available in the ad hoc network. FIPA does not restrict to or recommend a specific DM, but must provide the functionality specified for the ADS.

In a P2P network all participating peers are communicating directly with each other without the reliance of centralized servers or resources. All information is shared through the interaction between the peers. In the absence of any central lookup service like the servers in conventional client/server networks, the peers need a common discovery mechanism of its existence and the offered services. Different discovery technologies have been developed for the handling of dynamic

59

Page 62: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

available nodes in the fixed network. Some of these are SLP6, Gnutella7, Bluetooth8, UPnP9, Salutation10 and JXTA. Previous solutions of service discovery or similarly for P2P systems which work well in the wired network may imply overwhelming overhead data considered for a wireless network, due to all excessive broadcasts or multicasts. The DM should be independent of the used platform as well as used network protocol. This is not the case with many of today’s DMs, as they are often using a set of programming language dependent APIs (like C++ or JAVA), with specific transport protocols like the HTTP

Discovery

UDP/IP

Routing

JXTA

UDP/IP 802.11

ad hoc routing

Bluetooth SDP

Bluetooth

Agent Platform

Figure 16 General layer overview of discovery mechanisms, agent platform and network with Bluetooth and JXTA as examples of discovery mechanism.

7.1.1.3.1 Leasing Mechanism One specific difficulty for ad hoc environments is the inconsistency of registered services. When an agent founds a service in lookup service like the DF, it is no guarantee that the service is valid, since there is no mechanism to automatically discover if a registered agent leaves the networks by e.g. the a node failure. This will be discovered firstly when an agent tries to use the service. A solution is that each registered service has a leasing time. The agent needs to renew the lease 6 Service Location Protocol RFC 2608 1999 http://www.ietf.org/rfc/rfc2608.txt or http://www.ietf.org

7 Gnutella Protocol Specification www.stanford.edu/class/cs244b/gnutella_protocol_0.4.pdf

8 The Bluetooth Specification http://www.bluetooth.com/dev/specifications.asp

9 The Universal plug and Play http://wwwupnp.org

10 Salutation http://www.salutation.org

60

Page 63: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

before it expires, or the service is no longer available. This mechanism reduces the inconsistency to the period of a leasing time at most. The leasing time of services could be dynamic and depend on different circumstances and metrics like communication infrastructure and network stability.

7.1.1.3.2 Push and Pull Discovery Mechanisms A service on a peer (e.g. an Agent and its service) could be found by another peer (e.g. an agent) in to distinctive ways. A peer can push information about its presence over the network, with the possibility of peers interested in such service catch the, possibly multicasted, announcement. The other alternative is the peer interested in a specific service sends some sort of search announcement message through the DM with the choice of such a service to respond to that search request.

7.1.1.3.3 JXTA One promising DM technology for the ad hoc environment is the JXTA [20]. FIPA has made preliminary specifications of JXTA as well as Bluetooth as DM in ad hoc agent networks, but the agent discovery service of FIPA does not restrict to any specific DM technology. JXTA is open source technology which on a high abstraction level defines a set of protocols with one or more, format predefined, messages exchanged among the protocol participants. The currently defined JXTA protocols are:

• Peer Discovery Protocol. The default discovery protocol used by peers to discover peers, peer groups or other advertisements11.

• Peer Resolve Protocol

• Peer Information Protocol

• Peer Membership protocol

• Pipe Binding Protocol

• Endpoint Routing Protocol

Together these protocols provide a platform independent basis for P2P computing, discovery and interacting. The protocols messages are defined to work on top of asynchronous, unreliable and unidirectional communication links. The discovery mechanism is not exactly mandated by the JXTA. It can be done e.g. by a broadcast over a subnet as a LAN-based discovery; by a Cascade discovery of discover (with its permission) another peers horizon; by Invitation from a peer or

11 A JXTA concept composed by an XML structured document that names, describes and publishes the existence

of a resource. A resource can be e.g. a peer or a service.

61

Page 64: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

by discovery through some rendezvous peer points. JXTA does not restrain how a discovery or other message is propagated. Current implementation uses the concept of peer groups which are virtual entities of cooperating peers providing a common set of services. JXTA does not specify when, where or how to create a group but merely how to e.g. discover them by the Peer Discovery Protocol. This way a peer can easily multicast messages to, or search for, specific kind of peer groups. The discovery protocol itself does not define if a discovery message is to be limited to the local network or unlimited propagated.

7.1.2 Agent Migration between Platforms

Mobility is one of the main characteristics of an agent, and a necessary capability for the fusion mechanisms of the testbed implementation. The FIPA specifications do not contain descriptions for mechanisms to implement agent migration. JADE enables migration as described in [13] ”an agent can stop running on a host, migrate on a different remote host (without the need to have the agent code already installed on that host), and restart its execution from the point it was interrupted ”. JADE though only enables agent migration within a distributed AP, which is disadvantageous for fault tolerance and system scalability. Agent migration is the process by which an agent transports it between agent platforms. Migration of an agent means moving the actual running process from one host to another. The target must not be dependable on having the actual agent code in advance. A technical requirement to make it possible for migration of an agent to another host is that they use a common agent runtime environment. It is therefore not feasible to standardize a migration between heterogeneous system platforms.

The complexity of running remote code of an agent on different host platforms implemented in different programming languages would be unmanageable. They need to e.g. share common programming language class libraries, like a specific JVM version, as well as the agent framework class libraries. The report “Agent Migration over FIPA ACL Messages” [39] presents a solution regarding the communication transport to migrate agents between APs of the same agent runtime platform. Using FIPA ACL messages does the interaction for migration of agents. Such a mobility specification needs to include migration ontology for the migration interaction, as well as a design for the class loading process for the destination platform. An agent with possibly the same name as an existing agent on the destination host must not conflict with each other. In order to solve this, the agent runtime environment can use several class loaders with different unique namespaces.

62

Page 65: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

7.1.3 Agents in Light Weight Devices

An important question is how resource constraining a running agent framework is for light weight devices as the sensor network nodes is thought to be. The high level of abstraction and communication inferred by an agent oriented solution might be argued to be to demanding for resource constrained hardware. If taking JADE as reference, the memory footprint can be reduced to very small proportions. JADE can for example be adjusted to be compatible with the J2ME12 CLDC13/MIDP1.014. In this configuration the memory footprint is around 100KB [13]. Considered that future progress in processor and memory capacity will most likely be faster than the one of battery capacity, the possible overhead size of an agent implementation will pay off in reduced overall wireless communication due to more sophisticated communication strategies. To this reasoning can be added the ability to optionally migrate (move) agents and its computation from loaded devices to less loaded devices. As JADE internally uses a cooperative multitasking model, as described in chapter 6.1.3.2 JADE can run with a single agent with multiple tasks and behaviors on light-weight devices with capability of only a single thread. This can be advantageously in some embedded Java products where the numbers of threads are restricted due to the high processing cost of switching threads.

7.2

Future Required Testbed Improvements

During the development of the testbed, several issues and ideas were gathered that is necessary to further develop or implement to achieve a good product that can be used in real situations.

The sensor network could with great advantage be integrated with an ad hoc routing protocol. To have a network with self-configurative topology and the possibility of data packets relaying via intermediate nodes would be very beneficial.

Algorithms that have been used for target correlation and information fusion in the testbed are not very advanced or sophisticated. The testbed development has focused on developing a communication solution that will make distributed data fusion possible and beneficial in a decentralized sensor network. Further

12 Java2 platform Micro Edition

13 The Connected Limited Device Configuration (CLDC) defines the base set of application programming

interfaces and a JVM for resource-constrained devices. like mobile phones, pagers, and mainstream personal

digital assistants

14 The Mobile Information Device Profile when combined with the CLDC, is the Java runtime environment for

today's most popular compact mobile information devices

63

Page 66: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

development or implementation of new information fusion algorithms will be of great advantage in reducing data processing time and increasing target identity confidence level. For example, Kalman filters could be used to achieve better target tracking [32].

A future objective for ground sensor networks is to integrate the system into tiny sensor boards that can be deployed from the air and operative for long times. System optimization is therefore required.

Adding different types of ground sensors in the network will work as complement to the others and result in enhanced situation awareness.

The problem of single point of failures is minimized but not completely solved. The main problem in an agent oriented peer-to-peer network is the use of so-called yellow-pages services. These central nodes can be designed and implemented as logical nodes instead of physical nodes. But still there exist a problem of data inconsistency between those services. The logical services must continuously exchange information, which results in a lot of overhead data traffic. A solution to solve these matters for agent architectures in ad hoc environments has been presented in a preliminary specification by FIPA. The solution is discussing agent discovery in ad hoc networks using a modified agent platform with Agent Discovery Services at each network node and a common Discovery Middleware for the entire ad hoc network. JXTA has been suggested as discovery middleware in the specification. We will just have to wait to find out how this agent discovery service specification by FIPA will turn out.

In military applications it is more important to focus on the security aspect than in civilian ones. Information shared in the system must be encrypted to prevent unauthorized parts to eavesdrop. Command and control applications subscribing to information from the network must in some way be authorized before they get access to the services.

64

Page 67: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 8

8 Results

An intelligent ground sensor network with reasoning agents has been developed. The network is correlating sensor information and autonomously tracking targets and fusing target information. The information fusion process is resulting in a higher confidence level of target type and target identification and the network can by itself make a decision on when to update the end user application.

Through intelligent reasoning by agents, the end user is not being drowned in sensor alerts but is being presented a situation picture that is easy to understand without too much interpretation, thus resulting in greater situation awareness for the user.

JADE has been used as tool for implementation and as agent runtime environment. Because of using an agent development framework, the system has become more mature and functional than it would have been if we had implemented a communication framework from scratch. JADE has made it possible to focus even more on the business logic instead of being forced to deal with the lower communications layer issues.

The implemented testbed simulates alerts from several different ground sensors. Target tracking has been made possible through correlation of sensor data. The sensor network can correlate and distinguish targets moving toward each other and that cross the other’s path. Several targets that move around in the monitored area are neither a problem. However, the network has never been tested on a column of targets. There is a limitation in the actual ground sensors when it comes to columns of vehicles. The processing time of the individual sensors often makes it impossible to detect vehicles moving very close to each other in a column. Therefore the sensor network is not expected to be able to correlate single vehicles moving in a column.

The information fusion algorithm in the testbed is based on a majority voting technique but it is not very sophisticated or advanced, merely implemented to show the possibilities and benefits of information fusion in distributed sensor networks. However, the sensor network allows by the use of small means to integrate new sensors and take full advantage of them in the information fusion process.

Target correlation and distributed information fusion is made possible in the implemented UGSN due to the reasoning capabilities of software agents. The interaction protocols used for agent reasoning are parts of a higher-level communication act feature in the agent-oriented paradigm. Target tracking is a

65

Page 68: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

result of sensor information correlation, and each track is represented by one Target Agent. The TA is migrating between network nodes and is in this way literally following the target course. The TA is therefore always close to the target and only has to interact with his nearest neighbor nodes when correlating and fusing target information.

66

Page 69: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 9

9 Conclusion

The development of an intelligent sensor network faces numerous objectives and challenges. This thesis work has evaluated the benefits of using the agent-oriented view of software development in distributed information fusion systems. The maturity of the agent-oriented paradigm in ad hoc environments has also been investigated concerning a real system implementation.

Future will show if the agent software engineering will be a significant part in the future of software development. It is still in an early stage of development but already got a widespread acceptance. A key issue for this to happen is the evolvement of development techniques and agent architecture frameworks for agent systems (See chapter 6.1).

Distributed data systems can be very complex and have a variety of different relationships that also may be dynamic. The AOP paradigm is a relatively new software paradigm that brings us a new level of abstraction. Agents are specified by mental states such as beliefs and intentions, which make it easier to draw parallels to how we humans work and reason. This way of modeling makes AO systems more capable of handling dynamic relationships than e.g. the OOP paradigm.

The use of reasoning agents has made it possible to use the ideas and thoughts of Artificial Life in the implemented sensor network. We have made one implementation of an intelligent UGSN, which has resulted in a reduction of computational time and bandwidth usage and also made the presentation of the situation picture for the end user easier to understand. Thus, the agent paradigm and the agent’s high-level communication language together with an agent development framework, like JADE, makes it possible to realize complex distributed tasks by use of small means.

Several suggestions have been presented for agent discovery services in ad hoc networks to remove the need of central lookup- and management services. FIPA has presented a draft for a specification of how to use discovery middleware such as JXTA and Bluetooth in ad hoc environments to solve the matter. The specification is merely a framework telling how to use a DM and is not restricted to any specific technology. Currently there is no mutual consensus regarding the best solution. Different solutions may exist for different fields of applications in ad hoc systems. Even though there are many approaches presented, there are no dependable discovery middleware to use in ad hoc networks today.

67

Page 70: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Existing agent frameworks and agent specifications are still in need of some central lookup points for the agents to find each other in. As mentioned above, this will be solved by use of some discovery middleware technology adjusted to ad hoc environments and its specific characteristics. When this is done, the objectives of an intelligent sensor network by means of a decentralized architecture, absence of single points of failure, distributed fusion and energy preservation will be accomplished.

The conclusion of the thesis is that the agent oriented software paradigm has proven to be highly suitable in development of complex and distributed systems like intelligent sensor networks. However, the current architecture specifications of agent systems are not efficient enough for ad hoc environments.

68

Page 71: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 10

10 Abbreviations

• ACL - Agent Communication Language

• ADS - Agent Discovery Service

• ADS - Agent Discovery Service

• AI - Artificial Intelligence

• AID - Agent IDentifier

• AL - Artificial Life

• AMS - Agent Management System

• AOP - Agent Oriented Programming

• AP - Agent Platform

• BDI - Belief Desire Intention

• CDF - Centralized Data Fusion

• CORBA - Common Object Request Broker Architecture

• COTS - Commercial Of The Shelf

• CPU - Central Processing Unit

• DA - Discovery Agent

• DDF - Distributed Data Fusion

• DF - Directory Facilitator

• DFG - Data Fusion Group

• DM - Discovery Middleware

• EMW - Ericsson Microwave Systems AB

• FIPA - Foundation for Intelligent Physical Agents

• IP - Internet Protocol

• JDL - U.S. Joint Directors of Laboratories

• JINI - pseudo-acronym

69

Page 72: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

• JVM - Java Virtual Machine

• JXTA - Project Juxtapose (pseudo-acronym)

• KQML - Knowledge Query and Manipulation Language

• LAN - Local Area Network

• LGPL - Lesser General Public License

• LM ATL - Lockheed Martin Advanced Technologies Laboratories

• MAS - Mobile Agent Systems

• MTP - Message Transport Protocol

• NSN - National Security Networks

• OO - Object Orientation

• OpenSIS - Open Services Infra-Structure

• ORB - Object Request Broker

• OSI - Open System Interconnection

• RCP - Remote Procedure Call

• SitSyst - Situation-Adapted Systems

• TCP - Transmission Control Protocol

• UDP - User Datagram Protocol

• UGSN - Unattended Ground Sensor Network

• WLAN - Wireless LAN

• XML - Extensible Markup Language

70

Page 73: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

Chapter 11

11

[1]

[2]

References

Ad Hoc Networks with Unattended Ground Sensors, B. Karlsson. A. Lundström, M. Westbergh, Thesis for Bachelor of Science degree in Telecommunication, University of Kalmar, 2002

“Unattended Ground Sensors - A Prospective for Operational Needs and requirements” Nino Srour, U.S. Army Research Laboratory Sensor and Electron Devices Directorate, October 1999 http://www.arl.army.mil/sedd/acoustics/UGS%20for%20NATO%20Land%20Panel%206.pdf

[3] “The current landscape of Agent Communication Languages” Yannis Labrou, Tiim Finin, Yun Peng Laboratory for Advanced Information Technology, University of Maryland, Baltimore County – March 1999 http://www.csee.umbc.edu/~jklabrou/publications/ieeeIntelligentSystems1999.pdf

[4]

[5]

“Software Agent - chapter: ‘ An overview of Agent-Oriented Programming’” by Jeffrey M. Bradshaw chapter written by Yoav Shoham

”Agent-Oriented Software Engineering” Nicholas R. Jennings, Michael Wooldridge Queen Mary & Westfield College University of London, UK http://www.ecs.soton.ac.uk/~nrj/download-files/agt-handbook.pdf

[6] “A Roadmap of Agent Research and Development” Nicholas R. Jennings, Katia Sycara, Michael Wooldridge – march 1996 http://www.ecs.soton.ac.uk/~nrj/download-files/roadmap.pdf

71

Page 74: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

[7] “Software Agents A Contribution to Agents Specification” Vojislav Stojkovic, William Lupton – Computer Science Department Morgan State University – 2000 http://isedj.org/isecon/2000/505/ISECON.2000.Stojkovic.pdf

[8] FIPA Foundation for Intelligent Physical Agents - Home Page, 2004 http://www.fipa.org

[9] FIPA Technical Committee of Ad Hoc, http://www.fipa.org/activities/ad_hoc.html

[10] ”Multisensor Data Fusion in Distributed Sensor Network Using Mobile Agents” Hairong Qi, Xiaoling Wang University of Tennessee Ferris Hall , S. Sithharama Iyenger Louisiana State University Coates Hall, Krishnendu Chakrabarty Duke University Hudson Hall, http://www.ee.duke.edu/~vishnus/DARPA/01fusion.pdf

[11]

[12]

“The Logical Modeling of Computational Multi-Agent Systems” M. Wooldridge PhD thesis, Department of Computation, UMIST, Manchester, UK, 1992

“Java Agent DEvelopment Framework – an Open Source Platform for peer-to-Peer agent based application” Home page for the JADE, http://sharon.cselt.it/projects/JADE/

[13] “JADE – A White Paper“ F. Bellifemine, G. Caire, A. Proggi, G. Rimassa EXP – Volume 3 .n.3 –September 2003, http://exp.telecomitalialab.com/upload/articoli/V03N03Art03.pdf

[14] “JADE goes Wireless –Gearing up Agents for the Wireless Future” H. Helin, M. Laukkanen EXP - Volume 3 - n. 3 - September 2003, http://sharon.cselt.it/projects/JADE/

[15] Publicly available Agent Platform Implementations – FIPA home page, April – 2004 http://www.fipa.org/resources/livesystems.html

72

Page 75: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

[16] “Agent Platform Evaluation and Comparison” Nguen T., Dang T. Tung – June 2002 http://pellucid.ui.sav.sk/TR-2002-06.pdf

[17] “Agents in Ad Hoc Environments” – A Whitepaper” version 0.A Michael Berger – Siemens – July 2002 http://fipa.org/docs/input/f-in-00068/f-in-00068.htm

[18]

[19]

“FIPA Agent Discovery Service Specification ” Version 1.2e FIPA TC Ad Hoc – 2003/10/20 http://fipa.org

“LEAP into Ad-Hoc Networks” Jamie Lawrence – Media Lab Europe http://autonomousagents.org/ubiquitousagents/2002/papers/papers/10.pdf

[20] Project JXTA home page www.jxta.org

[21]

[22]

[23]

[24]

Wald L., A European proposal for terms of reference in data fusion. International Archives of Photogrammetry and Remote Sensing, Vol. XXXII, Part 7, 651-654, 1998

The Data Fusion Server , 2004, http://www.data-fusion.org/

Multi-agent Data Fusion Systems: Design and Implementation Issues, Vladimir Gorodetski, Oleg Karasayey, Vladimir Samoilov, St. Petersburg Institute for Informatics and Automation

International Society of Artificial Life, 2004, http://www.alife.org

[25]

[26]

Architectures for Distributed Information Fusion To Support Situation Awareness on the Digital Battlefield, Stephen M. Jameson, Artificial Intelligence Laboratory – Lockheed Martin Advanced Technology Laboratories, Camden, NJ, USA, 4th International Conference on Data Fusion, August 2001

Army Aviation Situational Awareness Through Intelligent Agent-Based Discovery, Propagation, and Fusion of Information, Stephen Jameson and Craig Stoneking, American Helicopter Society Forum 58th, Avionics and Systems Session, Montreal, Canada, June 11-13, 2002

73

Page 76: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

[27]

[28]

[29]

[30]

Open Services Infra-Structure , 2004, http://www.opensis.org

Architectures for efficient data fusion, P. Vangasse, D. Nicholson, BAE Systems Advanced Technology Centres, 2002

Data Fusion for Long Range Target Acquisition P.Verlinde, D. Borghys, C. Perneel and M. Acheroy in Proceedings of the Sensor and Propagation Panel's (formerly AGARD) 7th symposium on Multi-Sensor Systems and Data Fusion for Telecommunications, Remote Sensing and Radar Lisbon (Portugal), September 29 - October 2, 1997

International Society of Information Fusion, http://www.inforfusion.org/

[31]

[32]

[33]

[34]

[35]

[36]

[37]

Multi-agent System for Distributed Data Fusion in Peer-to-Peer Environment, V. Smirnova, University of Jyuäskylä, Master's Thesis, 2002

Evaluation of Data Fusion Methods Using Kalman Filtering and Transferable Belief Model, S. Nazarko, University of Jyuäskylä, Master's Thesis, 2002

A New Routing Strategy for Mobile Ad Hoc Communication, A. Lundström, M. Westbergh - Master thesis at Ericsson Microwave Systems AB, 2004

An Agent Architecture for an Unattended Ground Sensor Network, M. Brännström, FOI – Swedish Defence Research Agency, ISSN 1650-1942, 2002

Handbook of Multisensor Data Fusion, D.L. Hall, J. Llinas, ISBN 0849323797, CRC Press 1st edition (June 20, 2001)

"Decision Making and Data Fusion in an Interactive Adaptive UGS Network", E. Jungert, C. Jönsson, P.Klöör, S. Zyra, FOA (Swedish Defense Research Establishment)

Limitations and Possibilities for Commercial off the Shelf Wireless Area Network Products in Long-Range Tactical Wireless Networks, E. Lodin, Master thesis at Ericsson Microwave Systems AB, 2004

74

Page 77: Intelligent Sensor Networks - an Agent-Oriented Approach · Deployment of small disposable sensors can easily take place whenever and wherever needed to read of the surrounding. The

[38]

[39]

Artificial Intelligence – A Modern Approach, Stuart Russell, Peter Norvig, ISBN 0137903952, 2002

Agent Migration over FIPA ACL Massages, Joan Ametller, Sergi Robles, Joan Borrell, Computer Science Dept. University of Autónoma de Barcelona, 2003

75