You are on page 1of 259

Presentasi Seminar Program S3

Presentation 1
 Definition : Small embedded device
deployed on large scale network
with capability to sense, compute,
and communicate [1]

 Wireless sensor combines modern


sensor technology, micro electronic
technology, embedded computing,
communication technology, and
distributed processing [1]

[1] Krishnamachari Bhaskar. Mathematical Modeling and Algorithm for Wireless Sensor Network. Autonomous
Network Research Group Department of Electrical Engineering-Systems USC Viterbi School of
Engineering.
 Challenges in Wireless Sensor Area [1] and [2]:
 Large scale network : monitoring scope is very wide, the number of sensor
nodes is very large, unattended ad-hoc deployment
 Scarce energy, low bandwidth
 Processing, communication and storage ability is limitted
 High Noise and fault rate
 Dynamic / uncertain environtment : dynamic topology, self-organization
network, multi-hop routing
 Data Centric : High variation Application in application-spesific
requirements

[1] Krishnamachari Bhaskar. Mathematical Modeling and Algorithm for Wireless Sensor Network.
Autonomous Network Research Group Department of Electrical Engineering-Systems USC Viterbi
School of Engineering.

[2] Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-
layer MAC Protocol for Wireless Sensor Networks . The IEEE Fifth International Conference on Genetic
and Evolutionary Computing, 2011, IEEE.
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 A large number of sensor nodes are randomly deployed in the
target monitoring area, or manually deployed in a fixed position
of the monitoring area, constituting a self-organize sensor
network.
 After sensing data, the sensor nodes firstly fuse the monitoring
data, then send data to the sink node in the form of single-hop, or
in the form of multi-hop through neighbor nodes, the data can be
processed by many sensor nodes during transmission.
 lastly the monitoring data is sent to the management node
through internet or the satellite. The user configures and manages
the wireless sensor network, releases monitoring task, and collect
monitoring data through the management node

Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
Solutions developed
in research
community or by
groups of
enthusiasts.

Commercial
solutions from
particular
producers

Modules assembled
by companies trying
to sell software
solutions
 System VM
 virtualize hardware resources and can run directly on hardware.
 In embedded systems they implement functions of the OS and completely replace it
 Squawk, .NET Micro

 Application (process) VM
 typically run on top of an OS as an application and support a single process.
 Mate, Darjeeling, VM*, SwissQM, CVM, DVM

 Advantage
 Reduce the distribution energy costs for software updates
 VM code smaller than native machine code
 Simpler reprogramming process

 Disadvantage
 Additional overhead
 Increased time and memory requirements for execution
 Increased energy spent in interpreting the code
 has strong capability in the procession power, storage capacity
and communication;
 connects the sensor network and the Internet and other external
networks;
 achieves conversion of communication protocol between two
stacks, then releases the monitoring task of management node
and transmits the collected data to the external network;
 can be an enhancement of sensor nodes, with sufficient energy
supply and more memory, computing resource, also can be
gateway devices that have the wireless communication interfaces,
without monitoring function.

Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 can be called the user node.
 is used to configure and manage the wireless sensor
network, and release monitoring task and collect
monitoring data.
 during data transmission, sensor nodes not only can act as
sensing nodes, but also can act as a router to forward
data.
 in recent years, the software and hardware technology of
sensor node is the major issue in the research of wireless
sensor networks.
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
Chapter 2
Holger Karl, Andreas Willig. “Protocols And Architectures For Wireless Sensor
Networks” . John Wiley & Sons Ltd. 2005
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 The sensor : monitoring the target area and data conversion.
 The processor : controlling operation of sensor node, storage and
procession of the data that is collected itself and from other nodes.
 The wireless communication : wireless communication with other
sensor nodes, exchanging control messages, sending and receiving
the monitoring data. Wireless Sensor Networks typically use
communication frequencies between about 433 MHz and 2.4 GHz.
 The Power Unit : supplies energy for operation of sensor nodes,
generally it adopts micro-batteries.

Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 Passive, omnidirectional sensors.
 These sensors can measure a physical quantity at the point of the sensor node
without actually manipulating the environment by active probing – in this sense, they
are passive. Moreover, some of these sensors actually are self-powered in the sense
that they obtain the energy they need from the environment – energy is only needed to
amplify their analog signal. There is no notion of “direction” involved in these
measurements
 Typical examples for such sensors include thermometer, light sensors, vibration,
microphones, humidity, mechanical stress or tension in materials, chemical sensors
sensitive for given substances, smoke detectors, air pressure, and so on.

 Passive, narrow-beam sensors


 These sensors are passive as well, but have a well-defined notion of direction of
measurement. A typical example is a camera, which can “take measurements” in a
given direction, but has to be rotated if need be.

 Active sensors
 This last group of sensors actively probes the environment, for example, a sonar or
radar sensor or some types of seismic sensors, which generate shock waves by small
Sumber : Holger Karl, Andreas Willig. “Protocols And Architectures For Wireless Sensor Networks” . John Wiley & Sons Ltd. 2005
 The Processor is the core of a wireless sensor node. It collects
data from the sensors, processes this data, decides when and
where to send it, receives data from other sensor nodes, and
decides on the actuator’s behavior.

 It has to execute various programs, ranging from time-critical


signal processing and communication protocols to application
programs; it is the Central Processing Unit (CPU) of the node.

 Such a variety of processing tasks can be performed on various


controller architectures, representing trade-offs between
flexibility, performance, energy efficiency, and costs.

Sumber : Holger Karl, Andreas Willig. “Protocols And Architectures For Wireless Sensor Networks” . John Wiley & Sons Ltd. 2005
 The memory component is fairly straightforward. Evidently, there is a need for
Random Access Memory (RAM) to store intermediate sensor readings, packets
from other nodes, and so on. While RAM is fast, its main disadvantage is that it
loses its content if power supply is interrupted.

 Program code can be stored in Read-Only Memory (ROM) or, more typically, in
Electrically Erasable Programmable Read-Only Memory (EEPROM) or flash
memory (the later being similar to EEPROM but allowing data to be erased or
written in blocks instead of only a byte at a time).

 Flash memory can also serve as intermediate storage of data in case RAM is
insufficient or when the power supply of RAM should be shut down for some
time. The long read and write access delays of flash

Sumber : Holger Karl, Andreas Willig. “Protocols And Architectures For Wireless Sensor Networks” . John Wiley & Sons Ltd. 2005
 Mostly performed in unlicensed bands according to open standards
 Standard: IEEE 802.15.4 - Low Rate WPAN
▪ 868/915 MHz bands with transfer rates of 20 and 40 kbit/s, 2450 MHz
band with a rate of 250 kbit/s
▪ Technology: ZigBee, WirelessHART
 Standard: ISO/IEC 18000-7 (standard for active RFID)
▪ 433 MHz unlicensed spectrum with transfer rates of 200 kbit/s
▪ Technology: Dash7
 Standard: IEEE 802.15.1 – High Rate WPAN
▪ 2.40 GHz bands with transfer rates of 1-24 Mbit/s
▪ Technology: Bluetooth (BT 3.0 Low Energy Mode)
 Standard: IEEE 802.11x – WLAN
▪ 2.4, 3.6 and 5 GHz with transfer rates 15-150 Mbit/s
▪ Technology: Wi-Fi
 Sometimes in licensed bands
 Standard: 3GPP – WMAN, WWAN cellular communication
▪ 950 MHz, 1.8 and 2.1 GHz bands with data rate ranging from 20 Kbit/s to 7.2
Mbit/s, depending on the release
▪ Technology: GPRS, HSPA

 Sometimes according to proprietary standards and protocols


 Z-Wave – for home automation
▪ 900 MHz band (partly overlaps with 900 MHz cellular) with data rates of 9.6 Kbit/s
or 40 Kbit/s
 ANT – for sportsmen and outdoor activity monitoring, owned by Garmin
▪ 2.4 GHz and 1 Mbit/s data rates
 Wavenis – for M2M periodic low data rate communication
▪ 868 MHz, 915 MHz, 433 MHz with data rates from 4.8 Kbits/s to 100 Kbits/s
▪ most Wavenis applications communicate at 19.2 kbits/s.
 MiWi, SimpliciTI, Digi xxx, …
 For actual communication, both a transmitter and a receiver are required in a sensor
node. The essential task is to convert a bit stream coming from a microcontroller (or a
sequence of bytes or frames) and convert them to and from radio waves.

 For practical purposes, it is usually convenient to use a device that combines these two
tasks in a single entity. Such combined devices are called transceivers.
Transmitter State :
• Transmit : the transmit part of the transceiver is active
and the antenna radiates energy.

• Receive : receive part is active.

• Idle : A transceiver that is ready to receive but is not


currently receiving. Many parts of the receive circuitry are
active, and others can be switched off. For example, in the
synchronization circuitry, some elements concerned with
acquisition are active, while those concerned with tracking
can be switched off and activated only when the
acquisition has found something.
Sumber : Holger Karl, Andreas Willig. “Protocols And Architectures
For Wireless Sensor Networks” . John Wiley & Sons Ltd. 2005 • Sleep : significant parts of the transceiver are switched off.
 For wireless sensor nodes, the power
supply is a crucial system component.
There are essentially two aspects:
 storing energy and providing
power in the required form
 attempting to replenish consumed
energy by “scavenging” it from
some node-external power source
over time.

 Storing power is conventionally done


using batteries. As a rough
orientation, a normal AA battery
stores about 2.2–2.5Ah at 1.5 V.
Energy scavenging has attracted a lot
of attention in research.

Sumber : Holger Karl, Andreas Willig. “Protocols And Architectures For Wireless Sensor Networks” . John Wiley & Sons Ltd. 2005
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 The physical layer provides a interface between data link layer and
physics wireless signal path with radio frequency firmware and hardware.
 The physical layer is the bottom layer, charging with the task of directly
action with the outside.
 Meanwhile, the physical layer offers physical layer data service and
physical layer management service, also maintains the information base
of physical layer.
 The major tasks of the physical layer:
 Open and close wireless transceiver;
 Energy detection;
 Link quality indication;
 Clear channel assessment;
 Channel selection;
 Data transmission and data reception.

Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 The MAC layer offers MAC layer data service and MAC layer
management service.
 The MAC layer data service guarantees right sending and receiving
data of MAC protocol data unit in physical layer data service.
 The MAC layer data service maintains the database that stores the
relevant information of MAC sub layer protocol state.

 In IEEE802.15.4 criterion, the major tasks of the MAC sub layer :


 Coordinator generates network beacons;
 Beacon synchronization;
 Support PAN relevance and solution relevance;
 Support equipment safety;
 CSMA-CA channel access mechanism;
 Process and maintain guaranteed time slot mechanism;
 Support reliable link between two equal MAC entities.
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 The main function of network layer is providing some necessary
functions, ensure compatible with IEEE 802.15.4 criterion, meanwhile
supply suitable function interfaces for application layer.

 The major tasks of network layer :


 Produce package of internet layer;
 Routing of the network topology;
 Configure new device parameters;
 Establish the PAN network;
 Access or break PAN network;
 Allocate network address;
 Discover and maintain the network neighbor information;
 Supply routing, control the reception time and state of the receptor.
Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
 The Application layer includes a series of application layer software
based on monitoring tasks.

 Similar to transmission layer, the research of application layer is


relatively less. The potential problems of sensor network application
layer to be resolve are sensor management protocol, task allocation,
data broadcast management protocol and sensor query.

 Application support services of sensor network :


 time synchronization : provides sensor nodes working with local
timepiece synchronization;
 the node location service depends on limited known nodes to locate
positions of other nodes, establishing definite space relation in the
system.

Sumber : Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol
for Wireless Sensor Networks . 2011 Fifth International Conference on Genetic and Evolutionary Computing. IEEE.
Chapter 1 Application of Industrial Wireless Sensor Networks
Book of Industrial Wireless Sensor Networks Applications, Protocols, and Standards
CRC Press . Edition 2013

Milan Erdelj, Nathalie Mitton, Enrico Natalizio


FUN Research Group, INRIA Lille - Nord Europe, France
 Operate autonomously
 IWSN should not represent additional burden for human. It is easy
to deploy, configure, when deployment site is inaccessible for
human (Maintaiability)

 Reliability
 Provide accurate and real time information regarding monitored
process even in harsh industrial environments under extreme
vibration, noise, humadity, and temperature condition.

 System Security
 The information gathered during the monitoring process is vital for
proper system operation, given that even the smallest error can
produce fatal consequrnces for both system and product.
 Propagation Environment
 The designer has to deal with interferrence and the radio environment
produced by production machine. If the sensor is deployed at outdoor, the
radio propagation can be assimilated to a free-range perturbation.

 Operation Life Time


 The power management policy : Selecting The proper Components
(Hardware point of view) and Controlling Sending and Receiving message
(Software point of view)

 Heterogenity
 Heterogenity of data collected : Proper data fusion/aggregation schemes,
Powerful technique of data analysis for the reception side
 Heterogenity of objective network : Focus on logistic application where the
IWSN used to monitor the transportation of some good must be able to
integrate with the IWSN deployed both production site and delivery site.
 Enviromental Sensing
 Problem of air, water, pollution, fire, flood, landside

 Condition Monitoring
 Health information (building, construction, bridges, supply
route, etc), Machine condition (factory automation),
health care information

 Process Automation
 Resource of production and service provision including
