Title: An introduction to agents DARTS 2003
1An introduction to agents DARTS 2003 Session
2A 22nd October 2003
- Joris Maervoet and Stijn Bernaer
- KaHo Sint-Lieven Hogeschool, Ghent
2Talk outline
- An introduction to agents
- Agent definitions
- Agent applications Helms Deep/NASA
- Agent applications overview
- Agent-oriented design
- Programming agents
- The AMobe project
31 Agent definitions
4Agent 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)
5Properties
Re-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
6Why 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
7Why 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
8Agents and objects, whats the difference?
Object A
Object B
method
Agent A
Agent B
? ACL message
92 - Agent applications 2 examples
10(No Transcript)
11The 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
12The battle at Helm's Deep
- making realistic crowds is making realistic
individuals
Taken from Pierre Vinet/ New Line Productions
13The battle at Helm's Deep
- Agents brains (look like complex flow charts)
define how they see and hear, how fast they run,
- Agents 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
14The battle at Helm's Deep
Taken from Entertainment Weeklys EW.com
15The 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 its point of view (no crowd
control) - Other examples generating flocks of birds,
duplicating film stars
16http//technology.arc.nasa.gov
17NASA
- 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
18Remote 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
19Remote 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
20Remote 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
21Remote 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
223 Agent applications overview
23Agent-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
24Industrial and Commercial Applications
- Manufacturing
- eCommerce e.g.
- Telecommunications
- Supply chain management
- Entertainment and leisure
- e.g. The Creature Games, SimCity
- the film The Two Towers
25Simulation 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
26Simulation 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
27Application 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
284 - Agent-oriented design
29A 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
30Pitfalls (Jennings)
- Political you oversell agents, you get dogmatic
about agents - Management you dont 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
31Pitfalls (Jennings)
- Analysis and design you ignore related
technology, you dont 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
325 Programming agents
33JADE 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 JADEs core functionality for devices
with low memory/CPU capacities. - JADE-based agentplatform which is standardized
for mobile devices and compatible with mobile
Java environments
34JADE and LEAP
- JADE still in development. (last 3.0)
- LEAP project recently taken over by JADE
Huge number of successful applications
35JADE and LEAP
- JADEs functionality
- Distributed agentplatform on several JVMs,
behaviour model, AMS (automatische
(de)registratie) DF ACC. - GUI
- Debugging tools
- Intraplatform mobility
- Multiple DF
- ACL messages, several protocols
- Interface for external applications
36JADE and LEAP
Taken from LEAP User Guide
37JADE 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.
386 - The AMobe-project
39IT 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)
40- 97 99 OCAPI
- ObjeCt georiënteerde Agenten voor gedistribueerde
PlannIngssystemen using agents to optimize
rosters and the routes of mobile nurses - 99 01 COALA
- COoperating And Learning Agents creating an
ontology for planning systems, Semantic Web - 01 03 CoFfTeA
- Component Framework for Timetabling Applications
component-based framework for timetabling
applications - 02 04 AMobe
- Application 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 DINGO
- DIstributed Negotiation - Gedistribueerde
Onderhandeling
41AMobe
- 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/AMob
e
42AMobe
Permanent presence Mobile positioning
Functionality
uLinux Palm OS Epoc32 Windows CE J2ME
Waba LEAP JIAC IV
2.5G GPRS - EDGE WLAN - bluetooth 3G UMTS
??
Mobile devices
Technology
Platform
price market situation dimensions
Other factors
Architecture
Software patterns
43Case studies
- Tele Atlas
- geographical database, employees on location
- TI
- Mobile devices assist people with non-congenital
brain injuries
44Framework 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
45Server (ev. DB server)
Server (ev. synchro server)
Mobiel toestel
INTERFACE AG.
- SYNCHRO AGENT
- ToestelIDTransactieIDpriorichtingaanvragerDBa
ctie - ---------------------------------------------
---- - 002 927 form -gt dca002_at_
get - 002 928 form lt- uca002_at_
hereis - 003 929 form -gt pol9_at_
hereis - 003 930 form lt- pol5_at_
get - actieve transacties
- prioriteitsdrempel
RECEIVING SLAVE AGENT
RECEIVING SLAVE AGENT
DOWN-LOAD CLIENT AGENT
RECEIVING SLAVE AGENT
TASK AGENTS
SENDING SLAVE AGENT
SENDING SLAVE AGENT
UPLOAD CLIENT AGENT
POLICY AGENT
SENDING SLAVE AGENT
POLICY AGENT
POLICY AGENT
SERVER DB AGENT
CLIENT DB AGENT
DB
DB
INFORMATION AGENTS
46caesar.clt
Demo in JADE
arno
panamarenko
caesar
gaudi
Start/stop
Watch
Force blixa
Could I send a report?
Fill
Spartacus(x) will be your partner
Create
I am active
blixa
spartacus(x)
spartacus(x).txt GMLGMLGML
Watch size
Fill
Please send everything
Copy arno.txt
end
ToSend.txt GMLGMLGML
Server
Mobile device
47Demo 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)