agent factory: an agent prototyping environment g.m.p. o'hare
Post on 21-Dec-2015
240 views
TRANSCRIPT
What is an APE?
• An Agent Prototyping Environment (APE) is an environment that facilitates the design and construction of heterogeneous agent designs and the subsequent fabrication of diverse agent communities.
• Some prominent APEs are:– AgentBuilder [1]. Reticular Systems APE provides a generic agent framework that may be
configured to include a host of features including intentional reasoning models. Supports inter-agent communication through KQML [2].
– JAT Lite [3]. A Java package that is based around a model of KQML to support inter-agent communication. Provides little support in the way of agent models and reasoning mechanisms.
– dMars [4]. Perhaps the most successful APE so far. Developed at the Australian AI Institute (AAII) by Rao & Georgeff, it is based on SRI’s Procedural Reasoning System (PRS) [5]. Reasoning is based on the BDI mental model. No particular consideration is given to inter-agent communication.
• Trends in modern APEs lean towards providing a generic agent model that supports configurability in areas such as Commitment Management and Agent Communication via Agent Communication Languages (ACLs).
What is Agent Factory?
• Agent Factory is an Agent Prototyping Environment (APE).– Adheres to the Agent-Oriented Programming (AOP) Paradigm [6]
– Developed in Smalltalk-80 using ObjectShares’ VisualWorks Package
– Uses TCP/IP Protocols for Network Communication
– Has been discussed elsewhere in [7][8][9][10]
• Promotes design reuse through embracing of Object-Oriented technology:– Component Design Hierarchies combine standard Object-Oriented features with Agent Factory
Specific features
• The Agent Factory System has been divided into two key areas:– A Run-Time Environment for the realisation of Multi-Agent Systems
– A Development Environment for the building and testing of Intelligent Agent designs
• Current Applications:– Avatars (in VRML)
– Personal Digital Assistants (PDAs)
– Social Robotics
Agent Factory Schematic
Organisational Level
Agent Level
Agents
Commitment Management Strategies
Controller
World(s)
Viewing Tools:
ACL InterfaceVRML Visualiser
Viewing Tools:
Agent Viewer
Agent Interpreter
AF Run-time Server
AF Run-time Environment
Agent Factory Development Environment
Builders:
Scheduler World Agent
Web Server Design Tools:
Agent Design Tool Agent Debugger Scheduler Designer World Builder
Agent Components
ACL Designs
Agent Designs
World Designs
Scheduler Designs
Component Library
The Run-Time Environment
• The run-time environment provides the support necessary for the release of a completed Multi-Agent System (MAS).
• This environment is further sub-divided into:– A Run-time Server. The run-time server offers two main services: access to the non-agent
components of the system (a controller and some worlds), and a set of tools for viewing and interacting with the agent community.
– An Agent Interpreter. The Agent Interpreter provides the functionality necessary for the execution and visualization of agents.
• The existence of a run-time server is nota necessity in Agent Factory MAS, butrather an organisational tool that easessystem administration.
• Instantiation of agents within theRun-Time Environment involvesselecting an appropriate agent design.
RT Server: demo
Agent: rachel
Agent: rem
Agent: paul
Agent: tomas
The Run-Time Server
• The Run-Time Server is a framework for linking agents to Controllers (Schedulers) and World Interfaces.
– The controller permits global control of the MAS, and can be used to synchronise agent execution. It is part of a distrubuted control system for MAS execution.
– The world interface provides administrative services for the placement and maintenance of agents in their arenas. Placement involves linking the agent to its “body” (the system - be it physical or virtual - that the agent is to exert control over).
• Currently, both asynchronous and synchronised control systems have been developed.
• In addition to controlling the execution of agents, the synchronised control system provides:– A Common Time Frame for Agents
• The scheduler maintains a global clock that all agents within a community may access.
• This provides a way of synchronizing action amongst multiple agents.
– A Discrete Linear Time Model• Time is based on the execution of the community, not real-time.
• Again, this is to maintain synchronized behavior.
The Agent Model
• The Agent Model is based on Stronger Notions of Agency– This augments basic features such as: reactivity, pro-activity, social ability, and autonomy with
features such as rationality, benevolence, and intentionality.
• Intentionality implies Mental State– Agent Factory uses a configurable intentional reasoning model. All mental state models must be
based on a pre-packaged Belief-Commitment-Action-Plan Architecture (BDI derivative).
– This is augmented with a set of Commitment Rules.
– Manipulation of the mental state is realized through the Commitment Management System (CMS).
• Agent communications based on a configurable Agent Communication Language (ACL) Module
– Permits development of KQML [2] and FIPA [11] compliant Agents within Agent Factory.
– Currently, Agent Factory makes use of the Teanga ACL [12]
• Agents are Social– Functionality is included for the construction and maintenance of Acquaintance Models
The Agent Model (2)
• The Agent Factory System adheres to the AOP Paradigm.– AOP has many similarities with Object-Oriented Programming (OOP).
• Accordingly, the Agent Factory environment exhibits many similarities with OOP environments. These similarities are described below.
– Agent Designs. Agent Designs are somewhat similar to classes of OOP. They encapsulate all the features necessary for the implementation of an Agent. This includes not only the initialized mental state model, but also the particular configuration to be used within the Agent Interpreter.
– The Agent Interpreter. This component of the system is responsible for the execution of particular agent instances. As such, it performs a role similar to that of the virtual machine (object engine) of OOP. Essentially, it contains the functionality necessary for the execution of an Agent. The interpreter algorithm is generic and may be configured for use by particular Agent Designs.
– The Agent. The agent is an instantiation of a particular agent design. These are essentially the objects of AOP. Its features are described through the Agent Design, and it is executed through the operation of the Agent Interpreter.
The Agent Architecture
• The Agent Designs permit the configuration of the Agent Interpreter.– The configurable components are shown above..
– The Run-Time environment provides mechanisms to override this default configuration providing a degree of run-time configurability.
Communications Module
ACL Module
Per
cep
tor
Un
its
Controller
Mental State:BeliefsCommitmentsActionsPlans
CommitmentManagementSystem
ActuatorUnits
Messages&
Sensor Data
Actions
• The diagram below illustrates the Agent Interpreter algorithm.– Here, the mental state model used is the Default Mental State model. This model represents the
minimal mental state model that may be used in Agent Factory. Any other mental models must extend this model.
– The algorithm is a refinement of the classical perceive-deliberate-act algorithm. Here, perceptors gather beliefs, the CMS performs strategic decision-making and consequently fires various actuators.
Perceptors
Res
olve
r
Actuators
World
Key:Program Flow
Data Flow
CommitmentRules
Planner
Commitment Management
System
The Agent Interpreter
Beliefs
Commitments
Actions
Plans
Mental State
Example Agent Design
• A UserPerceptor examines the user list of a diary system.
• This Actuator adds a user to the user list of the diary system.
addUser
| mess |
mess := 'ADD_USER ',(self currentCommitment action at: 1) asString.
self communications sendMessage: mess toPort: diaryPort onHost: diaryHost.
• Actions map a name, pre- and post- conditions to an Actuator to enable the system to reason about how they work and what they do.
Name: addUser(X)
Pre-condition: !Bel(user(X))
Post-condition: Bel(user(X))
System Call: addUser
• A Commitment Rule maps a situation onto a Commitment to Action. This rule states that if an acquaintance is not on the user list then commit to adding the acquaintance to the user list.
Bel(acquaintance(X)) & !Bel(user(X)) => Com(Self, Now, addUser(X))
The Run-time Tool-set
• Agent Viewer Tool– Uses Notebook Metaphor.– Individual interfaces provide a view of the agent mental
state or some other component of the agent structure.– Supports Information Hiding.– Acts as an abstraction mechanism.
• RT Server Viewer Tool– Provides access to the global controller– Configuration of the world interface is allowed.
• The Agent Factory Visualiser– A tool that supports the visualisation of MAS
through VRML.
– This is a client-server tool that is embedded into standard web technologies to provide a seamless, platform independent interface.
The Development Environment
• The development environment extends the Agent Factory Run-time Environment.
– Access is provided to a collection of tools that facilitate the development of Agent communities. This is achieved through the generation of a variety of components that may be used within a particular Agent Design.
– These components are stored in a Component Library and form a collection of Component Design Hierarchies (CDH) that extend the standard Object Hierarchies in the OOP Paradigm. In particular CDHs exist for all the main components of an agent community, namely the run-time server and agents.
• It is distributed, using client-server technology to maintain consistency over multiple development environments.
• Provides a web-based interface to allow remote community development and testing.
• Supports complete abstraction from port numbers and host names to Agent / RT Server names.
The Development Tool-set
• Agent Design Tool– Enables rapid development and visualisation
of Agent Designs.
– Based on a three stage
• Interface Customisation Tool– Manipulates an Interface Hierarchy.
– Provides alternative views for use in theAgent Viewer Tool.
• CMS Design Tool– Facilitates construction of Commitment Management
Strategies.
• Perceptor Builder– Provides abstracted access to a perceive method that is
invoked when the perceptor is activated.
• Mental State Model Design Tool– Supports the construction of mental state models.
Agent Factory Online
• A limited form of the toolset discussed on the previous slide is available through the World-Wide Web.
– The interface currently supports agent and run-time server creation and viewing.
– Revisions to the interface will include:• Wizards to facilitate the rapid generation of demos, and
• Online Design Tools
ReactiveDeliberative Physical
CommitmentManagement
System
Resolution System
PLA
NN
ER
Commitment Rules
Plans
Actio Library Actuator
Module
Perceptor Module
Reflex Behaviours
obstacle _avoid
escape _corner
stop
wait
retreat
…
Motors
Sensors:
proximitysonarodometryvision
Digital Signal
Process
Motor controller
Commitment
Belief Set
AgentCommands
AgentEvents
Social
ACL: Teanga
Message Handler
Message Generator
The Social Robotics Architecture
• Agent Factory is currently being used as a tool within the IMPACT project as a part of the Social Robots Architecture (SRA) [13][14][15].
– The SRA is a framework for the development of Social Robots.
– It is divided into four layers: the physical, reactive, deliberative, and social.
– Agent Factory is used at the deliberative and social layers.
• This is a hybrid architecture, providing a synthesis between reaction and deliberation within a single coherent framework.
Bibliography[1] Reticular Systems, Agent Builder White Paper, http://www.agentbuilder.com/Documentation/white_paper_r1.3.pdf
[2] CDR, Stanford University, “JATLite Overview”, http://java.stanford.edu/java_agent/html/
[3] Australian Artificial Intelligence Institute, Brief Overview, http://www.aaii.oz.au/proj/dMARS-prod-brief.html
[4] Finin, T., Weber, J., Wiederhold, G., Genesereth, M., Fritzson, R., McGuire, J.,Shapiro, S., Beck, C., “DRAFT Specification of the KQML Agent-Communication Language”, 1993.
[5] Rao, A.S. and Georgeff, M.P., Modeling Rational Agents within a BDI Architecture, in Proceedings of Second International Conference on Principles of Knowledge Representation and Reasoning, (J.Allen, R.Fikes, and E.Sandwall eds) pp 473-484, Morgan-Kaufmann, San Mateo, CA, 1991.
[6] Shoham, Y., Agent-Oriented Programming, Artificial Intelligence (60), pp 51-90, 1993.
[7] Collier, R., The Realisation of Agent Factory: An Environment for the Rapid Prototyping of Intelligent Agents, UMIST, Manchester, UK (M.Phil. Thesis), 1995.
[8] O’Hare, G.M.P. and Abbas, S., Commitment Manipulation within Agent Factory, Proceedings of Decentralised Intelligent and Multi-Agent Systems, DIMAS ‘95, 22-24 Nov. 1995, Cracow, Poland, 1995
[9] O’Hare, G.M.P., “The Agent Factory: An Environment for the Fabrication of Distributed Artificial Systems”, In O’Hare, G.M.P. and Jennings, N.R.(Eds.), Foundations of Distributed Artificial Intelligence, Sixth Generation Computer Series, Wiley Interscience Publishers, New York, pp 449-484, 1996.
[10] O’Hare, G.M.P., Collier, R., Conlon, J. and Abbas, S., Agent Factory: An Environment for Constructing and Visualising Agent Communities, 9th AICS Conference, Irish Artificial Intelligence and Cognitive Science Conference, UCD, Dublin, 19th-21st Aug., 1998.
[11] Foundation for Intelligent Physical Agents, “FIPA 97 Specification Part 2: Agent Communication Language”, 1997.
[12] Rooney, C.F.B., O'Donoghue, R.P.S., Duffy, B.R., O'Hare, G.M.P.,Collier, R.W. The Social Robot Architecture: Towards Sociality in a Real World Domain. Proc. TIMR-99 (Bristol). Technical Report Series, Dept. Computer Science, Manchester University, ISSN 1361-6161. Rep. No. UMCS-99-3-1, 1999.
[13] Duffy B.R., Rooney C.F.B., O'Donoghue R.P.S., Collier R.W., O'Hare G.M.P., Towards Social Robots, Cognitive Science For The New Millenium, Dublin, 1999
[14] Duffy B.R., Collier R.W., O'Hare G.M.P., Rooney C.F.B., O'Donoghue R.P.S., SOCIAL ROBOTICS: Reality and Virtuality in Agent-Based Robotics, Bar-Ilan Symposium on the foundations of Artificial Intelligence: Bridging theory and practice (BISFAI), 23-25 June 1999, Ramat Gan, Israel, 1999
[15] O'Hare G.M.P., Duffy B.R., Collier R.W., Rooney C.F.B., O'Donoghue R.P.S., Agent Factory: Towards Social Robots, First International Workshop of Central and Eastern Europe on Multi - agent Systems (CEEMAS'99), 30th May-3rd June 1999, St. Petersburg, Russia, 1999