material, stock, supply chain status. The most important
issue from human perpective is the production
performance monitoring, evaluation, and improvement
General objective in the environmental monitoring is an efficient
information gathering, used both for prevention (real-time or
postponed) and analysis.
 The importance of the pollution detection both in materials
for production as well as in the production ambients make
the pollution monitoring one of the most widely spread field
of application in enviromental sensing.
 Some related research :
 A Low cost, Fully automated, end-to-end in sewer gas monitoring
system based on floatting-drifting embedded sensor platform
 Some technique to allow web users to access high-resolution
polution data gathered from large number of vehicle-mounted
mobile sensing devices coupled with highly-accurate static sensor
data in an easy-to-use, intuitive interface.
 Prototype of a platform for collection and logging of the outdoor
noise pollution measurements. These measurements can be used
for analysis of pollution effect on manpower productivity and social
behaviour.
 Industrial facilities are often localized in
environments taht are riskier than residentalo
areas, especially in the case of oil, gas, coal mining
industries, or agricultural companies. Therefore,
proper early warnings or predictive disaster
detection might be a valuable asset, resource, and
life saver.
 Some related research :
 River Flood detection. A sensor network is used for
flood prediction based on the previous
measurements. By Using a small number of sensor
nodes with self-monitoring for failure capabilities,
they cover and secure large geographical area under
the threat of disaster
 the debris flow monitoring system that allows in-situ
real-time debris flow tracking. A number of robust
sensors with self-localization capabilities are thrown
into the flow, thus providing the real time flow
direction and volume information used for early
warning issuing.
 The security refers to the security of the
information and the security of the people,
products and equipment

 Some related research :


 a fence surveillance system that comprises the robot
and camera sensor network and two types of nodes,
ground and fence nodes. The network reports the
acquired data to the base station with issues
commands to mobile robots that extend the
communication distance of the system.
Objective : a need for structural and equipment monitoring techniques that could provide
global picture on subject condition and accurately predict equipment failures and therefore
improve component and equipment reliability and performance. Furthermore, structural
monitoring system detects system damages before possible failures and minimizes the time
that production line spends out of service, and thus increases the profit.
 Wireless sensor networks are well suited
for the structural health monitoring since
they are easily deployable and
configurable for this purpose.
 Related Research :
 a wireless data acquisition system that is
used for damage detection on the
building.
 wireless sensor network on two wind
turbines in order to gather the vibrational
output data and to provide better models
of wind turbine dynamic behavior and
response.
 requirement, challenges, their design and
implementation of WSN for health
monitoring of Golden Gate Bridge in San
Francisco Bay, USA.
 The production process speed and quality depends
on the equipment condition and accuracy.

 Related Research :
 Developing the wireless network system for a team of
underwater collaborative autonomous agents that are
capable of locating and repairing scale formations in
tanks and pipes within inaccessible environments
 WSN whose aim is to detect, localize and quantify
bursts, leaks and other anomalies (blockages or
malfunctioning control valves) in water transmission
pipelines.
 Process monitoring focuses on tracking the quality of the entire
life of a product, step by step from the materials provision used for
its production till its disposal.
 The role of IWSNs in these applications is driven by the need for
evaluating and improving each and every step of goods production-
distribution-consumption process as well as the cycle as a whole.

 Service monitoring is mainly related to evaluating the quality of


the provision of a specific service to end-users.
 From providers' perspective, remote monitoring/metering of
electricity power, heat, water or gas.
 From consumer's perspective, IWSNs' applications represent a
remarkable step in the direction of the green building deployment
because they allow end-users to constantly estimate their energy
expenditure as well as the quality of the environment where they live.
 easy-to-install self-calibrating system that provides users with
information on when, where, and how much water they are using. The
approach is non-intrusive, cost-effective and easy to deploy. It is
based on wireless vibration sensors attached to pipes, which are able
to measure the water flow passing through the pipe and estimate
consumption.
 a system for AC energy monitoring in large and diverse building
environments. Their system provides real, reactive and apparent
power measurements and comprises the metering control interface,
IP compatible network structure and software that provides various
power centric applications.
 a way to apply the dynamic WSN in temperature controlled supply
chain (cold chain) for fruit and pharmaceutical product storage and
transport to avoid degradation and spoilage.
 The design, development and deployment of a WSN that
improves the water efficiency in the field irrigation located in
dry regions. In this way, with the use of temperature and
humidity information it is possible to implement the
automated control system that consume irrigation water in
efficient manner

 The architecture, hardware and the software of the platform


used for precision viticulture. A major feature of this platform
is its power-management subsystem, able to recharge
batteries with energy harvested from the surrounding
environment.

 a novel control architecture that uses occupancy sensing to


guide the operation of a building heating ventilation and air-
conditioning systems. By interacting between sensing and
actuating part of the HVAC control, they achieve significant
results in energy saving
Many researchers pay more attention to :
 optimization between MAC layer and other layers of
network stack from the standpoint of cross-layer design.
 For example, interaction between physical layer and MAC layer,
combination of MAC protocol and routing, so as to increase
efficiency of MAC protocol, realize lightweight protocol and
reduce the cost.

 Now cross-layer optimization is one of the key issues in


research on the MAC protocol for WSN.
 The research of application layer is relatively less.
 The potential problems of sensor network application layer to
be resolve are sensor management protocol, task allocation,
data broadcast management protocol and sensor query.
Lizhong Jin, Jie Jia, Dong Chen, Fengyun Li, Zhicao Dong, Xue Feng. Research on Architecture, Cross-layer MAC Protocol for Wireless
Sensor Networks . The IEEE Fifth International Conference on Genetic and Evolutionary Computing, 2011, IEEE.
 experimental studies of wireless link quality
 a fundamental theorem concerning random
geometric graphs
 analysis of routing with compression
 linear/non-linear flow optimization formulations of
WSN routing
 best radio signal strength-based localization
technique to date
 new querying and search techniques for WSN
 algorithms for low latency scheduling and routing
Krishnamachari Bhaskar. Mathematical Modeling and Algorithm for Wireless Sensor Network. Autonomous Network Research Group
Department of Electrical Engineering-Systems USC Viterbi School of Engineering.
Presentation 2

NETWORK ARCHITECTURE

PROTOCOLS AND ARCHITECTURES FOR WIRELESS SENSOR NETWORKS


Holger Karl
University of Paderborn, GERMANY
Andreas Willig
Hasso-Plattner-Institute at the University of Potsdam, GERMANY
Presentation Title
1 Introduction to Wireless Sensor Networks and
Applications
2 Network Architecture
3 Seminar : Mobile Agent Platfform for WSN
4 Mobile Agent : Mobility and Communication
5 Mobile Agent : Coordination
6 Data Centic and Content-based Protocol
7 Data Mining and Information Retrieval
Disadvantage : limitation on the feasible distance between a sender and a receiver.
limited distance, the simple, direct communication between source and sink is not
always possible, specifically in WSNs, which are intended to cover a lot of ground (e.g.
in environmental or agriculture applications) or that operate in difficult radio
environments with strong attenuation (e.g. In buildings).
The concept of multihop networks is
particularly attractive for WSNs as
the sensor nodes themselves can act
as such relay nodes, foregoing the
need for additional equipment.

Depending on the particular


application, the likelihood of having
an intermediate sensor node at the
right place can actually be quite high
– for example, when a given area has
to be uniformly equipped with sensor
nodes – but nevertheless, there is not
always a guarantee that such
multihop routes from source to sink
exist, nor that such a route is
particularly short.
The scenario in the lower half, both sinks and active sources are used to
forward data to the sinks at the left and right end of the network
 Node Mobility
 Sink Mobility
 Event Mobility
 Node Mobility
 The wireless sensor nodes themselves can be mobile. The meaning of such mobility is
highly application dependent.
 In examples like environmental control, node mobility should not happen; in livestock
surveillance (sensor nodes attached to cattle, for example)

 Sink mobility.
 While this can be a special case of node mobility, the important aspect is the mobility of
an information sink that is not part of the sensor network, for example, a human user
requested information via a PDA while walking in an intelligent building.

 Event mobility
 In applications like event detection and in particular in tracking applications, the cause
of the events or the objects to be tracked can be mobile.
 In such scenarios, it is (usually) important that the observed event is covered by a
sufficient number of sensors at all time. Hence, sensors will wake up around the object,
engaged in higher activity to observe the present object, and then go back to sleep.
 Quality of Service
 Energy Efficiency
 Scalability
 Robustness
 Event detection/reporting probability.
 probabilitas di mana event yang muncul tidak terdeteksi atau tidak dilaporkan ke sink ?

 Event Classification Error.


 Event tidak hanya dideteksi, tetapi juga harus diklasifikasi

 Event Detection Delay.


 Berapa delay yang terjadi antara mendeteksi event dan melaporkannya ke sink

 Missing Report
 Aplikas yang membutuhkan laporan secara periodik, probabilitas laporan yang tidak
terkirim harus kecil

 Approximation Accuracy
 Untuk fungsi aplikasi aproksimasi, berapa rata-rata/nilai error maksimum absolut atau
relatif terhadap nilai aktual

 Tracking accuracy
 Aplikasi tracking tidak boleh kehilangan obyek yang sedang di-track. Posisi yang
dilaporkan harus semirip mungkin dengan posisi real-nya. Hal ini erkait dengan sensitifitas
sensor.
 Energy per correctly received bit
 Berapa rata-rata energi yang dikonsumsi untuk mengirim satu bit informasi (payload)
dari sumber ke tujuan.

 Energy per Reported (Unique) Event


 Berapa rata-rata energi yang dikonsumsi untuk mengirimkan laporan event yang unik.
Karena event yang sama dilaporkan dari berbagai sumber, perlu dilakukan normalisasi
pengukuran ke hanya satu event yang unik (informasi redundant tentang event yang
sudah terdeteksitidak akan memberikan informasi tambahan)

 Delay/Energy Trade-Off
 Ada beberapa aplikasi yang difungsikan untuk mendeteksi “urgent” events, di mana
dapat dijustifikasi adanya investasi energi yang meningkat untuk melaporkan event
itu secara cepat. Di sini adanya trad-off antara delay dengan overhead energi

 Network Lifetime
 Time to first node death. Kapan energi node pertama di jaringan kehabisan energi dan
berhenti beroperasi
 Network half-life . Kapan 50% dari total node kehabisan energi dan berhenti beroperasi.
 Time to partition. Kapan partisi jaringan pertama tidak terhubung.
 Time to loss of coverage. Kapan pertama kali area spot tidak dapat lagi di-cover olehsensor
yang terpasang di dalamnya.
 Skalabilitas : Kemampuan untuk memelihara
karakteristik-karakteristik kinerja sebuah jaringan
WSN

 Robustness : WSN tidak boleh fail hanya karena


jumlah node yang tertentu kehabisan energi, atau
karena lingkungan berubah sehingga
memutuskan jalur radio antar dua node.
Kegagalan ini harus dikompensasi dengan
menemukan jalur alternatif lainnya.
 Untuk optimisasi skalabilitas dan robustness biasanya diimplementasikan
arsitektur terdistribusi. Hal ini berarti bahwa tidak adanya satu entitas yang
memiliki tugas yang tersentarlisasi seperti mengontrol medium access
ataumembuat routing decision, sebagaimana halnya dilakukan base station di
dalam jaringan seluler. Kelemahan dari pendekatan tersentralisasi ini adalah
keterbatasan rentang komunikasi.
 Node-node WSN seharusnya secara kooperatif mengorganize jaringan
menggunakan algoritma dan protokol terdistribusi. Inilah dikenal dengan istilah
Self-organization.
 Ketika mengorganisir jaringan terdistribusi, perlu diperhatikan kelemahan
pendekataan ini. Untuk beberapa keadaan, pendekatan tersentralisasi dapat
memberikan solusi khususnya terkait dengan efisiensi sumber daya, misalnya
energi. Untuk itu perlu adanya kombinasi, yaitu penggunaan prisip sentralisasi
dengan memilih node spesifik sebagai agent yang tersentralisasi, sebagai contoh
untuk menorganisir medium access. Pemilihan node ini menghasilkan hirarki
yang dinamik – Lebih ditail dijelaskan di presentasi tentang “Topology Control”
 Ketika mengorganisir WSN yang terdistribusi, node tidak hanya
mengirim paket atau mengeksekusi program aplikasi saja,tetapi
node juga aktif terlibat dalam penentuan keputusan tentang cara
mengoperasikan jaringan. Inilah yang dikenal sebagai bentuk
spesifik permosesan informasi yang terjadi di dalam jaringan.
Konsep ini dikenal dengan in-network processing . Lebih ditail
dijelaskan di presentasi tentang “Data Centric and Content-
Based Networking”

 Teknik-tekinik terkait in-Network Processing


 Aggregation
 Distributed source coding and distributed compressing
 Distributed and Collaborative Signal Processing
 Mobile Code/Agent-based signal Processing
 Teknik pemrosesan yang paling sederhana dalam jaringan adalah aggregation.
Jika misalkan sink memperoleh hasil pengukuran periodik dari semua sensor,
namun hanya relevan untuk mengecek nilai rata-rata telah berubah atau
perbedaan antara nilai minimum dan maksimum cukup besar. Pada kasus ini,
sebaiknya tidak mengirim semua data yang dibaca oleh semua sensor ke sink,
namun lebih efisien untuk mengirim data rata-rata atau nilain maksimum dan
minimum saja.
 Pengiriman data mengkonsumsi lebih banyakenergi daripada melakukan
