Title: Aglets Software Development Kit IBM Japo
1Agent Workshop
Helder Coelho and Luis Moniz FCUL
2Contents
- 1. Introduction
- 2. Workshop Design
- 3. Pilot Exercises
- 4. Conclusions
3- 1. INTRODUCTION
- Agent
- Workshop
- Background Knowledge
- Specifications
- Standards
4Idea of Agent
- An agent is a program that
- works autonomously during a period of time,
- interacts with the other agents and services,
- lives in an environment, and
- performs a task in name of a person or an
organization. - Features
- Dynamic, Adaptable, Robust and Mobile.
5Idea of Workshop
- Space for light agent engineering, where it is
also possible to develop innovative ideas and
concepts along pilot exercises - Toolboxes,
- Workbenches,
- Simulation platforms,
- Testbeds and
- Technologies.
6Tools/Toolbox
- Specifying (AUML),
- Editing,
- Programming,
- Generating,
- Assembling,
- Monitoring, and
- Probing.
7Workbench
- User interface.
- Agent and environment development, monitoring and
probing tools. - Platform capabilities.
8Platform
- It supports the execution of agents.
- Agent management.
- Environment control.
- It supports communication
- Communication methods.
- Base structures.
9Classification of Platforms
- According to agent types
- Isolated agents
- Simulation / Evolution
- Artificial Life
- Fixed agents
- Connection with other environments
- Local processing
- Mobile agents
- Distributed processing
10General Specifications
- Specifications
- FIPA (Foundation for Intelligent Physical Agents)
- MASIF/OMG (Object Management Group)
- OAA (Open Agent Architecture)
- Communication languages (ACL)
- KQML (Knowledge Query and Manipulation Language)
- KIF (Knowledge Interchange Format)
- Ontolingua
- FIPA ACL
- ICL OAA
11KQML (Knowledge Query Manipulation Language)
- Protocol for carrying and formating messages
based in speech acts. - Define a set of primitive messages
- tell subscribe evaluate ...
- Define the type of answer for each message
- It integrates the concept of facilitator (guide
messages). - The content of the messages is not defined.
12KIF (Knowledge Interchange Format)
- Language for knowledge representation shared
among several agents. A sort of lingua franca. - Analogue to LISP declarative
- Expressiveness of first order logic
- (salary john 550)
- (gt ( (length farm1) (width farm1)) ( (length
farm2) (width farm2))) - (gt (and (real ?x) (integer ?n)) (gt (exp ?x ?n)
0))
13Ontology
- Aim represent the knowledge structure
- Easy to use, ability to process knowledge.
- Semantic web
- Varieties
- XML/XML Schema
- RDF/RDF Schema
- OML
- DAML, DAMLOIL, DAML-S, DAML-L
- ...
14Foundation for Intelligent Physical Agents (FIPA)
- FIPA International Association of enterprises to
share general specifications on agent technology. - Standards for
- Concepts
- Architectures
- Services
- Communication
- Platforms
- ....
15FIPA Platforms
(www.fipa.org/resources/livesystems.html)
- Specification for implementing platforms
- Obligatory request
- AMS (Agent Management System)
- DF (Directory Facilitator)
- ACC (Agent Communication Channel)
- Support of
- Link between platforms via IIOP protocol
- Distribution of a platform among several machines
- ....
16FIPA Platform
17OMG (Object Management Group)
- MASIF (Mobile Agent System Interoperability
Facility) - Common platform for allowing communication among
mobile agents.
18CORBA/ORB
Integration of agents in ORB architectures
19- 2. Workshop Design
- Platforms
- Workbenches
- Testbeds
- Technologies
- Commercial Products
20Simulation Platforms
- Swarm
- Tileworld
- Javabots
- Teambots
- Mice
- ABE
- MACE
- TouringMachines
- ViewGen
- Tierra
- StarLogo
- EINSTein
- RoboSoccer
- RoboRescue
- SimCog
- Creatures
- SIMS
- ........
21Workbenches
- Agent Tcl (Dartmouth)
- April (Fujitsu)
- Clearlake (Guideware)
- M0 (Univ. of Geneva)
- Obliq (DEC SRC)
- Safe-Tcl (N. Borenstein)
- Tacoma (Univ. of Norway Cornell Univ.)
- Telescript (General Magic)
- Wave (Univ. of Surrey)
- Internet System Environment (OSF)
- Orbix (Iona)
- Sumatra (UMCP)
- JAM (Univ Columbia)
- JIAC (DAI-Lab/Tech.Univ. Berlin)
- EXCALIBUR (Tech. Univ. Berlin)
- FarGo (Israel Inst. of Tech.)
- Ara (Univ. Kaiserslautern)
- Agent CLIPS (YilSoft)
22Workbenches
- Aglets (IBM TRL)
- Concordia (Mitsubishi)
- ABE (IBM)
- CyberAgents (FTP Software)
- Odyssey (General Magic)
- MOA (MASIF/OMG)
- Voyager (ObjectSpace)
- ZEUS (BT)
- Hive (MIT)
- Bee-Gent (TOSHIBA)
- Agent Building Shell (Univ of Toronto )
- A-Match (CMU)
- RETSINA (CMU)
- DECAF (Univ Delaware)
- Mole (Univ. Stuttgart)
- OrbixWeb (Iona)
- Java Agent Template (Stanford)
- OAA (SRI)
- .....
23Workbenches (FIPA)
- Agent Development Kit
- April Agent Platform (Fujitsu)
- Comtec Agent Platform
- FIPA-OS (Nortel)
- Grasshopper
- JACK Intelligent Agents
- JADE (TILAB)
- JAS API (Fujitsu, Sun, IBM, HP, ...)
- LEAP
- ZEUS (British Telecom)
- XDepint
- SACI
- NETDEF
24Testbeds
- Exercices
- SEM
- Depint
- SEM
- Languages
- Prolog, StarLogo, CLIPS
- C, Java
25Technologies
- Symbolic Programming
- Genetic Programming
- Ant Programming
- Neural Networks
- Fuzzy Logic
- Cellular Automata
26Look to Isolated Agents
- Reduced environments.
- Simple agents.
- A big number of simultaneous agents.
- No external link.
- Artificial Life, Simulation, Evolution and
Learning. - Examples
- Swarm, StarLogo, TileWorld, EINSTein, Javabots,
RoboSoccer. - Creatures, SIMS, ....
27StarLogo
- Based on LOGO.
- Fast prototyping of applications.
- Several simultaneous agents.
- Identical agents (same code).
- Very simple agents
- Emergency of global behaviours upon isolated ones.
28EINSTein
- Environment for simulation military battles.
- Agents defined upon fixed parameters
- Behaviour
- Personalidade
- Comunicação
- Two groups facing each other.
- Territory specification.
29RoboSoccer
- Client/Server.
- SoccerServer
- It executs the players commands.
- It sends for each player environment information.
- It controls the environment integrity.
- Clients (Players).
- They process the received information.
- They send commands to the server.
30MABS Platforms
31Look to Fixed Agents
- Heterogeneous agents.
- Server.
- Support for communication.
- Distributed environment.
- Examples
- AgentCLIPS, JAT.
32Agent CLIPS
- Agents written in CLIPS.
- Link to NNTP and HTTP servers.
- Common use
- Access to web/news pages
- Data filtering
- Communication with other CLIPS agents.
- Available MacIntosh and Unix (Sun).
33Java Agent Template (JATLite)
- For building agents that talk through the
Internet. - Non migratory (yet achieved with Java RMI).
- Communication with KQML.
- Open architecture, designed for allowing easy
extensions with new funcionalities.
34Open Agent Architecture (SRI)
- Agent facilitator
- Blackboard
- Register service
- Message chaining
- Agent linking
- Communication language
35Open Agent Architecture (OAA)
- Agents written in PROLOG/JAVA.
- When registering, the agent shows the services
for the community. - When receiving a request, the facilitator
forwards it to the agents able to solve it. - Requests with querys PROLOG form.
- No control over the agents.
36Open Agent Architecture (OAA)
37Open Agent Architecture (OAA)
Facilitator Agent
Registry
Interagent Communication Language
Modality Agents
38JADE (Java Agent DEvelopment Framework)
- It supports FIPA standard for agent platforms
AMSDFACC. - To each machine is associated an agent container
(a sort of JVM). - A platform may have several containers
communicating via RMI. - Agents written in JAVA.
- A GUI controls several agents
- Start, suspend, kill ....
39JADE (Java Agent DEvelopment Framework)
40Look to Mobile Agents
- Environments for supporting distributed code.
- Agent movement among machines
- Reduction of net traffic
- Elimination of comunication delays
- Autonomous and syncronous execution
- Dynamic adaptation to problems
- Heterogeneous environments
- .....
- Examples
- Aglets, Voyager, Odissey, DAgents, Ara.
41Safe TCL
- Standard for the creation of agents.
- Agents are defined using a subset of Tcl
language, allowing the server security. - Transport means email.
- Support system Tcl/tk Safe Tcl MIME.
- Simple system to create and send agents to remote
locations.
42Telescript
- First commercial language oriented to create
mobile agents. - The agents correspond to Telescript objects and
they conserve their state when they move. - Some disadvantages
- Require several system resources
- Commercial (costs)
- Out of market General Magic is developping
agents in Java.
43DAgents (Agent Tcl)
http//www.cs.dartmouth.edu/agent/
- Plataform for mobile agents
- An agent is a script in Tcl
- It allows the movement of the agent using
agent_jump, transporting the agent plus its
execution state - Security is achieved with agent encryptation and
Safe-Tcl - Extensions Scheme, Java and Phyton.
- Available Unix.
44Agent Building Environment (ABE)
- Development workbench.
- Facilities for building up applications based in
distributed/mobile environment. - Adopted for services
- NTTP, HTTP, Time, File
- New adaptators in Java or C.
- Available OS2, Windows, AIX.
45Aglets Software Development Kit (IBM
Japan/OpenSource)
http//www.trl.ibm.co.jp/aglets
- Integrated package for design and management of
multi-agent systems. - New communication protocol ATP (Agent Transfer
Protocol). - Agent server (Tahiti) creation, remotion ....
- Language JAVA.
- Extensions JMT (Java-based Moderator Template),
JKQML (Java KQML). - Available SPARC/Solaris 2.5, x86/Solaris(1.1
beta 4), Windows95/NT, AIX 4.1.4, OS/2(1.1.1
beta).
46Aglets Software Development Kit
- Model fixed execution based in events.
- Creation, Remotion, Mobility, Persistence.
- onCreation(), run(), handleMessage(),
onArrival(), onDeparting(), onActivation() ..... - Agents executed within the platform (Tahiti).
- Several JAVA restrictions
- Control of resources.
- Recover of execution states.
47Aglets Software Development Kit
The return of WriterSlave depends
on Timeout User interaction Writer informs what
is the result of the operation.
48Ara
http//www.uni-kl.de/AG-Nehmer/Projekte/Ara/index_
e.html
- Platform for safe execution of agents in
heterogeneous nets. - Language TCL or C/C (pre-processed).
- Available SunOS, Solaris and Linux.
49Mole
http//www.informatik.uni-stuttgart.de/ipvr/vs/pro
jekte/mole.html
- It supports agents written in Java.
- Functionalities
- location - basic services for agents.
- engine - services for locations.
- Types of agents
- System agents
- User agents
- Common agents
50Odyssey(General Magic)
http//www.genmagic.com
- System of agents implemented as a set of JAVA
libraries. - It supports the concepts of agent and location.
- It does not support the transport of the agent
state. - Platform JDK1.1
51Voyager(ObjectSpace)
http//www.objectspace.com
- It is an ORB written in Java.
- Oriented for building distributed applications.
- It supports the CORBA standard.
- Agents are treated as Objects.
- Integration with applets.
- It is not a platform specific for agents.
52Voyager(ObjectSpace)
- Each shop has the same set of products.
- Agent SHOP searches the shop that has the
desired and cheapest product and stops there. - Agent BUY search the shop where SHOP is stopped
and buys the product. - Agente SHOP goes away to search again for the
best price.
53NETDEF
- Parallel high level language.
- Compiler able to translate a NETDEF program into
a neural network. - Computation equivalence between a neural net and
a classical program. - Symbolic and subsymbolic computations are closer.
- Main features modularity, syncronism and massive
parallelism. - Web site www.di.fc.ul.pt/jpn/netdef/netdef.htm
54Look to Commercial Agents
- Several tentatives to produce commercial products
based on agent tools - Archon
- Telescript, Odissey, Serengueti, Portico
- Creatures, The Sims
- Examples OrbixWeb, Serengeti and Portico.
55OrbixWeb(Iona Technologies)
- Platform for developping client/server
applications according the CORBA standard. - It generates Java applications.
- It is not specific for agent construction.
- Commercial product.
56Serengeti (General Magic/MicroSoft)
- Personal assistant.
- VUI/GUI user interface.
- To be partially integrated with the next
Microsoft Outlook version. - Technology
- Odyssey (?).
- Actual state (?).
57Portico (General Magic)
- Portico is a virtual assistant and an integration
and access factor for several data and
communication services. - Functionalities
- Speech recognition
- Conversation handling
- Data filtering
- Agenda management
- Data search
- Technology
- Odyssey
- MagicTalk
58- 3. Pilot Exercises
- GIA and LabMAG
- (Helder Coelho, Leonel Nóbrega, Luis Moniz, Paulo
Urbano).
59Exercise1 Training soccer tactics
- Applying the ideas of the society of mental
states framework (Corrêa and Coelho, 1998). - Generating special soccer players with the
RoboSoccer platform need of new tools. - Tool package Agent editor, Agent code generator,
Agent executor and Agent behaviour probing. - Experiment to coach the movements and actions of
a partcular soccer team (Nóbrega, 2001).
60Exercise 2 Tailoring teams
- Extension of the OAA platform with 3 components
for automatic agent generation Agent listener,
Agent creator and Agent activator. - Agents regarded as service providers with a
public ontology interface, externally shared by
the platform. - Focus on complex, dynamic and adaptative group
behaviours and tasks agents as building blocks
of intelligent and customised applications (Moniz
and Coelho, 2001).
61Exercise 2 Tailoring teams
- Architecture of the 3 system structure levels
Service (implementation and management of the
agent and service black box), Design
(construction of applications by aggregating the
resources as a community of agents in the Service
level) and User (gateway to the system
manipulation in terms of task specifications and
high-level services). - Experiment find a movie by decomposing this
goal as a set of tasks to be solved by a group of
agents.
62Exercise 3 Mixing social and physical
features
- Educational environment for behaviour based
robots focus on advanced experiments on
collective behaviour. - Testebed mixing Aglets and Player/Stage.
- Extended Aglets multi-agent platform to arrange
better tools for the designer. - Player/Stage environment for robotics simulation.
- AGLIPS linkage between those two heterogeneous
environments (Aglets and Player/Stage) to build a
virtual laboratory robots are specified in CLIPS.
63Exercise 3 Mixing social and physical
features
- Composite behaviour according to the idea of
Brookss subsumption architecture (Moniz et al,
2002). - Experiment arrange a library of agents, control
programs and environments (number, size, location
of obstacles, number and location of robots, and
behaviour of each robot) to build flocking
behaviour in a world full of obstacles. - Web site ai.di.fc.ul.pt/projects
64Exercise 4 Brokering service agencies
- Extended Aglets platform for delivering new
services (white pages, group formation and yellow
pages) in a distributed and mobile agent
environment. - Extension along 4 lines environment,
architecture, live cycle model and communication
(message model to support KQML like directives
and speech acts). - Complex robot communication channel with white
pages service and GPS like facility (Moniz et al,
2002)..
65 66Trends
- Tools
- Agent construction/design
- Agent control/management
- Agent monitoring/probing
- Associated with an objective/task.
- Integration and distribution.
- The majority not yet commercial.
67Today
- Recent technology
- JINI
- BLUETOOTH
- UTMS
- Current Commercial Applications
- Animation (Antz, Shrek, ...)
- Games (Age of Empires, Creatures, Magestic, Sims)
- Personal assistants (PDAs)
- Automatic net management
- Data and text retrieval
- Economy and management towards complexity!