agent factory : a prototyping environment for agents gregory o’hare cs 4019 multi-agent systems...
TRANSCRIPT
Agent Factory : A Prototyping Environment for Agents
Gregory O’HareGregory O’Hare
CS 4019CS 4019
Multi-Agent Systems Lecture Material,Multi-Agent Systems Lecture Material,
University College DublinUniversity College Dublin
Outline
What is the difference between Objects and Agents?
What is Agent Factory?
Visual Design within Agent Factory
Case Study: WAY System
Agent Factory in Context
Conclusions
Objects versus Agents
Numerous Authors & Researchers have debated the differences and similarities between Objects and Agents;
Agents are autonomous. An object does not exhibit control over its behaviour; methods are made available for invokation as and when desired; Agents do not invoke methods but make requests;
Objects have nothing to say about differing deductive models like reactive, pro-active or social abilities
Agents are each considered to have their own thread of control. In standard object systems there is merely one thread; However some concurrent object based programming languages starting to emerge;
Active Objects
Active Objects blur the distinction;
Active objects have their own thread of control and can in some senses be considered autonomous;
They exhibit some behaviours without actually being operated upon;
What is Agent Factory?
Agent Factory is…
“a cohesive framework that supports a structured approachto the development and deployment of multi-agent systems.”
AF-APL is augmented with:
AF-APL
Run-Time Environment
Development Environment
Development Methodology
AF-APL
AF-APL is a declarative language. Designed to simplify the implementation of complex
agent behaviours.
Underpinned by a formal agent theory. Founded upon an analysis of how agents commit to
actions. Formalised as a multi-modal temporal logic.
Specifically, Agent Factory agents employ: Beliefs Commitments Commitment Rules
AF-APL
AF-APL Control Algorithm
World
BeliefUpdate
Query
Perceptors
Actuators
Beliefs
Commitments
CommitmentManagement
Commitment Rules
Migrate?
1 Perceive
2 Deliberate
3 Act
AF-APL
AF-APL
AF-APL Programs define: Actuators
Perceptors
Modules
Commitment Rules
Initial Mental State
AF-APL
The Run-Time Environment
Deals with Interoperability.
FIPA compliant Design It is comprised from one or
more Agent Platforms (APs)
Each AP combines: Support for agent migration White and Yellow Pages
Agents Agent Management Services Initial Agent Community
Agent Platform
Agent Container
AgentPla tformGUI
Message Transport Manager
Sys tem Agents
AMSDF
Applica tion Agents
RemTerry
AgentManagementServices
HTTP Message Transport Service
To other AP's
Migra tion Manager
To other AP's
HTTP Migra tion Service
MMA
AP ScriptHandler
AF-APL
The Agent Design Tool
Supports reuse of AF-APL code through inheritance.
Implements filtered views of agent classes.
Facilitates “publication” of agent designs.
AF-APL
Agent Viewer Tool
Supports the visualisation, configuration, and execution of agents
Provides a filtered view of the agent through a set of views
AF-APL
The Development Methodology
Defines a structured approach to the coding and testing phases.
Places a partial ordering on the use of the tool set.
Identifies key deliverables to be produced.
Coding Testing
Testing / Debugging
Analysisof Agent
Behaviour
ConversationTesting
Deployment
Configura tion of Run-Time Environment
Agent ViewerTool
CommunityMonitor
Message Sender
Script Editor
Component Building
MTSCrea tion
ModuleCrea tion
ResourceCrea tion
Agent Implementa tion
Actua torCrea tion
OntologyDefinition
AgentBehaviourDefinition
PerceptorCrea tion
Actua torBuilde r
PerceptorBuilde r
Agent Des ign ToolContentLanguage Editor
AF-APL
Visual Design with Agent Factory
Provision of graphical tools to support the design of agents. Initial focus upon support for the modelling of agent
interaction protocols.
Provides scope for the utilization of various design notations.
Supports users in the fabrication of semantically correct protocols.
Assist users in the generation of agent code based upon published protocols.
Initial prototype supports Agent UML notation.
Agent Factory Protocol Tool
Interface Semantic Checker
User Updates
Model
Updateof Model
Inform of failureInform of success
Agent Factory Protocol Tool
M-Commerce. Agent Factory is being used to deliver context sensitive shopping for mobile users.
EasiShop
Robotics. Agent Factory was employed as part of a hybrid agent architecture that is being used in ongoing research to investigate social robotics.
IMPACT, MARC
Speech Processing. Agent Factory is being used to process human speech using Phonotactics.
SAID
Current Applications
Ubiquitous Computing. Agent Factory has been employed to deliver a number of location aware services for hand-held devices.
Gulliver’s Genie, WAY System, E=mc2, and AD-ME
The Goal of the WAY
Support the mobile citizen in the location, tracking and rendezvousing with a variety of moving entities.
Where are you?
I’m walking down Grafton Street
Well, I’m outside Trinity College
Grand, I’ll see you in a minute
Allow the mobiles themselves to deal with these requests
Technologies for the WAY
Personal Digital Assistants (PDAs) Personal Digital Assistant (IPAQ 3600 - 3700) PCM/CIA Sleeve
Localisation Technology including Global Positioning Systems (GPS)
GPS card / Garmin 2 GPS receiver
Communication over Wireless Networks Nokia Card Phone 2 GSM 900/1800
Mobile, Lightweight, Belief Desire Intention (BDI), Agents Agent Factory
Implementing the WAY
Each user is given their own WAY agent Maintains information about the users current location and
activities
By preference, WAY Agents reside on the users mobile device When on the device, WAY Agents have access to the users
position through GPS Also, they can interact with the user through a graphical interface
However, if the device is not accessible, the agents migrate to the WAY Server
While there, they remember the users last known coordinates.
WAY Agents communicate regular updates of their users position to interested parties
But only if the user permits it!
At the end of the WAY…
Zoomed In Zoomed Out
Agent Factory in Context I
A number of other Agent Development Tools exist: LEAP (LEAP Consortium). Integration of JADE and ZEUS that
is compliant with J2ME.
JADE (TILAB). FIPA-compliant Java API that supports the fabrication of reactive agents.
ZEUS (BT Labs). A graphical toolkit for creating deliberative agent designs, which when completed, are compiled into Java code, customised and finally, executed.
JACK (Agent-Oriented Software). Extends Java with agent-based concepts. JACK code is compiled into Java code and executed.
FIPA-OS (Emorphia). The first FIPA-compliant agent platform. Similar to JADE.
Agent Factory in Context II
LEAP JACK ZEUS JADE FIPA-OS
AF
BDI √
√
Mobility √ √
√ √
White Pages √ √
√ √ √
Yellow Pages √ √
√ √ √
FIPA Compliance
√ √
√ √ √
Fabrication Mode Design Instance Design Instance Design Design
Inheritance √
√
√ √
Construction Graphical Graphical Graphical Graphical None None
Visualization Graphical Graphical None Graphical None None
Integrated Methodology √ √
√
√√
Summary
Agent Factory: Is a cohesive framework for the development and deployment
of agent-oriented applications on J2ME-compliant devices.
Offers a visually intuitive development environment that: Promotes design reuse. Has strong links with Agent UML. Delivers a rich set of tools to support the development and
debugging of agent designs.
Provides a rich coupling between an Agent Development Methodology and the Agent Factory toolset.
Supports mobile agents.
And, finally…
An evaluation version of the Agent Factory Framework is available for download from:
http://www.agentfactory.com/
Agent Factory Physical Architecture
Component Design Library
Agent Designs
Perceptors
Actuators
Modules
MTS
MS
agentfactory.ucd.ie
krytan.ucd.ie
DevelopmentEnvironment
lister.ucd.ie
DevelopmentEnvironment
holly.ucd.ie
AgentPlatform
pda1.ucd.ie
AgentPlatform
Published components
Deployed components
The Actuator Builder
Supports the fabrication of Actuators
Interface presents a filtered view of the implementation
Generates and compiles relevant Java classes
AF-APL