komputasi komplek
 Aggregation mengurangi atau mengorbankan informasi tentang
besaran pengukuran untuk dapat mentransmisikan semua bita data dari
semua sumber ke sink. Apakah mungkin mengurangi jumlah bit yang
ditransmisika, namun masih mendapatkan informasi penuh tentang
semua sensor ?
 Permasalahan ini terkait dengan masalah di coding dan kompresi yang
saat ini dikenal dalam jaringan biasa di mana sebagian besar usaha
diinvestasikan dalam proses encode. Pada kasus WSN, proses encode
ini menyebabkan komputasi terlalu komplek untuk sensor node.
 Bagaimana informasi yang dihasilkan oleh multiple sensor
dimanfaatkan untuk membantu dalam coding ? Beberapa informasi
joint antar dua sensor diperlukan. Pembacaan sensor-sensor yang
berdekatan biasanya akan sama sehingga keduanya bisa saling
berkorelasi. Korelasi ini dapat digunakan tidak hanya menyederhanakan
jumlah data yang ditrasnmisikan, namun juga menyimpan overheadnya
di sensor node.
 Ketika komputasi komplek dari beberapa jumlah data harus
dilakukan di WSN, masih ada efisiensi energi untuk melakukan
komputasi ini jika jumlah return data yang ditransmisikan dapat
dikurangi.
 Contoh untuk konsep ini adalah komputasi terdistribusi Fast
Fourier Transform (FFT). Bergantung kepada dimana lokasi
data diinput, ada beberapa algoritma yang tersdia untuk
menghitung FFT secara terdistribusi di mana di dalamnya ada
trade-off antara kompleksitas komputasi secara lokal dan
keperluan komunikasi. Namun, yang perlu dipertimbangkan
adalah pada pemilihan algoritma yang mempertimbangkan :
 Latency komunikasi
 Konsumsi energi untuk berkomunikasi
 Proses komputasi
 Ide dari mobile code/agent-based networking
adalah kode program yang cukup kecil yang bisa
dikirim dari satu node ke node lain. Kode ini
selanjutnya dieksekusi secara lokal, lalu diputuskan
ke mana kode ini dikirim selanjutnya.

 Sebagai contoh, software agent yang dikirim untuk


mengumpulkan kemungkinan terbaik dari rute
perjalanan dari satu tempat ke tempat lainnya.
 Salah satu contoh pendekatan biologi yang menginspirasi
algoritma untuk aplikasi di atas adalah genetic algorithm,
swarm intelligence.
 Pada jaringan komunikasi biasa, fokus hubungan komunikasi
terletak pada pasangan komunikasi antar peer, pengirim dan
penerima data.

 Pada WSN, fokus utama bukan pada identitas sensor node,


tetapi pada informasi aktual yang dilaporkan terkait dengan
lingkungan fisik

 Jadi fokus perhatian bukan pada identitas node, tetapi pada


data dinamakan data-centric networking.

 Pada Aplikasi Data-centric, semua yang aplikasi harus lakukan


adalah me-state dirinya untuk diberi informasi tentang event.
Node-node di dalam network yang mendeteksi event tertentu
secara implisit diberitahu tentang request ini.

 Pada identity-centric network, node yang me-request mencari


semua node yang menyediakan kapabilitas dan
memanggilnya secara eksplisit. Sebagai contoh ,
pertimbangkan lokasi node sebagai properti yang
mendefinsikan apakah node berada dalam grup tertentu atau
bukan. Pada contoh ini, ada keinginan untuk berkomunikasi
dengan semua node di area yang ditentukan untuk
memperoleh rata-rata suhu yang diukur oleh semua node di
area tertentu
 There are some evident similarities between well-known
peer-to-peer applications like file sharing and WSN:
 In both cases, the user/requester is interested only in looking up
and obtaining data, not in its source; the request for data and its
availability can be decoupled in time; both types of networks
should scale to large numbers.

 In peer-to-peer networking, the solution for an efficient


lookup of retrieval of data from an unknown source is usually
to form an overlay network, implementing a Distributed Hash
Table. The desired data can be identified via a given key (a
hash) and the DHT will provide one (or possibly several)
sources for the data associated with this key.
 The required separation in both time and identity of a sink node asking for
information and the act of providing this information is not well matched
with the synchronous characteristics of a request/reply protocol.
 This behavior is realized by the publish/subscribe approach :
 Any node interested in a given kind of data can subscribe to it, and any node can
publish data, along with information about its kind as well.
 Upon a publication, all subscribers to this kind of data are notified of the new data.
The elephant example is then easily expressed by sink nodes subscribing to the
event “elephant detected”;
 any node that is detecting an elephant can then, at any later time, publish this
event.
 If a subscriber is no longer interested, it can simply unsubscribe from any kind of
event and will no longer be notified of such events.
 Evidently, subscription and publication can happen at different points in time and
the identities of subscribers and publishers do not have to be known to each other.

 Publish/subscribe networking is a very popular approach for WSN. In fact,


some of the most popular protocols are incarnations of this principle and are
discussed in detail in separated presentation “Data-centric and content-
based networking “
 A somewhat different view on WSN is to consider them as
(dynamic) databases. This view matches very well with the
idea of using a data-centric organization of the networking.
protocols. Being interested in certain aspects of the physical
environment that is surveyed by a WSN is equivalent to
formulating queries for a database.
 To cast the sensor networks into the framework of relational
databases, it is useful to regard the sensors as a virtual table
to which relational operators can be applied. Then, extracting
the average temperature reading from all sensors in a given
room can be simply written :
 Exploit Location Information
 Exploit Heterogenity
 Component-based Protocol Stack and Cross
Layer Optimization
 Adaptive Fidelity and Accuracy
There is the design choice between treating the application as just another component
or designing a service interface that makes all components, in their entirety, accessible
in a standardized fashion.

A service interface would allow to raise the level of abstraction with which an
application can interact with the WSN . Such a service interface can hide considerable
complexity and is actually conceivable as a “middleware” in its own right.
 Support for Simple request/response
 Support for asynchronous event notification
 Addresses should be definable in several way
 For both types of interactions, the addressees should be definable in several
ways.
 The simplest option is an explicit enumeration of the single or multiple
communication peers to whom a (synchronous or asynchronous) request is made

 In-networking processing functionality has to be accessible.


 For an operation that accesses an entire group of nodes, especially when reading
values from this group (either synchronously or asynchronously), it should be
possible to specify what kind of in-network processing should be applied to it.
 In addition, it can be desirable for an application to be able to infuse its own in-
network processing functions into the network. For example, a new aggregation
function could be defined or a specific mobile agent has to be written by the
application programmer anyway.
 The specification of the required accuracy of a result.
 This can take on the form of specifying bounds on the number of group members that
should contribute to a result, or the level of compression that should be applied ->
acceptable energy expenditure
 Timeliness requirements about the delivery of data is a similar aspect.
 possible to provide a result quickly but at higher energy costs (e.g. by forcing nodes to
wake up earlier than they would wake up anyway) or
 slowly but at reduced energy costs (e.g. By piggy-backing information on other data
packets that have to be exchanged anyway).

 The need to access location, timing, or network status information (e.g. energy reserves
available in the nodes or the current rate of energy scavenging) via the service interface.
 The need for an explicit description of the set of available capabilities of the node/the
network – for example, which physical parameters can be observed or which entities can be
controlled
 Security Requirement
 While not a direct part of an actual service interface, additional management functionality,
for example, for updating components, can be convenient to be present in the interface as
well
 For practical deployment, a sensor network only concerned with itself
is insufficient. The network rather has to be able to interact with other
information devices, for example, a user equipped with a PDA moving
in the coverage area of the network or with a remote user, trying to
interact with the sensor network via the Internet .
 For example, a sensor node wants to deliver an alarm message to some Internet host. The first
problem to solve is akin to ad hoc networks, namely, :
 how to find the gateway from within the network. ? – Integrating routing and service discovery
 If several such gateways are available, how to choose between them? How to handle several gateways, each
capable of IP networking, and the communication among them? - One option is to build an IP overlay network on
top of the sensor
 how does a sensor node know to which Internet host to address such a message? Or even worse, how to map a
semantic notion (“Alert Alice”) to a concrete IP address? Even if the sensor node does not need to be able to
process the IP protocol, it has to include sufficient information (IP address and port number, for example) in
its own packets; the gateway then has to extract this information and translate it into IP packets. An ensuing
question is which source address to use here .

 The gateway in a sense has to perform tasks similar to that of a Network Address Translation (NAT)
 How Internet-based entity trying to access services of a WSN ?
 The more general case is, however, a terminal “far away” requesting
the service, not immediately able to communicate with any sensor
node and thus requiring the assistance of a gateway node.
 How to find out that there actually is a sensor network in the desired
location ? and
 how to find out about the existence of a gateway node?
 Once the requesting terminal has obtained this
information, how to access the actual services?
 The requesting terminal can instead send a properly formatted request to this gateway,
which acts as an application-level gateway or a proxy for the individual/set of sensor nodes
that can answer this request;
 The gateway translates this request into the proper intrasensor network protocol
interactions. This assumes:
 that there is an application-level protocol that a remote requester and gateway can use;
 that is more suitable for communication over the Internet than the actual sensor network protocols; and
 that is more convenient for the remote terminal to use.

 The gateway can then mask, for example, a data-centric data exchange within the network
behind an identity-centric exchange used in the Internet.
 There are some clear parallels for such an application-level protocol with so-called Web
Service Protocols, which can explicitly describe services and the way they can be accessed.
 The Web Service Description Language (WSDL) [166], in particular, can be a promising
starting point for extension with the required attributes for WSN service access – for
example, required accuracy, energy trade-offs, or data-centric service descriptions.
Moreover, the question arises as to :
 how to integrate WSN with general middleware architectures [699] or how to make WSN services
accessible
 From a standard Web browser (which should be an almost automatic by-product of using WSDL and
related standards in the gateway). However, research here is still in its early infancy [384, 508, 656].

WSDL
 The gateways can also act as simple extensions of one
WSN to another WSN. The idea is to build a larger,
“virtual” WSN out of separate parts, transparently
“tunneling” all protocol messages between these two
networks and simply using the Internet as a transport
network.
Seminar Presentation

Stefano Galzarano , Francesco Aielo, Alesio Carbone, Giancarlo Fortino. Java-


Based Mobile Agent Platform for Wireless Network Sensor. the International
Multiconference on Computer Science and Information Technology pp. 165–
172. 2010
 Agent adalah sistem komputer yang
mempunyai kemampuan untuk melakukan
aksi otonom untuk mencapai obyektif yang
diinginkan penggunanya.

 Sistem Multiagent adalah sistem yang terdiri


dari agent-agent yang berinteraski satu sama
lain untuk melakukan kerja sama, koordinasi,
dan negosiasi.
 close-coupled, yaitu interaksi yang terus menerus dengan
lingkungannya
Sense-decide-act-sense-decide
 Tiga perilaku intelligent agent :
 Reactive, yaitu sistem memelihara interaksi yang sedang berjalan
dengan lingkungannya dan memberikan respon terhadap perubahan
yang terjadi.

 Pro-Active (goal directed behaviour.) yang berarti menghasilkan dan


berusaha untuk mencapai goal, tidak hanya didorong oleh event, namun
punya inisiatif dan mengenali opportunity

 Social , yaitu kemampuan untuk berinteraksi dengan agent-agent lainnya


(dan juga mungkin manusia) melalui beberapa jenis komunikasi agent
dan juga bekerja sama dengan agent-agent lainnya.
 Obyek :
 enkapsulasi beberapa state
 komunikasi melalui pengiriman pesan
 memiliki method terkait dengan operasi yang dapat dilakukan
pada state-nya

 Agent
 otonom : memasukkan notasi otonom yang lebih kuat dari obyek.
Agent memutuskan sendiri apakah perlu atau tidak melakukan
aksi yang diminta agent lainnya
 agent harus cerdas : punya kapabilitas fleksibel (reactive- pro
active- social)
 agent adalah aktif : bukan provider layanan yang pasif.
 entitas yang perilakunya dapat diprediksi dengan mengatributkan
belief, desires, dan kecerdasan rasional
 Mobile Agent (MA) adalah entitas piranti
lunak yang me-enkapsulasi perilaku dinamis
dan punya kemampuan untuk bermigrasi dari
satu node komputasi ke node lainnya untuk
menyelesaikan tugas-tugas terdistribusi.

 MA dapat mendukung pemrograman WSN


pada tingkat aplikasi, middleware, dan
network.
 Mengapa menggunakan MA untuk sistem terdistribusi :
 Mengurangi beban jaringan
 Mengurangi Network Latency
 Enkapsulasi Protokol
 Eksekusi asinkron dan otonom
 Adaptasi yang Dinamis
 Orientation to Heterogenity
 Kehandalan dan Toleransi Kesalahan

 MA didukung oleh Mobile Agent System (MAS) yang menyediakan :


 API untuk mengembangkan aplikasi berbasis agent
 Agent server yang mengeksekusi agent-agent dengan menyediakan
layanan dasar seperti migrasi, komunikasi, dan pengaksesan sumber daya
node.

 Contoh MA : Agilla, ActorNet, MAPS, dan AFME


 Agilla adalah middleware berbasis agent yang dikembangkan di
atas TinyOS dan mendukung multipe agent pada setiap nodenya.
 Agilla menyediakan dua sumber daya fundamental pada setiap
nodenya :
 Tuplespace merepresentasikan ruang memory yang di-share di mana
