an introduction to agents darts 2003 – session 2a – 22nd o ctober 2003

47
An introduction to agents DARTS 2003 – Session 2A – 22nd October 2003 Joris Maervoet and Stijn Bernaer KaHo Sint-Lieven Hogeschool, Ghent

Upload: brian-collins

Post on 30-Dec-2015

35 views

Category:

Documents


1 download

DESCRIPTION

An introduction to agents DARTS 2003 – Session 2A – 22nd O ctober 2003. Joris Maervoet and Stijn Bernaer KaHo Sint-Lieven Hogeschool, Ghent. Talk outline. An introduction to agents Agent definitions Agent applications: Helm’s Deep/NASA Agent applications: overview Agent-oriented design - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

An introduction to agents

DARTS 2003 – Session 2A – 22nd October 2003

Joris Maervoet and Stijn Bernaer

KaHo Sint-Lieven Hogeschool, Ghent

Page 2: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Talk outline

An introduction to agents

1. Agent definitions

2. Agent applications: Helm’s Deep/NASA

3. Agent applications: overview

4. Agent-oriented design

5. Programming agents

6. The AMobe project

Page 3: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

1 – Agent definitions

Page 4: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Agent definition

• Encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives (Jennings)

• Agent interaction is inevitable to achieve individual objectives and to manage inter-dependencies (Jennings)

Page 5: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

PropertiesRe-active On external asynchronous stimuli

Autonomous Controls own actions, operates without direct intervention of others

Pro-active Goal directed, takes initiatives

Continuous and persistent

Is “living”, not “running”

Social Communicates with other agents and humans

Learning Adaptiveness based on experience

Mobile Moves among machines in network

Page 6: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Why Agents?

Load reduction Trusted Agent travels between server and client, carries safe protocol

Delay independence

Agents perform in real time, not over uncertain networks

Protocols Agents encapsulate protocols, for better adaptability and maintainability

Asynchronous Together with autonomy, agents can act on their own, without necessity for continuous interaction

Page 7: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Why Agents?

Adaptive Agents react autonomously on changes in the environment

Heterogeneity

Distributed systems are heterogeneous in nature. Agents are optimal for system integration

Robustness Mobile agents can make a distributed system more robust and fault tolerant by deciding autonomously in case of an error

Page 8: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Agents and objects, what’s the difference?

Agent A Agent B

Object A Object Bmethod

ACL messag

e

Page 9: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

2 - Agent applications: 2 examples

Page 10: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003
Page 11: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

The battle at Helm's Deep

• Gathering 70,000 people, dressing them and choreographing each other is out of question

• Stephen Regelous created Massive (special-effects program)

• Massive is able to generate characters with their own minds (also called agents)

Source: Wired News, Digital actors in Rings can think

Page 12: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

The battle at Helm's Deep

“making realistic crowds is making realistic individuals”

Taken from: Pierre Vinet/ New Line Productions

Page 13: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

The battle at Helm's Deep

• Agent’s brains (look like complex flow charts) define how they see and hear, how fast they run, …

• Agent’s movements are based on these of stunt actors to allow for example realistic ducks to avoid a sword

• Like real people, agents are influenced by their environment

Page 14: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

The battle at Helm's Deep

Taken from: Entertainment Weekly’s EW.com

Page 15: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

The battle at Helm's Deep

• Each agent makes subtle responses to its surroundings with fuzzy logic rather than yes/no decisions

• Placing agents into a simulation, each agent makes decisions from it’s point of view (no crowd control)

• Other examples: generating flocks of birds, duplicating film stars

Page 16: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

http://technology.arc.nasa.gov

Page 17: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

NASA

• Traditionally ground systems deal with spacecraft planning & scheduling, establishment of communications and (in some cases) processing

• So the ground system is responsible for managing the spacecraft and its activities (remote control)

Source: Nasa Ames Research Center, Remote Agent Project Website

Page 18: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Remote Agent

• The first artificial intelligence control system to control a spacecraft without human supervision

