Agent Factory: An Agent Prototyping Environment G.M.P. O'Hare.

17
Agent Factory: An Agent Prototyping Environment G.M.P. O'Hare
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    234
  • download

    0

Transcript of Agent Factory: An Agent Prototyping Environment G.M.P. O'Hare.

Agent Factory: An Agent Prototyping Environment

G.M.P. O'Hare

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