data terstruktur (tuple) disimpan dan diambil, memungkinkan agent
bertukar informasi secara decouple. Tuplespace dapat diakses secara
remote.
 Neighbour List mendaftarkan alamat-alamat node tetangga dalam satu
hop. Neighbour List diperlukan jika ebuah agent harus bermigrasi

 Agent-agent dapat bermigrasi membawa kode dan state-nya,


namun tidak membawa tuple-nya yang disimpan di tuplespace.
 Paket-paket yang digunakan untuk komunikasi node sangat kecil
untuk meminimalisir message loss daripada menggunakan teknik
transmisi ulang.
 ActorNet adalah platform berbasis agent yang
secara spesifik dirancang untuk node sensor
berbasis Mica2/TinyOS.
 Untuk menangani kesulitan pada migrasi kode dan
interoperabilitas yang disebabkan oleh coupling
yang ketat antara aplikasi dengan arsitektur-
arsitektur node sensor, ActorNet menerbitkan
service seperti virtual memory, context switching,
dan multitasking.
 Fitur ini efektif mendukung pemrograman agent dengan
menyediakan lingkungan komputasi yang seragam untuk
semua agent, tanpa memperhatikan perbedaan piranti
lunak dan piranti keras.
 MAPS merupakan framework inovasi berbasis Java yang
dikembangkan di atas teknologi Sun Spot untuk
memfasilitasi pemrograman berorientasi agent di aplikasi
WSN.
 MAPS dirancang berdasarkan kebutuhan :
 Component-based lightweight agent server architecture untuk
mencegah model kerja sama dan concurency yang berat
 Lightweight agent architecture untuk mengeksekusi dan
memigrasi agent secara efisien
 Core service yang minimal seperti migrasi agent, penamaan agent,
komunikasi agent, pengaksesan sumber daya sensor dan node
(sensor, actuator, flash memory, dan radio)
 Plug-in based architecture extension
 Bahasa Java untuk mendefinisikan perilaku mobile agent.
 Mobile Agent (MA) merupakan komponen tingkat tinggi yang didefinisikan pengguna
untuk menjalankan aplikasi berbasis agent;

 Mobile Agent Execution Engine (MAEE) mengelola eksekusi MA. MAEE


mengimplementasikan event-based scheduler yang memungkinkan concurrency ringan;

 Mobile Agent Migration Manager (MAMM) merupakan komponen yang mengelola


migrasi agent;

 Mobile Agent Communication Channel (MACC) mengelola komunikasi antar agent


berbasis pesan asinkron yang didukung protokol radiogram;

 Mobile Agent Naming (MAN) merupakan komponen yang mengelola penamaan agent
berbasis proxy. MAN juga mengelola daftar dinamis dari node sensor tetangganya.

 Timer Service (TS) mengelola layanan timer untuk mendukung operasi MA.

 Resource Manager (RM) mengatur akses ke sumber daya Sun SPOT node seperti sensor (
accelerometer, temperature, cahaya), switch, battery, led, dan flash memory.
 Perilaku dinamis MA dimodelkan dengan multi-plane state machine (MPSM).
Setiap plane dapat merepresentasikan perilaku MA pada peran yang spesifik
sehingga memungkinkan pemrograman berbasis peran (role-based
programming)

 Plane disusun oleh variabel-variabel lokal, fungsi-fungsi lokal, dan automaton


yang transisinya diberi label dengan aturan Event-Condition-Action (ECA), atau
ditulis E[C]/A
 Dimana E adalah nama event, [C] adalah ekspresi boolean berbasis pada lokal dan global
variable, dan A adalah aksi atomik.

 Pemrograman agent berbasis MPSM menerapkan tiga pradigma untuk


pemrograman WSN :
 Pemrograman event-driven
 Pemrograman berbasis state
 Pemrograman berbasis mobile agent
 AFME merupakan platform agent yang merujuk
pada J2ME MIDP ringan open source dan
menerapkan Agent Factory Framework yang ada.

 AFME ditujukan untuk sistem wireless pervasive


sehingga secara spesifik AFME tidak dirancang
untuk WSN. Namun, karena dukungan J2ME
kepada platform sensor Sun Spot, AFME dapat
diadopsi untuk pengembangan aplikasi WSN
berbasis agent.
 AFME berbasis pada pradigma Believe-Desire-Intention di
mana di dalamnya agent-agent mengikuti siklus sense-
deliberate-act
 Komponen-komponen sistem yang dapat digunakan
pengembang dalam membangun aplikasi :
 Perceptor dan Actuator memungkinkan agent untuk melakukan
pengindraan dan melakukan aksi terhadap lingkungannya
 Module merepresentasikan ruang informasi yang di-share antara
actuator dengan perceptor pada agent yang sama dan digunakan
ketika perceptor merasakan dampak resultan dari actuator yang
mempengaruhi internal state instance agent.
 Service merupakan ruang informasi yang di-share antara agent-
agent dan digunakan untuk pertukaran data antar agent.
 Agent secara periodik dieksekusi menggunakan scheduler dan 4
fungsi dilakukan.
 Ketika perceptor diaktifkan, operasi pengindraan menghasilkan
belief yang selanjutnya ditambahkan ke belief setnya agent.
 Belief adalah representasi simbolik informasi terkait dengan state
agent atau kondisi lingkungan

 Agent Desire diidentifikasi menggunakan reasoning berbasis


resolusi
 Mekanisme queri berbasis goal umumnya diterapkan dalam intrepeter
prolog.

 Agent Commitment (Subset Desire) diidentifikasi


 Bergantung pada commitment yang diadopsi, beberapa actuator
diaktifkan.
 Agent didefinisikan melalui mixed declarative/imperative
programming model bernama Agent Factory Agent
Programming Language (AFAPL), berbasis formalisme
logik belief dan commitment
 AFAPL digunakan untuk me-encode perilaku agent
dengan menentukan aturan-aturan yang mendefinisikan
kondisi-kondisi dimana commitment diadopsi. Rule
deklaratif diekspresikan dalam bentuk :
b1, b2, ..., bn > doX
 di mana b1.. bn merepresentasikan belief dan doX adalah
aksi.

 Kode Java digunakan untuk me-encode perceptor dan


actuator.
 Waktu komunikasi agent dihitung untuk dua agnet yang
berjalan di node berbeda. Keduanya berkomunikasi
seperti client/server. Skema request/reply digunakan :
 Data Back and Forward (B&F). Request dan reply terdiri dari
data dengan besar yang sama
 Data B. Hanya reply saja yang memiliki data.

 Waktu Migrasi agent dihitung untuk skenario ping pong


antara dua sensor node (single hop). Data yang dikirim
dibuat variatif
 Waktu migrasi cukup besar disebabkan oleh lambatnya
operasi SquawkVM untuk proses migrasi.
MAPS v.s AFME
MAPS AND AFME
One of the most poplar technologies in the WSN area is Sun SPOT (Small
Programmable Object Technology). It contains 32-bit ARM9 CPU, 512K memory, 2 Mb
flash storage and wireless networking is based on ChipCon CC2420 following the
802.15.4 standard with integrated antenna and operates in the 2.4GHz to 2.4835GHz
ISM unlicensed bands. The IC contains a 2.4GHz RF transmitter/receiver with digital
direct sequence spread spectrum (DSSS) baseband modem with MAC support.
Sumber : Magyar Kutatók 10. Nemzetközi Szimpóziuma
10th International Symposium of Hungarian Researchers on Computational
Intelligence and Informatics
 Dua node sensor dengan tiga agent yang
berinteraksi :
 DataCollectorAgent mengumpulkan data
terkait dengan sensor node Sun Spot (accelerometer,
temperatur, dan cahaya)

 DataMessangerAgent membawa data


pengindraan yang dikumpulkan ke basestation

 DataViewerAgent menampilkan koleksi data yang


diterima.
 Perceptor.
 AccPerc, LightPerc, dan TempPerc digunakan untuk
memperoleh data dari sensor SunSPOT.

 VerifyNumDataSamplePerc diperlukan untuk menentukan


apakah semua data sensor telah terkumpul untuk dilakukan
komputasi.

 VerifyFeaturesComputedPerc mengecek apakah semua


fitur (min, max, mean) telah dikomputasi.

 TimerPerc mengecek apakah waktu sudah kadaluarsa

 SwitchPressedPerc mengenali user menekan tombol switch.


 Actuator.
 TimerActivatorAct dan ResetTimerAct digunakan untuk
mengaktifasi/mereset timer di node sensor.

 ResetAccValueAct, RegisterLightValueAct, dan


RegisterTempValueAct digunakan untuk menyimpan data yang di-sense ke dalam
ShareDataModule untuk di-share dengan perceptor.

 Aktuator DeactAccSensorAct, DeactLightSensorAct, dan


DeactTempSensorAct akan diaktifkan setelah sensor membaca dan digunakan
untuk mencegah perceptor sensor untuk membaca data sensor berkali-kali sebelum
waktu kadaluarsa timer.

 Aktuator ActivateSensorAct digunakan untuk meakukan re-enable sensor


membaca setelah waktu kadaluarsa.

 Aktuator ComputeFeatureAct digunakan untuk melakukan komputasi fitur data


sensor yang terkumpul

 Aktuator ResetValuesAct digunakan untuk melakukan re-inisialisasi semua struktur


data setelah menyelesaikan komputasi fitur.
 Module.
 SharedDataModule adalah ruang shared memory
yang menyimpan sampel-sampel data yang di-sense
dari node sensor (accelerometer, temperatur, dan
cahaya) dan data lainya yang di-share antara perceptor
dengan acktuator

 Service
 RadiogramMTS merepresentasikan layanan transport
untuk transmisi data ke remote node atau base station
 Rule.
 TerImplication terdiri dari deskripsi Java auto-
generate untuk rule-rule perilaku agent yang
didefinisikan ke dalam script file.

 Rule 1
 Memungkinkan timer untuk pnerimaan pesan dari
DataViewerAgent dan membuat goFalse belief
message(inform, sender(dataViewer, addresses(“radiogram:’/”
+ DataViewerAgentNodeAddr)), ?content), !goFlase >
par(timerActivationAct, adobBelief(always(goFalse)));
 Rule 2
 Me-state bahwa jika setelah kadaluarsa timer, operasi
pembacaan sensor diaktifasi dan juga timer di re-aktivasi

timerExpired > par(timerActivatorAct, activateSensorAct);

 Rule 3, 4, 5
 Digunakan untuk menyimpan data sensor dan pada saat yang
sama me-disable perseptor pengindraan.
3. temperatur(?value) > par(deactTempSensorAct,
registerTempValueAct(?value));

4. light(?value) > par(deactLightSensorAct,


registerLightValueAct(?value));

5. Acc(?accX, ?accY, ?accZ) > par(deactLightSensorAct,


registerLightValueAct(?accX, ?accY, ?accZ));
 Rule 6
 Cek jika sample sejumlah numData telah diperoleh untuk
setiap tipe sensor dan pada kasus ini komputasi fitur dimulai.

numDataSampled > computeFeatures

 Rule 7
 Memverifikasi bahwa fitur telah dikomputasi dengan benar.
Jika hal ini terjadi, DataMessengerAgent dinotifikasi
dengan sebuah pesan.
featuresComputed(?computedFeatures) > par(resetValuesAct,
inform(agentID(messenger, addresses(“radiogram://” +
DataMessengerAgentNodeAddr)), value(?computedFeature)));
 Rule 8
 Me-state bahwa jika user menekan switch, pesan dengan fitur
yang terkomputasi terakhir yang akan dikirim ke
DataViewerAgent.

