Download presentation
Presentation is loading. Please wait.
1
Agent Factory: An Agent Prototyping Environment G.M.P. O'Hare
2
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).
3
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
4
Agent Factory Schematic Organisational Level Agent Level Agents Commitment Management Strategies Controller World(s) Viewing Tools: ACL Interface VRML 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
5
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 not a necessity in Agent Factory MAS, but rather an organisational tool that eases system administration. Instantiation of agents within the Run-Time Environment involves selecting an appropriate agent design. RT Server: demo Agent: rachel Agent: rem Agent: paul Agent: tomas
6
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.
7
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
8
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.
9
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 Perceptor Units Controller Mental State: Beliefs Commitments Actions Plans Commitment Management System Actuator Units Messages & Sensor Data Actions
10
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 Resolver Actuators World Key: Program Flow Data Flow Commitment Rules Planner Commitment Management System The Agent Interpreter Beliefs Commitments Actions Plans Mental State
11
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))
12
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.
13
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.
14
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 the Agent 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.
15
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
16
ReactiveDeliberativePhysical Commitment Management System Resolution System PLANNER Commitment Rules Plans Actio Library Actuator Module Perceptor Module Reflex Behaviours obstacle _avoid escape _corner stop wait retreat … Motors Sensors: proximity sonar odometry vision Digital Signal Process Motor controller Commitment Belief Set Agent Comman ds Agent Events 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.
17
Bibliography [1]Reticular Systems, Agent Builder White Paper, http://www.agentbuilder.com/Documentation/white_paper_r1.3.pdfhttp://www.agentbuilder.com/Documentation/white_paper_r1.3.pdf [2]CDR, Stanford University, “JATLite Overview”, http://java.stanford.edu/java_agent/html/http://java.stanford.edu/java_agent/html/ [3]Australian Artificial Intelligence Institute, Brief Overview, http://www.aaii.oz.au/proj/dMARS-prod-brief.htmlhttp://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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.