• Remote Agent successfully demonstrated the ability to plan onboard activities and correctly diagnose and respond to simulated faults in spacecraft components

Page 19: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Remote Agent

Advantages

• Faster reactions to problem situations (getting instructions from Earth could take a while)

• Less operation costs and less remote control: the Remote agent can take care of itself and does not need a hundred of specialised people on board or on the ground

Page 20: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Remote Agent

Made up of 3 components• Planner and scheduler (PS): produces

flexible plans, specifying the basic activities that must take place in order to accomplish the mission goals

• Smart executive (EXEC): carries out the planned activities

• Mode Identification and Recovery (MIR): monitors the health of the spacecraft and attempts to correct any problems that occur

Page 21: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Remote Agent• These components work together and

communicate to ensure that the spacecraft accomplishes the goals of the mission

Taken from: Nasa Ames Research Center, Remote Agent Project Website

Page 22: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

3 – Agent applications: overview

Source: Agentlink Roadmap

Page 23: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Agent-based systems - overview

• Assistant agents: e.g. TAC, where agents book hotels and make travel arrangements

• Multi-agent decision systems: e.g. components in a network may jointly seek to allocate scarce resources of the network

• Multi-agent simulation systems: used to model some complex real-world domains, e.g. biological populations

Page 24: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

• Manufacturing

• eCommerce e.g.

• Telecommunications

• Supply chain management

• Entertainment and leisure

e.g. “The Creature Games”, SimCity

the film “The Two Towers”

Industrial and Commercial Applications

Page 25: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Simulation applications

Agent-based simulation characterised by

• Agent-based computing

• Social sciences: studies interaction among social entities and include social psychology, management, policy and some areas of biology

• Computer simulation: techniques such as discrete event, object-oriented, equation-based simulation

Page 26: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Simulation applications

Advantages• Forecasting some complex real-world

environments (economy, society, biology)

Examples• Flight Simulators: train pilots to respond

appropriately to unexpected events

• Southwest Airlines increased revenues by $ 10 million dollar by using a agent-based simulation of cargo routing

Page 27: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Application opportunities

• Ambient intelligence: providing an environment of thousands of embedded and mobile devices interacting to support user-centred goals and activity

• Bioinformatics

• Grid computing: geographically separated computers that share applications, data and computational resources

• Electronic business

Page 28: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

4 - Agent-oriented design

Page 29: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

A new software paradigm

• procedures data types objects agents

• Point of view: a further powerful abstraction, a new software paradigm

• Methodologies (e.g. AUML) in development

• Agent patterns

Page 30: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Pitfalls (Jennings)

• Political: you oversell agents, you get dogmatic about agents

• Management: you don’t know why you want to use agents, you want generic solutions to one-off problems

• Conceptual: you believe agent technology is a ‘silver bullet’, you forget that you are developing software, you forget agents are multi-threaded software

Page 31: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Pitfalls (Jennings)

• Analysis and design: you ignore related technology, you don’t exploit concurrency, you start from a tabula rasa

• Agent level: you want your own architecture, you use too much AI / no AI

• Society level: you see agents everywhere, you have too few/many agents, you spend all the time on an infrastructure, your agents interact too freely, your system lacks structure

Page 32: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

5 – Programming agents

Page 33: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

JADE and LEAP

• Java Agent Development framework (JADE) is an agent development environment implemented in J2SE.

• Developing FIPA-compliant (Foundation for Intelligent Physical Agents) agent applications for ‘interoperable intelligent multi-agent systems’.

• Lightweight Extensible Agent Platform (LEAP) replaces JADE’s ‘core functionality’ for devices with low memory/CPU capacities.

• JADE-based agentplatform which is standardized for mobile devices and compatible with mobile Java environments

Page 34: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

JADE and LEAP

• JADE: still in development. (last: 3.0)

• LEAP: project recently taken over by JADE

Huge number of successful applications

Page 35: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

JADE and LEAP

JADE’s functionality