switch_pressed(?computedFeatures) > inform(agentID(dataViewer,


addresses(“radiogram://” + DataViewerAgentNodeAddr)),
values(?computedFeatures));

 Rule 9
 Cek penerimaan pesan dari DataViewerAgent dan karena
goFalse, maka operasi penginderaan dihentikan. (timer di
reset dan pembacaan sensor disable)
Message(inform, sender(dataViewer, addresses(“radiogram://” +
DataViewerAgentNodeAddr)), ?content), goFalse > resetTimerAct,
deactAccSensorAct, deactLightSensorAct, deactTempSensorAct
 A special case asigning task utilities to
histories is to assign 0 (false) or 1 (true) to a
run

 If a run is assigned 1, then the agent succeeds


on that run, otherwisw it falls.

 Call these predicate task spesification

ψ: R {0,1}
 Anachievement task is spesified by set G of
“Good” or “Goal” states : G С E
 The agent succeed if it is guaranteed to bring about at
least one of these state (we don’t care which one – they
are considered equally good)

 A maintenance goal is specified by set of B of Bad


State : : B С E
 The agent successd in particular environment if it
manages to avoid all state in B – If it never performs
actions which result in any state in B occuring.
Presentation 3

Min Chen, Sergio Gonzalez, and Victor C. M. Leung


University of British Columbia
IEEE Wireless Communication, December 2007
 Paradigma client-server merupakan metode tradisional disiminasi data di
WSN
 kemunculan event me-trigger node-node sumber di sekitarnya untuk
mengumpulkan dan mengirim data ke sink sendiri-sendiri.
 Jumlah aliran data umumnya sama dengan jumlah node-node sumber
sehingga menyebabkan konsumsi bandwidht dan energi yang cukup
tinggi.
 Pendekatan ini menyebabkan ketidakseimbangan konsumsi energi di
jaringan karena node-node yang lebih dekat dengan sink akan me-forward
lebih banyak data (data dirinya maupun data yang dititipkan dari node lain)
 Pada pendekatan berbasis Mobile Agent :
 sink node mengirimkan mobile agent ke area target untuk
mengunjungi node satu per satu.;
 data-data sensor dikurangi dan dikumpulkan oleh agent; dan
 selanjutnya sesuai dengan instruksi mobile agent, data-data
tersebut dikirim kembali ke sink
 pendekatan ini menghasilkan satu aliran lalu lintas data daripada
multiple aliran lalu lintas data
 Modul Cyclops Image Capturing and Interference
dapat dihubungkan, melalui sebuah interface,
dengan perangkat WSN seperti Crossbow’s
MICA2 dan MICAZ untuk aplikasi penginderaan
image.
 Jumlah data yang dihasilkan oleh image sensor
sangat besar. Mengirimkan gambar secara
keseluruhan tidak hanya mengkonsumsi lebih banyak
bandwidth dan energi, namun juga tidak efektif jika
sink hanya mengevaluasi area interest tertentu saja di
dalam gambar
 Mobile Agent yang akan
membawa kode-kode
segmentasi image
diberangkatkan menuju area
target untuk mengunbjungi
image sensor satu per satu, lalu
mengumpulkan data-data
image dari ROI-nya.

 Volume besar dari data image


pada setiap sensor dikurangi ke
dalam volume yang lebih kecil.

 Ketika keadaan lingkungan


disekitar sensor berubah, mobile
agent baru yang membawa
algoritma segmentasi berbeda
diberangkatkan kembali untuk
melakukan image processing
 Mother Agent yang berada di Node A, memberangkatkan
agent-agent anak ke Node B dan Node C.
 Ketika target bergerak dari Node B, sinyal yang diterima di
Node B akan berkurang. Ketika level sinyal jatuh di bawah nilai
threshold, agent anak B akan ditarik dan agent anak baru akan
diberangkatkan ke D
 Ketika target sudah melewati Node C, Mother Node akan jejak
target sehingga Mother node melakukan migrasi ke Node C.
Semua agent lama akan ditarik dan agent-agent anak baru akan
diberangkatkan oleh Mother Agent baru ke Node D dan E.
 Setelah target terdeteksi, mobile agent diberangkatkan untuk melakukan tracking
jalur yang dilewati target. Ketika agent bermigrasi ke sensor node, agent
mengumpulkan data untuk meningkatkan keakuratan pengenalan obyek.

 Setelah nilai kekuratan melebihi threshold tertentu dan memenuhi kebutuhan


pengenalan obyek, mobile agent menghentikan proses tracking dan mobile obyek
mengembalikan hasil yang terkumpul ke sink node.
 Architecture in Hierarchical Sensor Network
 Peran atau kapabilitas setiap node tidak sama.
 Sensor disegmentasi dalam bentuk cluster sehingga
metode diseminasi data terdiri dari :
▪ Intra-cluster : Setiap cluster head memberangkatkan mobile
agent yang akan mengunjungi semua anggota cluster satu
per satu untuk menghimpun dan melakukan aggregasi data.
Setelah mobile agent kembali ke cluster head-nya, mobile
agent ini akan mengirimkan data yang sudah diaggregasi ke
sink node.

▪ Inter-cluster : Metode ini tidak melibatkan operasi mobile


agent di dalam cluster , melainkan mobile agent bermigrasi
diantara cluster head dan processing center.
 Architecture in Flat Sensor
Network
▪ Mobile Agent-Based
Distributed Sensor Network
(MADSN) merupakan
paradigma berbasis agent
pertama yang bisa diadopsi
baik hierichical dan Flat WSN.
▪ Sink memberangkatkan beberapa
mobile agent untuk secara
langsung mengumpulkan data di
area target. Node-node sumber
diasumsikan dekat dengan sink.
▪ Metode ini menyebabkan
overhead yang besar ketika
mengirimkan kode-kode mobile
dari sink setiap saat.
 Architecture in Flat Sensor Network
▪ Pada Mobile Agent-Based WSN (MAWSN),
dimungkinkan dilakukan pengurangan
redudancy informasi di level :
▪ Node. Data mentah, yang dihasilkan
oleh masing-masing node sensor,
dikurangi oleh agent child. Lalu, hanya
informasi relevan yang dikirim ke sink.

▪ Agent anak. Ketika node-node saling


berdekatan, maka pengukuran node-
node tersebut akan menampilkan
tingkat korelasi yang tinggi. Jadi, perlu
dilakukan aggregasi data untuk
mengurangi redudancy data sensor
dari satu event tunggal ketika agent
anak mengunjungi node-node sumber
yang mendeteksi event tersebut.

▪ Mother Agent. Setelah agent-agent


anak kembali ke mother agent, mother
agent selanjutnya mengurangi
redudancy yang terjadi di data yang
terkumpul oleh berbagai agent anak.
 Pada Convensional WSN data mentah yang di-sense oleh
sensor-sensor ditransmisikan langsung ke sink.

Sumber : Multiple mobile agents’ itinerary planning in wireless sensor networks: survey and evaluation
X. Wang, M. Chen, T. Kwon,H.C. Chao
Published in IET Communications Received on 14th July 2010 doi: 10.1049/iet-com.2010.0638
In Special Issue on Distributed Intelligence and Data Fusion for Sensor Systems
 Sink mengirimkan satu MA
untuk berkeliling ke semua
sensor secara berurutan
untuk mengumpulkan
informasi yang di-sense oleh
sensor.
 Isu-isu terkait dengan Single
MA :
 Delay scalability.
 Potential Route inefficiency
 Trafik Load Balancing

Sumber : Multiple mobile agents’ itinerary planning in wireless sensor networks: survey and evaluation
X. Wang, M. Chen, T. Kwon,H.C. Chao
Published in IET Communications Received on 14th July 2010 doi: 10.1049/iet-com.2010.0638
In Special Issue on Distributed Intelligence and Data Fusion for Sensor Systems
 Untuk mendisain WSN berbasis MA dengan
efisiensi tinggi, terdapat 4 katageori isu :
 Arsitektur.
 Itinerary Planning.
 Middleware Design
 Hardware Design
 Tujuan sistem MA multiple adalah
membagi beban data fusion task ke
beberapa MA.
 Kinerja pendekatan ini lebih baik
daripada Sistem MA tunggal jika
node-node dikelompokkan dengan
baik dan rute MA didisain dengan
baik
 Namun, Sistem MA multiple
menghasilkan lebih banyak trafik
daripada Sistem MA single.
 Ada trade-aff antarta performance
dengan efisiensi

Sumber : Multiple mobile agents’ itinerary planning in wireless sensor networks: survey and evaluation
X. Wang, M. Chen, T. Kwon,H.C. Chao
Published in IET Communications Received on 14th July 2010 doi: 10.1049/iet-com.2010.0638
In Special Issue on Distributed Intelligence and Data Fusion for Sensor Systems
 Itinerari adalah rute yang dilalui selama migrasi mobile
agent.
 Itinerari planning mencakup dua isu yang harus
diselesaikan oleh sink dan mobil agent secara otonom
 Pemilihan set node-node sumber yang akan dikunjungi oleh
mobile agent.
 Penentuan urutan kunjungan ke sumber-sumber dengan
mempertimbangkan efisiensi energi

 Kategori Itenerary Planning :


 Static Planning
 Dynamic Planning
 Hybrid Planning
 Pada static planning, Agent itinerari ditentukan sepenuhnya oleh sink node
sebelum agent diberangkatkan.
 Pada static planning, Dispatcher menggunakan informasi network global
terkini dan mendapatkan jalur agent efisien sebelum mobile agent dikirim.
 Dua pendekatan static planning :
 Local closest first (LCF)
 Global closest first (GCF)

 Asumsikan bahwa LCF dan GCF berjalan pada sensor node yang sama yang
dekat denan dispatcher. LCF mencari node berikutnya dengan jarak
terpendek dengan node yang saat ini berjalan, sedangkan GCF mencari
nnode berikutnya yang dekat dengan dispatcher.
 Algoritma genetik dapat digunakan untuk mobile agent itinerary planning
dimana setiap node tidak dikunjungi berulang-ulang dalam satu putaran.
Meskipun optimasi global akan diperoleh, namun penggunaan algoritma ini
bukan solusi yang ringan untuk sensor node yang memiliki energi terbatas.
 Dynamic planning memungkinkan mobile agent untuk
menentukan node berikutnya untuk dikunjungi pada setiap titik
pemberhentian di jalur migrasinya.
 Rute agent dinamis harus memperhatikan trade-off antara cost
migrasi dan keakuratan migrasi.
 Pendekatan Dynamic planning mencari sensor node yang :
 Memiliki sisa energi yang terbesar
 Memerlukan konsumsi energi untuk migrasi agent
 Menyediakan informasi yang lengkap

 Mobile Agent seharusnya mencoba bermigrasi ke sensor node


yang meningkatkan keakuratan secara progresif sehingga
jumlah node yang harus dikunjungi mobile agent dikurangi.
 Pada Hybrid Planning, pemilihan set kunjungan node
sumber adalah statik, sedangkan keputusan urutan
kunjungan node sumber adalah dinamis.

 Kosep Mobile Agent-Based Directed Diffusion


(MADD) :
 Jika sumber di area target mendeteksi event yang
diharapkan, sumber-sumber tersebut mengirim paket-
paket eksploratoty ke sink. Berdasarkan paket-paket ini
sink secara statistik memilih sumber-sumber yang akan
dikunjungi oleh mobile agent, lalu mobile agent secara
otonom memutuskan urutan kunjungan ke sumber.
 Centre location-based multiple MA itinerary planning (CL-MIP)
Chen, M., Gonzlez, S., Zhang, Y., Leung, V.C.: ‘Multi-agent itinerary planning for sensor networks’. Proc. IEEE 2009 Int.
Conf. Heterogeneous Networking for Quality, Reliability, Security and Robustness (QShine 2009), Las Palmas de Gran
Canaria, Spain, 2009

 Direction-based Multiple MA Itinerary Planning


(Agle Gap-Based MIP, AG-MIP)
Chen, M., Gonzalez, S., Leung, V.: ‘Directional source grouping for multi-agent itinerary planning in wireless sensor
networks’. Proc. Int. Conf. ICT Convergence (ICTC), Jeju Isaland, Korea, 2010

 Tree-based Multiple MA Itinerary Planning (Balanced Minimum


Spanning Tree, BST)
Chen, M., Cai, W., Gonzalez, S., Leung, V.C.: ‘Balanced itinerary planning for multiple mobile agents in
wireless sensor networks’. Proc. Second Int. Conf. Ad Hoc Networks (ADHOCNETS2010), Victoria, BC,
Canada, 2010

 Genetic Algorithm-based Multiple MA Itinerary Planning


Cai, W., Chen, M., Hara, T., Shu, L.: ‘GA-MIP: genetic algorithm based multiple mobile agents itinerary
planning in wireless sensor network’. Proc. Fifth Int. Wireless Internet Conf. (WICON), Singapore, 2010
Usulan Alternatif Teknik Metaheuristic :
• Ant Colony
• Simulated Aneling
• Cross Entropy
• Differential Evolution
Min Chen, Sergio Gonzalez, and Victor C. M. Leung
University of British Columbia
IEEE Wireless Communication, December 2007
[1] M. Chen et al., “Mobile Agent-Based Directed Diffusion in Wireless Sensor
Networks,” EURASIP J. Advances in Sig. Processing, vol. 2007.
[2] Y. Tseng et al., “Location Tracking in a Wireless Sensor Network by Mobile Agents
and Its Data Fusion Strategies,” Comp. J., vol. 47, no. 4, July 2004, pp. 448–60.
[3] Y. Xu and H. Qi, “Mobile Agent Migration Modeling and Design for Target Tracking
in Wireless Sensor Networks,” Ad Hoc Networks, vol. 6, no. 1, Jan. 2007, pp. 1–16.
[4] Y. Xu and H. Qi, “Distributed Computing Paradigms for Collaborative Signal and
Information Processing in Sensor Networks,” Int’l. J. Parallel and Distrib. Comp., vol.
64, no. 8, Aug. 2004, pp. 945–59.
[5] H. Qi, Y. Xu, and X. Wang, “Mobile-Agent-Based Collaborative Signal and
Information Processing in Sensor Networks,” Proc. IEEE, vol. 91, no. 8, Aug. 2003,
pp. 1172–83.
[6] M. Chen et al., “Mobile Agent Based Wireless Sensor Networks,” J. Comp., vol. 1, no.
1, Apr. 2006, pp. 14–21.
[7] Q. Wu et al., “On Computing Mobile Agent Routes for Data Fusion in Distributed
Sensor Networks,” IEEETrans. Knowledge and Data Eng. , vol. 16, no. 6, June 2004,
pp. 740–53.
Presentation 4

Michael Wooldridge
 Hal utama yang dimiliki oleh Agent adalah OTONOM :
kapabilitas melakukan aksi yang independent.

 Agent adalah sistem komputer yang memiliki


kapabilitas melakukan aksi yang otonom di
lingkungan tertentu untuk mencapai tujuan yang
didelegasikan kepadanya.

 Agent melakukan close-couple atau interaksi kontinu


di dalam lingkungannya :

sense–decide–act–sense–decide
 Thermostat
 Tujuan yang didelegasikan kepadanya adalah menjaga
kestabilan suhu di ruangan.
 Aksinya-aksinya adalah HEAT on/off

 U N I X biff program
 Tujuan yang didelegasikan kepadanya adalah memonitor
email yang masuk dan menandainya dengan sutau flag.
 Aksinya-aksinya adalah GUI action .

 Contoh di atas adalah contoh aplikasi trivial karena


pengambilan keputusannya pun sifatnya trivial
 Agent adalah sistem komputer yang
mempunyai kemampuan untuk melakukan
aksi otonom untuk mencapai obyektif yang
diinginkan penggunanya.

 Sistem Multiagent adalah sistem yang terdiri


dari agent-agent yang berinteraski satu sama
lain untuk melakukan kerja sama, koordinasi,
dan negosiasi.
 Tiga perilaku intelligent agent :
 Reactive, yaitu sistem memelihara interaksi yang
sedang berjalan dengan lingkungannya dan
memberikan respon terhadap perubahan yang terjadi.

 Pro-Active (goal directed behaviour) yang berarti


menghasilkan dan berusaha untuk mencapai goal, tidak
hanya didorong oleh event, namun punya inisiatif dan
mengenali opportunity

 Social , yaitu kemampuan untuk berinteraksi dengan


agent-agent lainnya (dan juga mungkin manusia)
melalui beberapa jenis komunikasi agent dan juga
bekerja sama dengan agent-agent lainnya.
 Jika lingkungan program dijamin FIX, maka program
dapat mengeksekusi secara buta
 Lingkungan sifatnya tidak tetap, melainkan dinamis.
 Software sangat sulit membangun untuk domain dinamis :
Program harus dapat menangani kemungkinan failure,
lalu kemampuan untuk menentukan keputusan apakah
aksi yang akan dieksekusi cukup berarti (worthed).
 Sistem reaktif adalah sistem yang menjaga
keberlangsungan interaksinya dengan lingkungannya dan
merespon perubahan yang terjadi di lingkungan
sekitarnya.
 Beraksi terhadap lingkungannya sangatlah
mudah (contoh ada stimulus -> response rules).
 Namun, kita umumnya menginginkan agent
melakukan suatu hal untuk kita. Sehingga perlu
adanya goal directed behaviour .
 Pro-activeness = menghasilkan dan mencoba
mencapai goal, bukan dikendalikan oleh event,
dan mengambil inisiatif.
 Mengenali opportunity
 Dunia sebenernya adalah lingkungan multi agent :
Kita tidak dapat meraih goal tanpa melibatkan agent
lain yang bekerja sama satu sama lainnya.

 Beberapa goal dapat dicapai dengan cara interaksi


dengan agent lainnya.

 Kemampuan social pada agent adalah kemampuan


untuk berinteraksi dengan agent lain (dapat juga
manusia) melalui kerja sama, koordinasi, dan
negosiasi. Istilah umumnya adalah kemampuan untuk
berkomunikasi.
 Kerja sama adalah bekerja secara bersama-
sama untuk meraih goal bersama.

 Biasanya didorong oleh pernyataan bahwa


“tidak ada satu agent yang bisa mencapai
goalnya sendirian” atau “Kerja sama akan
menghasilkan hasil yang lebih baik (misalnya,
proses berjalan cepat)”
 Koordinasi adalah mengelola ketergantungan
antar aktifitas

 Contoh, jika kita ingin menggunakan


resource yang tidak di-share, maka perlu
dilakukan koordinasi
 Negosiasi adalah kemampuan untuk mencapai
persetujuan terkait dengan kepentingan umum
 Contoh dalam satu rumah, Anda menginginkan
menonton film sedangkan keluarga Anda yang
lain menginginkan nonton sepak bola
 Contoh kemungkinan deal-dealan : Anda nonton film
besok, sedangkan malam ini nonton sepak bola.

 Umumnya, melibatkan offer dan counter-offer,


dengan kompromi-kompromi yang dibuat oleh
partisipan-partisipan.
 Mobility
 Veracity
 Benevolence
 Rationality
 Learning/Adaption
 Apakah Agent adalah sebatas Objek dengan nama berbeda ?
 Obyek :
 enkapsulasi beberapa state
 komunikasi melalui pengiriman pesan
 memiliki method terkait dengan operasi yang dapat dilakukan pada state-nya

 Agent
 otonom : memasukkan notasi otonom yang lebih kuat dari obyek. Agent
memutuskan sendiri apakah perlu atau tidak melakukan aksi yang diminta agent
lainnya
 agent harus cerdas : punya kapabilitas fleksibel (reactive- pro active- social)
 agent adalah aktif : bukan provider layanan yang pasif.
 entitas yang perilakunya dapat diprediksi dengan mengatributkan belief, desires,
dan kecerdasan rasional

 Objects do it for free


 Agents do it because the you want to;
 Agents do it for money .
 Apakah Agent sistem pakar dengan nama yang
berbeda ?
 Sistem pakar umumnya disebut “expertise about
some (abstract) domain of discourse”.
 Contoh : M Y C I N mengetahui penyakit-penyakit
darah manusia
 Memiliki pengetahuan tentang penyakit-penyakit darah,
dalam bentuk RULE
 Dokter akan memperoleh saran ahli tentang penyakit
darah dengan memberikan MYCIN fakta-fakta, menjawab
pertanyaan, mengajukan query-query.
 Agent ditempatkan di suatu lingkungan :
 MYCIN tidak peduli dengan lingkungan. Hanya
informasi yang diperoleh dengan menanyakan
pertanyaan kepada penggunanya.

 Agent melakukan aksi


 MYCIN tidak melakukan aksi kepada pasien.

 Beberapa sistem-sistem pakar real-time


adalah agent-agent.
 Bukankah Agent adalah sebatas proyek AI ? Bukankan membangun sebuah agent terkait
semua dengan AI ?

 AI ditujukan untuk membangun sistem yang dapat memahami bahasa natural, mengenali,
dan memahami suasana, menggunakan pengindraan umum, berfikir kreatif, dsb.

 Jadi, tidakkah kita perlu menyelesaikan masalah AI untuk membangun sebuah Agent ?

 Ketika membangun sebuah agent, secara sederhananya kita menginginkan sebuah sistem
yang dapat memilih aksi yang tepat untuk dilakukannya, biasanya dalam domain terbatas.

 Kita tidak perlu menyelesaikan semua permasalahan AI untuk membangun sebuah agent
yang bermanfaat
a little intelligence goes along way!

 Oren Etzioni, berbicara tentang pengalaman komersil dari N E T B O T ,Inc :

W e made our agents dumber and dumber and dumber...until finally they made money .
 Accessible dan inaccesible
 Lingkungan yang accessible adalah lingkungan di mana
di dalamnya sebuah agent dapat memperoleh
informasi tentang state lingkungan secara lengkap,
akurat, dan up-to-date,

 Sebagian besar lingkungan komplek (Misalnya


lingkungan fisik sehari0hari atau internet) adalah
lingkungan yang inaccessibe

 Semakin accessible lingkungan, semakin mudah


membangun agent yang akan beroperasi di dalamnya.
 Deterministic dan Non-Deterministic
 Lingkungan deterministic adalah lingkungan di
mana di dalamnya beberapa aksi memiliki satu
akibat – Tidak ada ketidakpastian tentang state
yang akan dihasilkan dari melakukan sebuah aksi.

 Lingkungan nyata yang ada di dunia ini adalah


lingkungan yang non-deterministic. Lingkungan ini
yang memberikan masalah besar bagi disainer
agent.
 Episodic dan Non-Episodic
 Pada lingkungan episodic, sebuah kinerja agent
bergantung pada beberapa peristiwa-peristiwa diskrit,
tanpa mata rantai antar kinerja agent di skenario berbeda

 Lingkungan episodic lebih mudah dari sudut pandang


pengembang agent karena agent dapat memutuskan aksi
apa yang harus dilakukan hanya berbasis pada episode
yang saat ini sedang berjalan – Tidak perlu interaksi antara
episode saat ini dengan episode yang akan datang.
 Static dan Dynamic
 Lingkungan Static adalah lingkungan yang kondisinya tidak
berubah, kecuali jika ada aksi dari agent.

 Lingkungan Dynamic adalah lingkungan yang memiliki proses


lain yang berjalan di dalamnya sehingga kondisinya berubah.
Penyebab perubahan kondisi ini diluar aksi yang dilakukan
agent.

 Lingkungan nyata adalah lingkungan yang dinamis.

 Descret dan Continue


 Lingkungan dinamakan diskrit jika lingkungan tersebut di
dalamnya terdapat jumlah action dan percept yang terbatas dan
fix.
 Ketika menjelaskan aktifitas manusia, terkadang kita
menggunakan pernyataan berikut :
 Kemarin Jannie mengambil payung karena dia tahu (believed)
bahwa hari itu hujan dan ia ingin (wanted) tetap kering

 Pernyataan di atas adalah bentuk dari folk phsycology,


yaitu perilaku manusia diprediksi dan dijelaskan dengan
mengatributkan sikap (attitude) seperti keyakinan
(believe), keinginan (wanting), harapan (hoping), ketakutan
(fearing).....
 Daniel Dennett menyebutkan istilah intentional system
untuk mendeskripsikan entitas-entitas yang perilakunya
dapat diprediksi oleh metode pengatributan belief, desire,
dan rational acumen.
 Sejalan dengan sistem komputer yang semakin komplek, diperlukan
abstraksi dan metafora yang lebih powerful untuk menjelaskan operasi
sistem komputer – Penjelasan low level menjadi tidak praktis. Intentional
stance adalah salah satu bentuk abstraksi itu.
 Intentional notion adalah bentuk tool abstraksi tersebut yang
memberikan kenyamanan dan cara yang familiar untuk
mendeskripsikan, menjelaskan, dan memprediksi perlikau sistem
komplek.
 Pengembangan terpenting dalam komputasi adalah berbasis pada
abtraksi baru :
 Abtraksi prosedural
 Tipe data abstrak
 Obyek-obyek

Agent, dan agent sebagai intentional system, merepresentasikan abstraksi


powerful lebih lanjut
 Asumsikan environment mungkin berada dalam set E diskrit (instantaneous
state) :

 Agent diasumsikan memiliki daftar action yang mungkin dilakukannya yang


akan mengubah state lingkungannya

 Run, r, sebuah agent di suatu lingkungan merupakan urutan perubahan


environment state dan action
 Run :

 Environment :
 Fungsi transformer state merepresentasikan perilaku lingkungan :

 Catatan bahwa lingkungan :


▪ History dependent
▪ Non-deterministic

 Jika , maka tidak ada state successor untuk r sehingga dikatakan bahwa run telah berakhir
(Game over)

 Environment selanjutnya menjadi dimana E adalah set environment state, eo є E


adalah initial state, dan τ adalah fungsi transformer state
 Agent adalah fungsi yang memetakan run ke
action

 Jadi, sebuah agent membuat keputusan tentang


aksi apa yang perlu dilakukan berdasarkan
histori sistem

 Misalkan adalah set dari semua agent


 Sistem adalah pasangan yang terdiri dari sebuah agent dan
lingkungannya

 Beberapa sistem akan memiliki keterkaitan dengan kemungkinan set run.


▪ Ditulis ulang set run dari sebuah agent Ag di lingkungan Env dengan

 Asumsikan berisi hanya run yang telah berakhir.

 Urutan merepresentasikan run sebuah agent di


lingkungan jika :
 e0 adalah initial state dari Env
 α0 = Ag(e0 ); dan
 Untuk u > 0
 Beberapa agent memutuskan apa yang harus
dilakukanya tanpa referensi ke historinya –
pengambilan keputusan oleh agent tersebut
berbasiskan kondisi terkini tanpa merujuk pada semua
referensi di masa lalu.

 Agent tersebut dinamakan purely reactive :

 Termostat adalah contoh agent reaktif :


 Fungsi see adalah kemampuan
agent untuk melakukan observasi
lingkungannya.
 Fungsi action merepresentasikan
proses agent mengambil keputusan
 Ouput fungsi see adalah percept

yang memetakan state lingkungan ke


percept, dan fungsi action menjadi :

yang memetakan urutan perceipt ke


action
 Agent yang memelihara state
 Agent ini memiliki struktur ata internal, di mana biasanya
digunakanuntuk merekam informasi tentang state
lingkunganna dan historinya.
 Angap I adalah set semua state internal sebuah agent.
 Fungsi tambahan next diperkenalkan, dimana
memetakan state internal dan percept ke state internal :

 Fungsi action sekarang didefinisikan sebagai :

di mana memetakan antara state internal ke aksi


 Fungsi next diperkenalkan sebagai :

Yang memetakan state inbternal dan percept ke state


internal
 Agent mulai berjalan pada state internal awal
i0.

 Lakukan pengulangan selamanya :


 Agent melakukan observasi state lingkungannya,
lalu membangkitkan percept melalui see(..)
 Update state internal melalui fungsi next(..)
 Pilih aksi melalui action(..)
 Lakukan aksi
 Agent dibangun untuk mengerjakan tugas yang didelegasikan kepadanya.
 Tugas harus dispesifikasi oleh kita, namun kita menginginkan agent melakukan tugas
itu tanpa kita beri tahu caranya.
 Satu kemungkinan yang bisa dilakukan : mengkaitkan utilitas dengan masing-masing
state – tugas agent adalah membawa state yang memaksimalkan utilitas.
 Spesifikasi tugas adalah fungsi :

Yang mengkaitkan bilangan real dengan setiap state lingkungan.


 Lalu apa manfaat dari run ?
▪ Utilityas state minimum pada run ?
▪ Utilitas state maksimum pada run ?
▪ Total utilitas state pada run ?
▪ Rata-rata ?
 Kelemahan : sulit menspesifikasi long term view ketika menempatkan utilitas ke setiap individu state

 Kemungkinan yang lain : menempatkan sebuah utilitas bukan ke setiap individu state,
melainkan ke run itu sendiri.
 Dari mana asalnya bilangan real tersebut ?
 Orang-orang tidak memahami istilah utilitas – Sulit
bagi orang untuk menggunakan istilah ini. Namun
demikian istilah ini bekerja baik di skenario lain
sebagai contoh TileWorld :
 Disimulasikan lingkungan grid dua dimensi di mana
terdapat agent, tile, obstacle, dan lubang.
 Agent dapat bergerak dalam 4 arah, ke atas, ke bawah, ke
kiri, dan ke kanan. Jika agen diletakkan ke sebuah tile,
maka agent dapat menekan tile
 Lubang harus diisi tile oleh agent dimana agent bertugas
untuk mengisi sebanyak mungkin lubang yang ia mampu.
 Fungsi Utilitas didefinisikan sebagai berikut :

 Jadi :
 Jika agent mengisi semua lubang, utility = 1
 Jika agent tidak mengisi satu pun lubang, utility = 0

 Tulis yang menandakan probabilitas di mana run r terjadi


ketika agent Ag diletakkan di lingkungan Env

 Utilitas yang diharapkan (Expected Utility) agent Ag di lingkungan Env


adalah :
 Optimal Agent Ag di dalam sebuah
lingkungan adalah agent yang
memaksimalkan expected utility :

 Dalam kenyataannya, optimal agent belum


tentu yang terbaik. Perlu dirata-ratakan
untuk menentukan apakah agent itu disebut
terbaik.
 Beberapa Agent tidak dapat
diimplementasikan di beberapa komputer

 Tulis untuk menandai bahwa agent


dapat diimplementasikan di mesin
(komputer) m :

 Bounded optimal agent, Agbopt selanjutnya


menjadi :
 Kasus spesial me-assign utilitas ke histori adalah
dengan me-assign 0 (false) dan 1 (true) ke sebuah
run.

 Jika run di-assign 1, maka agent dinyatakan sukses


pada run tersebut. Begitu sebaliknya.

 Inilah yang disebut sebagai Predicate Task


Spesification yang ditulis dengan simbol ψ :
 Lingkungan Tugas adalah pasangan (Env, ψ) dan menandakan set
semua lingkungan tugas.

 Lingkungan tugas menentukan :


 Properti sistem di mana agent mendiami.
 Kriteria dimana agent akan dinilai apakah sukses atau gagal.

 Catat bahwa set semua run dari sebuah agent Ag di dalam


lingkungan Env yang memiliki predikat sukses ψ

 Sehingga dapat dikatakan bahwa agent Ag dikatakan sukses di


lingkungan (Env, ψ) jika :
 Misalkan adalah probabilitas
dimana run r terjadi jika agent Ag diletakkan
di lingkungan Env

 Sehingga probabilitas di mana ψ


dipenuhi oleh Ag di Env adalah :
 Dua tipe umum dari sebuah tugas adalah achievement task dan
maintenance task
 Achievement task adalah task berbentuk “achieve state of affairs Φ”
 Maintenance task adalah task berbentuk berbentuk “maintain state of
affairs ψ”

 Achievement task dispesifikasi oleh set G dari state “Good” atau


“Goal” : G E
 Agent dikatakan sukses jika agen bisa mencapai setidaknya satu state
“Good”

 Maintenance task dispesifikasi oleh set B dari state “Bad” : B E


 Agent dikatakan sukses di suatu lingkungan jika agent mampu
menghindari semua state di B – Tidak pernah melakukan aksi yang
menyebabkan state B
 Agent Synthesis adalah pemrograman
otomatis :
 Goal : sebuah program yang akan berjalan di
suatu lingkungan tugas, dan dari lingkungan
tugas ini secara otomatis menghasilkan agent
yang sukses di lingkungannya :

 Pikirkan seperti null di Java


 Algoritma synthesis :
 Sound, kapan pun algoritma ini mengembalikan sebuah
agent, jika agent ini sukses di lingkungan tugas yang
dikirim sebagai inputnya.

 Complete jika dijamin mengembalikan sebuah agent


kapan pun agent itu ada yang sukses di lingkungan tugas
yang diberikan sebagai input.
Presentasi ke-5
 Arsitektur Agent adalah disain piranti lunak
untuk agent.

 Review dokomposisi top level sbb :


Perception – state – decision – action

 Arsitektur agent mendefinisikan :


 Struktur-struktur data kunci
 Operasi-operasi pada struktur data
 Control flow antar operasi-operasi
 Metodologi untuk membangun agent. Arsitektur
menspesifikasi cara agent didekomposisi ke dalam
konstruksi set modul-modul komponen dan cara
modul-modul ini seharusnya dibuat untuk
berinteraksi. Total set modul-modul dan interaksi-
interaksinya harus menyediakan sebuah jawaban dari
pertanyaan tentang bagaimana sebuah data sensor
dan internal state saat ini dari sebuah agent
menentukan aksi-aksinya dan menentukan internal
state agent di waktu yang akan datang. Sebuah
arsitektur mencakup teknikteknik dan algoritma-
algoritma yang mendukung metodoogi ini.
 Koleksi modul-modul piranti lunak (atau
piranti keras) spesifik, biasanya didisain dalam
bentuk kotak-kotak dengan tanda panah yang
mengindikasikan data dan control flow antar
modul-modul. Deskripsi abstrak dari arsitektur
adalah metodologi umum untuk mendisain
dekomposisi-dekomposisi modular untuk
suatu task tertentu
 1956 – sekarang : Symbolic Reasoning Agent
 Agent menggunakan logical reasoning eksplisit
untuk menentukan apa yang harus dilakukannya

 1985 – sekarang : Reactive Agent

 1990 – sekrang : Hybrid Agent


 Arsitektur agent yang mengkombinasikan
arsitektur symbolic reasoning agent dan arsitektur
reaktif
 Pendekatan klasik untuk membangun agent
adalah dengan memandang mereka sebagai
tipe sistem berbasis pengetahuan

 Pradigma ini dikenal sebagai Symbolic AI

 Didefinisikan deliberative agent atau


arsitektur agent :
 Mencakup model simbolik dunia nyata
 Membuat keputusan melalui symbolic reason
 Transduction Problem
 Masalah penerjemahan dunia nyata ke dalam deskripsi
simbolik yang cukup dan akurat pada saat deskripsi ini
digunakan
..... Vision, speech undertanding, learning

 Representation/reasoning problem
 Bagaimana secara simbolik merepresentasikan informasi
tentang entitas-entitas dan proses-proses dunia nyata yang
komplek, dan bagaimana membuat agent untuk menalar
(reason) dengan informasi ini dalam menentukan
keputusannya.
.... Knowledge representation, automated reasoning, automatic planning
 Sebagian besar peneliti menganggap bahwa
tidak ada masalah di semua area yang
diselesaikan secara sempurna.
 Masalah kompleksitas algoritma manipulasi
simbol :
 Beberapa atau bahkan hampir semua algoritma
manipulasi simbol tidak menyelesaikan masalah

 Atas dasar ini, beberapa peneliti menggunakan


pendekatan alternatif untk membangun agent.
 Menggunakan logika untuk mengenkode teori yang
mendefinisikan aksi terbaik yang dilakukan pada
situasi yang diberikan.

 Diberikan :
 ρ adalah teori tersebut (biasanya set aturan)
 Δ adalah database logik yang mendeskripsikan state saat ini
dari lingkungan
 Ac adalah aksi-aksi yang dapat dilakukan agent
 Δ Φ berarti bahwa Ф dibuktikan dari Δ menggunakan ρ
 Goal adalah Robot membersihkan semua kotoran
 Gunakan 3 predikat domain berikut :
 In(x,y) berarti agent berada pada (x,y)
 Dirt(x,y) berarti ada kotoran pada (x,y)
 Facing(d) berarti agent sedang menghadap ke arah d

 Aksi yang mungkin :


Ac = {turn, forward, suck}
 Rule ρ untuk menentukan apa yang dilakukan :

 Problem :
 Bagaimana mengkonversi input kamera ke Dirt(0,1) ?
 Pengambilan keputusan mengasumsikan lingkungan statik : rasionalitas kalkulatif
 Pengambilan keputusan melalui Theorem proving adalah komplek (mungkin bisa tdak
berkeputusan/undecidable)

 Pendekatan untuk mengatasi masalah ini :


 Memperlemah logika
 Gunakan simbolik, reprresentasi non-logika
 Ubah titik berat penalaran dari run time ke design time.
 Yoav Shoham mengenalkan pemrograman
berorientasi agent pada tahun 1990
“new programming paradigm, based on a
societal view of computation”.

 Ide kunci :
 Memprogram agent dalam istilah intentional
notion seperti belief, commitment , dan intention
 Setiap agent pada AGENT0 memiliki 4 komponen :
 Set capability (Hal yang bisa dilakukan agent)
 Set belief awal
 Set commitment awal (hal yang akan agent lakukan)
 Set commitment rule

 Commitment Rule
 Komponen kunci yang menentukan bagaimana agent
beraksi
 Commitment rule terdiri dari :
▪ message condition
▪ mental condition
▪ Sebuah aksi
 Setiap siklus keputusan........
 Kondisi message dicocokkan dengan message yangtelah diterima agent;
 Kondisi mental dicocokkan dengan belief-nya agent
 Jika aturan dieksekusi, agent menjadi commit pada action (action
ditambahkan kepada set komitmen agent)

 Action dapat berupa :


 Private, yaitu komputasi tereksekusi secara internal.
 Communicative, yaitu pengiriman message

 Message dibatasi dengan salah satu dari tiga tipe berikut :


 “request” to commit to actions
 “unrequest” to refrain from actions
 “informs” which pass on information
Jika saya menerima pesan dari Agent
yang meminta (REQUEST) saya
melakukan action pada waktu time, dan
saya yakin (believe) bahwa :

• agent tersebut saat ini adalah teman


(Friend)
• saya dapat melakukan action
• pada waktu time, saya tidak
berkomitmen (committed) melakukan
action yang lain,

Maka saya komitmen untuk melakukan


action pada saat time.
 Implementasi Agent disempurnakan oleh Thomas
pada tesis doctornya di tahun 1993

 Bahasa Planning Communication Agent (PLACA)


dikembangkannya untuk memperbaiki kelemahan
AGENT0 : yaitu ketidakmampuan agent untuk
merencanakan, dan mengkomunikasikan request
sebuah action

 Agent di PLACA diprogram sama sebagaimana


pada AGENT0 , khususnya dalam hal aturan-aturan
perubahan mental
 Concurrent METATEM adalah bahasa multiagent di
mana di dalamnya sebuah agent diprogram dengan
cara memberikannya spesifikasi logik temporal dari
perilaku yang seharusnya ditunjukkannya

 Spesifikasi-spesifikasi ini dieksekusi secara langsung


supaya menghasilkan perilaku agent

 Logika temporal adalah logika klasik yang dihasilkan


dari modal operator untuk mendeskripsikan cara
kebenaran dalil berubah terhadap waktu
 Sebagai contoh :

berarti sekarang dan akan selalu benar bahwa agent-agent adalah


penting

berarti suatu waktu di masa depan ConcurrentMetaTem akan


penting

berarti kita bukan teman sampai kamu meminta maaf

berarti besok (di state berikutnya), kamu meminta maaf


 Program Metatem adalah kumpulan dari aturan :

 Eksekusi berjalan oleh proses aturan-aturan


pencocokan yang kontinu terhadap history, dan
menjalankan aturan-aturan tersebut yang history
sebelumnya memuaskan
 Konsekuensi-konsekuensi di masa depan yang
diinstantiasi akan menjadi commitment yang
harus dipenuhi berikutnya.
 Contoh Program Metatem : The Resource Controller

 Aturan pertama memastikan bahwa sebuah ‘ask’ pada akhirnya diikuti dengan ‘give’
 Aturan kedua memastikan bahwa hanya saty ‘give’ yang dilakukan pada satu waktu

 Sistem Concurrent Metatem terdiri dari sejumlah agent (obyek), setiap obyek memiliki 3 atribut :
 Nama
 Interface
 Program Metatem

 Agent interface memiliki dua set :


 Pesan yang akan agent terima (accept)
 Pesan yang akan agent kirim (send)

 Contoh interface obyek Stack

 {pop,push} = pesan diterima


 {pop, stackfull] = pesan dikirim
 Utilities and Preferences
 Multiagent Encounters
 Dominant Strategies and Nash Equilibria
 Competitive and Zero-Sum Interactions
 The Prisoner’s Dilemma
 Other Symmetric 2 x 2 Interactions
 Dependence Relations in MAS
 Misalkan terdapat dua agent (bernama agent i dan agent j). Setiap agent memiliki
preference-nya masing-masing dan desire tentang apa yang seharusnya terjadi di
lingkungannya.
 Asumsikan set Ω = {ω1, ω2, ...} adalah hasil (outcome) atau state yang dipreferensi oleh
kedua agent tersebut.
 Preference agent diperoleh dengan menggunakan fungsi utilitas yang menentukan
seberapa baik outcome untuk agent tersebut.
ui = Ω → R
dan
uj = Ω → R
 Utility function lead to preference ordering over outcomes. Jika ω dan ω’ adalah dua
kemungkinan outcome di Ω, dan ui(ω) ≥ ui(ω’), maka outcome ω dipreferensi oleh
agent i setidaknya sama dengan ω’.
ω ≥i ω’
singkatan dari
ui(ω) ≥ ui(ω’)
 Hal yang sama, jika ui(ω) > ui(ω’), maka outcome ω harus diprefer
oleh agent i di atas ω’
ω >i ω’
singkatan dari
ui(ω) > ui(ω’)
 Dengan kata lain, ω >i ω’ jika dan hanya jika ui(ω) ≥ ui(ω’) dan bukan
ui(ω) = ui(ω’)
 Kita dapat peroleh hubungan ≥i adalah ordering, di atas ω, yang
memiliki properti sebagai berikut :
 Reflexivity : untuk semua ω є Ω, kita memiliki ω ≥ ω.
 Transivity : jika ω ≥i ω’ dan ω’ ≥i ω’’, maka ω ≥i ω’’
 Comparability : untuk semua ω є Ω dan ω’ є Ω, kita memiliki ω ≥i ω’ atau ω’ ≥i ω
Fungsi utilitas adalah cara
merepresentasikan preferensi agent

Analoginya :
Jika A memiliki $500 juta
Jika B memiliki $0
Jika C memiliki $1 juta untuk didonasikan

Apa yang terjadi pada utilitas A, jika A


diberi uang oleh C $1 juta. Tentunya A akan
memiliki tambahan uang yang tidak terlalu
signifikan. Tidak banyak yang bisa
dilakukan dengan $501 juta yang tidak bisa
dilakukan dengan $500 juta.

Apa yanbg terjadi pada utilitas B, jika B diberi uang oleh C $1 juta. Maka penambahan
utilitas B akan signifikan . B akan berubah dari tidak memiliki uang sama sekali menjadi
milionair.
Presentasi ke-6

Chapter 8 – 9
An Introduction to MultiAgent Systems
Michael Wooldridge
 We now consider agent communication languages (ACLs) — standard
formats for the exchange of messages .
 The best known ACL is KQML, developed by the ARPA knowledge
sharing initiative. KQML is comprised of two parts:
 The knowledge query and manipulation language (KQML); and
 The knowledge interchange format(KIF).

 KQML is an ‘outer’ language, that defines various acceptable


‘communicative verbs’, or performatives. Example performatives:
 ask-if (‘is it true that...’)
 perform (‘please perform the following action...’)
 tell (‘it is true that...’)
 reply (‘the answer is...’)

 KIF is a language for expressing message content .


 More recently ,the Foundation for Intelligent Physical Agents
(FIPA) started work on a program of agent standards—the centre
piece is an Agent Comunication Laguage (ACL).
 Basic structure is :
 performative;
20 performative in FIPA.
 House keeping ;
▪ e .g.,sender etc.
 content
▪ The actual content of the message
▪ Contoh :
 “Inform”and“Request”are the two basic
performatives in FIPA. Others are macro
definitions, defined in terms of these .

 The meaning of inform and request is defined


in two parts :
 pre-condition – what must be true in order for the
speech act to succeed.
 “rational effect” – what the sender of the message
hopes to bring about.
 The content is a statement .
 Pre-condition is that sender :
 holds that the content is true;
 intends that the recipient believe the content;
 does not already believe that the recipient is a
ware of whether content is true or not.
 The content is an action .
 Pre-condition is that sender :
 intends action content to be performed;
 believes recipient is capable of performing this
action;
 does not believe that sender already intends to
perform action.
 Why and how to agents work together?
 Since agents are autonomous,they have to make decisions
at run-time, and be capable of dynamic coordination
 Over all they will need to be able to share:
 Tasks
 Information

 If agents are designed by different individuals, they may


not have common goals.
 Important to make a distinction between:
 benevolent agents and
 self-interested agents
 If we “own” the whole system, we can design
agents to help each other when ever asked.
 In this case, we can assume agents are
benevolent :
 Our best interest is their best interest.
 Problem-solving in benevolent systems is cooperative
distributed problem solving (CDPS).

 Benevolence simplifies the system design task


enormously!
 If agents represent the interests of individuals or
organizations, (the more general case), then we
can not make the benevolence assumption:
 agents will be assumed to act to further there own
interests, possibly at expense of others.
 potential for conflict .

 May complicate the design task enormously.


 Strategic behavior may be required
 Game theory
 Criteria for assessing an agent-based system.
 Coherence
 How well the [multiagent] system behaves as a unit along
some dimension of evaluation (Bond and Gasser).
 We can measure coherence in terms of solution quality, how
effiently resources are used, conceptual clarity and so on.

 Coordination
 The degree to which [the agents] can avoid “extraneous”
activity [such as] synchronizing and aligning their activities
(Bond and Gasser).
 If the system is perfectly coordinated, agents will not get in
each others ’ way, in a physical or a metaphorical sense .
 How does a group of agents work together to
solve problems?

 There are three stages:


 Problem decomposition
 Sub-problem solution
 Answer synthesis
 The over all problem to be solved is
divided into smaller sub-problems.
 This is typically a recursive/hierarchical
process.
 Sub problems get divided up also.
 In ACTORS, this is done until we are at the
level of individual program instructions.

 Clearly there is some processing to do


the division. How this is done is one
design choice.
 Another choice is who does the division.
 Is it centralized ?
 Which agents have knowledge of task
structure ?
 Who is going to solve the sub-problems?
 Sub Problem Solution :
 The sub-problems derived in
the previous stage are solved.
 Agents typically share some
information during this
process .
 A given step may involve two
agents synchronizing their
actions .

 Solution Synthesis
 In this stage solutions to sub-
problems are integrated
 again this may be
hierarchical
▪ Different solutions at different
levels of abstraction.
 Given this model of
cooperative problem
solving, we have two
activities that are likely to
be present:
 Task sharing :
▪ Components of a task are
distributed to component
agents;
▪ How do we decide how to
allocate tasks to agents ?
 Result sharing :
▪ Information (partial results,
etc) is distributed.
▪ How do we assemble a
complete solution from the
parts ?
 Well known task-sharing protocol for task
allocation is the contract net .

 The contract net includes five stages:


 Recognition;
 Announcement;
 Bidding;
 Awarding;
 Expediting.
 In this stage, an agent recognises it has a
problem it wants help with.

 Agent has a goal, and either. . .


 realises it cannot achieve the goal in isolation - does
not have capability;
 realises it would prefer not to achieve the goal in
isolation (typically because of solution quality,
deadline, etc)

 As a result, it needs to involve other agents.


 In this stage, the agent with the task sends out
an announcement of the task which includes a
specification of the task to be achieved.
 Specification must encode:
 description of task itself (maybe executable);
 any constraints (e.g., deadlines, quality
constraints).
 meta-task information (e.g., “bids must be
submitted by. . . ”)

 The announcement is then broadcast.


 Agents that receive the announcement decide for
themselves whether they wish to bid for the task.

 Factors:
 agent must decide whether it is capable of expediting
task;
 agent must determine quality constraints & price
information (if relevant).

 If they do choose to bid, then they submit a tender.


 Agent that sent task announcement must choose
between bids & decide who to “award the
contract” to.
 The result of this process is communicated to
agents that submitted a bid.
 The successful contractor then expedites the task.
 May involve generating further manager -
contractor relationships: sub-contracting.
 May involve another contract net.
 The FIPA ACL was designed to be able to capture
the contract net.
 cfp ( call for proposals ):
▪ Usedf or announcing a task;
 propose, refuse :
▪ Used for making a proposal, or declining to make a proposal.
 accept, reject :
▪ Used to indicate acceptance or rejection of a proposal.
 inform, failure :
▪ Used to indicate completion of a task (with the result) or
failure to do so .
 How to...
 ... specify tasks ?
 ... specify qualityofser vice ?
 ... decide how to bid ?
 ... select between competing offers?
 ... differentiate between offers based on multiple
criteria?
 In results sharing, agents provide each other with
information as they work towards a solution.

 It is generally accepted that results sharing improves


problem solving by:
 Independent pieces of a solution can be cross-checked.
 Combining local view scan achieve a better over all view .
 Shared results can improve the accuracy of results.
 Sharing results allows the use of parallel resources on a
problem.
 The first scheme for cooperative problem solving was the
blackboard system.
 Results shared via shared data structure (BB).
 Multiple agents (KSs/KAs) can read and write to BB .
 Agents write partial solutions to BB.
 BB may be structured into hierarchy .
 Mutual exclusion over BB required → bottleneck.
 Not concurrent activity .
 Compare: LINDA tuple spaces, JAVA SPACES .
 Common design pattern in OO systems:
subscribe/notify.
 An object subscribes to another object, saying “tell
me when event e happens”.
 When event e happens, original object is notified.
 Information pro-actively shared between objects .
 Objects required to know about the interests of other
objects → inform objects when relevant information
arises
 A group of agents may have inconsistencies in their :
 Beliefs
 Goals or intentions

 Inconsistent beliefs arise because agents have different views of the world.
 May be due to sensor faults or noise or just because they can’t see everything.

 Inconsistent goals may arise because agents are built by different people with different
objectives.

 Three w ays to handle inconsistency (Durf eeatal.) :


 Do not allow it
▪ For example, in the contract net the only view that matters is that of the manager
agent.
 Resolve inconsistency
▪ Agents discuss the inconsistent information/goals until the inconsistency goes a way.
 Build systems that degrade gracefully in the face of inconsistency .
 Coordination is managing dependencies between
agents .
 We both want to leave the room through the same
door. We are walking such that we will arrive at the
door at the same time. What do we do to ensure we
can both get through the door ?
 We both arrive at the copy room with a stack of paper
to photocopy. Who gets to use the machine ?
 Von Martial suggested that positive coordination is :
 Requested (explicit)
 Non-requested (implicit)
 Non-requested coordination relationships
can be as follow :
 Action equality: we both plan to do something,
and by recognizing this one of us can be saved the
effort.
 Consequence: What I plan to do will have the side-
effect of achieving something you want to do.
 Favor: What I plan to do will make it easier for you
to do what you want to do.
 Societies are often regulated by (often unwritten)
rules of behavior.
 Example:
A group of people is waiting at the bus stop. The bus
arrives. Who gets on the bus first ?
 Anothere xample:
On 34th Street, which side of the side walk do you
walk along ?
 In an agent system, we can design the norms and
program agents to follow them, or let norms evolve .
 Recall how we described agents bef ore:

a function which, given a run ending in a state, gives us an action.


 A constraint is then apair :

 This constraint says that α can not be done in any state in E’


 A social law is a set of constraints .
 We can refine our view of an environment.
 Focal states, F E are the states we want our
agent to be able to get to .
 From any focal state e є F it should be possible to
get to any other focal state e’ є F (though not
necessarily right away).
 A useful social law is then one that does not
prevent agents from getting from one focal state
to another .
 We can also design systems in which social laws
emerge .

 T-shirt game (Shoham and Tennenholtz):


 Agents have both a red t-shirt and a blue t-shirt and wear
one. Goal is for every one to end up with the same color
on. In each round, each agent meets one other agent, and
decides whether or not to change their shirt. During the
round they only see the shirt their pair is wearing — they
don’t get any other information.

 What strategy update function should they use ?


 Simple majority :
 Agents pick the shirt they have seen the most.

 Simple majority with types :


 Agents come in two types. When they meet an agent
of the same type, agents pass their memories. Other
wise they act as simple majority .

 Highest cumulative reward :


 Agents can “see” how often other agents (some
subset of all the agents) have matched their pair .They
pick the shirt with the largest number of matches .
 Just as we have individual intentions, we can have joint intentions
for a team of agents .
 Levesque defined the idea of a joint persistent goal (JPG)
 A group of agents have a collective commitment to bring about
some goal Φ, “move the couch”.
 Also have motivation µ,“Simon wants the couch moved”
 The mental states of agents mirror those in BDI agents.
 Agents don’t believe that is satsified Φ, but believe it is possible.
 Agents maintain the goal until a termination condition is reached.
 The terminations condition is that it is mutually
believed that :
 goal is satisfied; or
 goal is impossible; or
 the motivation is no longer present.

 You and I have a mutual belief that p if I believe


p and you believe p and I believe that you
believe p and I believe that you believe that I
believe p and....
 The termination condition is achieved when an agent
realises that, the goal is satisfied, impossible and so on.
 But it doesn’t drop the goal right away.
 Instead it adopts a new goal — to make this new
knowledge mutually believed.
 This ensures that the agents are coordinated.
 They don’t stop working towards the goal until they are all
appraised of the situation.
 Mutual belief is achieved by communication.
 Another approach to coordinate is to explicitly plan what all the agents do .
 For example,come up with a large STRIPS plan for all the agents in a system.
 Could have:
 Centralized planning for distributed plans
 One agent comes up with a plan for every body
 Distributed planning. A group of agents come up with a centralized plan for another group of
agents.
 Distributed planning for distributed plans. Agents build up plans for them selves, but take into
account the actions of others .

 Different agents plan to achieve their goals using these operators and then do:
 Interaction analysis :do different plans affect one another?
 Saf ety analysis : which interactions are problematic?
 Interaction resolution : treat the problematic interactions as critcal sections and enforce
mutual e xclusion.

You might also like