Agent Oriented ProgrammingOutlineIntroductionDefinitionsAgent - ExampleSlide 6AOP ConstraintsOOP vs AOPAOP FrameworkMental StateMental State LanguageBeliefObligationDecisionCapabilityAbleMental State ConstraintsPersistence of Mental StateGeneric Agent InterpreterAgent Interpreter Flow DiagramAGENT-0AGENT-0 LanguageActionsConditional ActionsMental ConditionsVariablesCommitments (Obligations)Commitment RulesExample ImplementationAGENT-0 ImplementationAGENT-0 Implementation (Cont)Slide 32Slide 33Slide 34Slide 35New WorkQuestionsAgent Oriented ProgrammingLucas Schroeder4/10/2007OutlineIntroductionDefinitionArchitecture & LanguageExampleNew WorkQuestionsIntroductionBased on the paperAgent-oriented ProgrammingBy Yoav Shoham (Feb 1992)Highly Cited (1619) – Google ScholarDefinitionsAgent“… an entity whose state is viewed as consisting of mental components such as beliefs, capabilities, choices, and commitments.”This means anythingBut what is gained by adopting this viewpoint?Agent - Example“It is perfectly coherent to treat a light switch as a (very cooperative) agent with the capability of transmitting current at will, who invariably transmits current when it believes that we want it transmitted and not otherwise; flicking the switch is simply our way of communicating our desires. However, while this is a coherent view, it does not buy us anything, since we essentially understand the mechanism sufficiently to have a simpler, mechanistic description of its behavior.”Agent Oriented ProgrammingAgent Oriented Programming (AOP)Based off of Object Oriented Programming (OOP)Original form – –Individual separate modules communicating with each other –Individual ways of handling incoming messagesFixes the State (called Mental State) of the modules (called Agents) to consist ofBeliefsCapabilitiesDecisionsAOP ConstraintsMental State components of Agents have precisely defined syntaxOther real-world counterpart constraintsCan not have two contradictory beliefs at the same timeBased off of speech act theoryMessages between agent canInformRequestOfferOOP vs AOPOOP AOPBasic Unit Object AgentParameters defining state of basic unitUnconstrained Beliefs, commitments, capabilities, choices…Process of computationMessage passing and response methodsMessage passing and response methodsTypes of messages Unconstrained Inform, request, offer, promise, decline…Constraints on messagesNone Honesty, consistency…AOP FrameworkThree main componentsFormal language with clear syntax and semantics for describing mental stateInterpreted language in which to define and program agentsAn “agentifier” to convert neutral devices into programmable agentsPaper really only addresses the first two componentsMental StateDecisions (or choices)Goes on to redefine these as obligations with decisions merely being regarded as obligations to oneselfBeliefsRefer to belief about the state of the world at a particular timeCapabilitiesCan refer to self or other agentsMental State LanguageLanguage similar to logic languages (LISP, ProLog, etc…)In fact implementation in LISPTime component Robot is holding the cup at time t tcuprobotholding ,BeliefModal Operator B (Belief) a is an agentt is a time termφ is a recursively defined sentenceExample Means that at time 3 agent a believes that at time 10 agent b will believe that at time 7 a liked btaB7103),( balikeBBbaObligationModal Operator OBL (Obligation) means that at time t agent a is obligated (or commited) to agent b about φActions are represented as facts thus the agent is obligated to a fact holding rather than to taking an actiontbaOBL,DecisionDecisions are defined as obligations to oneself Decisions are something that the agent has decided to be truetaadeftaOBLDEC,CapabilityModal Operator CAN (Capability) means that at time t a is capable of φFor Example :At time 5 the robot might be able to ensure that the door is open at time 8 but at time 6 it might not have that capability any longertaCAN 85dooropenCANrobotAbleABLE is the immediate version of CAN Defining time(φ) to be the outermost time occurring in itAnd therefore timeadefaCANABLE 555dooropenCANdooropenABLErobotrobotMental State ConstraintsInternal ConsistencyBeliefs & obligations are internally consistent Good FaithAgents only commit to what they believe themselves capable of and only if they really mean it IntrospectionAgents have total introspective capabilities and are aware of their obligations consistent is ::,any for taBatconsistent is b somefor ::,any for ,tbaOBLat atatbaABLEBOBLbat,:,,,any for tbatatbaOBLBOBLbat,,:,,,any for tbatatbaOBLBOBLbat,,:,,,any for Persistence of Mental StateBeliefs persist by defaultThe absence of beliefs also persists by defaultObligations by their nature also persist until revokedEither by completion, release by obligatory party, or loss of capability to fulfill obligationGeneric Agent InterpreterAgent behaviorTwo step loopRead the current messages, update mental stateExecute the commitments for the current time (possibly resulting in further belief change)This loop is initiated at regular intervals set by the interpreter ‘clock’ using an internal timegrain valueAgent Interpreter Flow DiagramAGENT-0Simple AOP language and its interpreterProof of concept developed to support the framework Very simplisticFact statements are atomic objective statements and can not contain conjunction or disjunctionAGENT-0 LanguageActionsMay be Private or CommunicativeMay be Conditional or UnconditionalPrivate ActionsMay or may not involve I/OCommunicative ActionsAlways involve I/OAre uniform and common across all agentsActionsPrivate action Inform action Request action Unrequest action Refrain action actionptDO factatINFORM actionatREQUEST actionatUNREQUEST actionREFRAINWHERE t – time pointa – agent namep-action – private actionfact – fact statementaction – any action statementConditional ActionsConditional actions are triggered by one condition – a mental conditionMental condition: a logical combination of mental patternsMental pattern is one of two items: Syntax for Conditional Action Example if at time t you believe that at time t' smith is an employee of acme, then at time t inform agent a of that fact actionaOBLfactB or actionmntlcondIF
View Full Document