• Distributed agentplatform on several JVM’s, behaviour model, AMS (automatische (de)registratie) – DF – ACC.

• GUI

• Debugging tools …

• Intraplatform mobility

• Multiple DF

• ACL messages, several protocols

• Interface for external applications

Page 36: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

JADE and LEAP

Taken from: LEAP User Guide

Page 37: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

JADE and LEAP

• LEAP on Symbian OS devices: PersonalJava.

• LEAP on PocketPC devices : install CLDC/MIDP or PersonalJava.

• LEAP on Palm OS: install CLDC/MIDP.

• LEAP (or just JADE) on Windows NT/98/2000/XP: install J2SE.

Page 38: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

6 - The AMobe-project

Page 39: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

IT research group

• Department of Engineering at KaHo Sint-Lieven Hogeschool

• Research areas: personnel scheduling, agent technology, timetabling, mobile devices, optimisation, artificial intelligence

• Funded projects (IWT)

Page 40: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

‘97 – ’99 OCAPIObjeCt georiënteerde Agenten voor gedistribueerde PlannIngssystemen: using agents to optimize rosters and the routes of mobile nurses

‘99 – ‘01 COALACOoperating And Learning Agents: creating an ontology for planning systems, Semantic Web

‘01 – ‘03 CoFfTeAComponent Framework for Timetabling Applications: component-based framework for timetabling applications

‘02 – ‘04 AMobeApplication Development for Mobile Devices: agent-oriented software-development on mobile devices

‘02 – ‘04 TITAN (internal project)Developing a timetabling application for the Engineering department

‘03 – ’05 DINGODIstributed Negotiation - Gedistribueerde Onderhandeling

Page 41: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

AMobe

Application Development for Mobile Devices

• 2 coordinators, 2 researchers

• How are mobile devices integrated in applications?

• 2 case studies (evaluation and iteration)

• Website: http://ingenieur.kahosl.be/projecten/AMobe

Page 42: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

??Mobile devices

AMobe

Technology Platform

Architecture

Functionality

uLinux – Palm OS Epoc32 – Windows CE

J2ME – WabaLEAP – JIAC IV

Permanent presenceMobile positioning …

Software patternsOth

er

fact

ors

pricemarket situation

dimensions …

2.5G: GPRS - EDGE WLAN - bluetooth3G: UMTS

Page 43: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Case studies

Tele Atlas

• geographical database, employees on location

T&I

• Mobile devices assist people with non-congenital brain injuries

Page 44: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Framework for efficient datatransfer

• First case study gained interest: IDEWE and WGK have similar cases

• Common agent-construction for efficient datatransfer between server and mobile devices

• Why agents? Agents can decide at which moment which data will be sent. Agents enable loosely coupled software development

Page 45: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie

---------+------------+----+--------+---------+-------

002 | 927 |form| -> |dca002@… | get…

002 | 928 |form| <- |uca002@… |hereis…

003 | 929 |form| -> | pol9@… |hereis…

003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOADCLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SERVERDB

AGENT

CLIENTDB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server)

Mobiel toestelIN

TER

FA

CE

AG

.TA

SK

AG

EN

TS

INFO

RM

ATIO

N

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Page 46: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Server Mobile device

arno.txt

*GML*GML*GML …

blixa

arno panamarenkocaesargaudi

spartacus(x)

spartacus(x).txt

*GML*GML*GML …

ToSend.txt

*GML*GML*GML …

caesar.cltStart/stop

Fill

Watch size

Copy arno.txt

Could I send a report?

Spartacus(x) will be your partner

Please send everything

end

Fill

Watch

Force blixa

Create I am active

Demo in JADE

Page 47: An introduction to agents DARTS 2003 – Session 2A –  22nd  O ctober  2003

Demo: agents over GPRS

• Purchase: Sierra Wireless AirCard 750 (PCMCIA cf. PenPCs Tele Atlas) + Mobistar abonnement voor GPRS

• First test: JADE agent on portable (with GPRS - link) communicates with JADE agent on server within our LAN (both Windows XP)