Presentation on theme: "Agent Based Software Development"— Presentation transcript:
1Agent Based Software Development Michael Luck, Ronald Ashri and Mark d’Inverno
2Agent Architectures What kind of computational entity is an agent? Why architecture?to predict what an agent in its current state will do in its current environmenta methodology or blueprint for building agent systems
3Different Agent Architectures Single-agent (micro)reactive agent architecturesdeliberative agent architecturesHybrid agent architecturesMulti-agent (micro and macro)Macro – norms, protocols, languagesMicro – designing individual agents that can work effectively in a society
4From the Traditional AI View to Reactive Agent Architectures Symbolic (internal) representationManipulate this representation to work out what to do nextMore recent ViewEffective behaviour does not need representation and manipulationSymbolic reasoning is very resource demandingAgents must be situated and embodied with symbol “reflex” rules
5Reactive Agent Architectures behaviour directly coupled with the worldstimulus-response rulesBrooks was a pioneerSubsumption ArchitectureMaes alsoAgent network architecture“Intelligent behaviour is an emergent phenomenon arisiing from the interaction of societies of nonintelligent systems’’
6Subsumption Architectures A means of controlling behaviour of mobiles robots in real time – 3 basic requirementsAgents that can cope with multiple goalsAgents should have multiple sensorsAgents should be robustFunction when some sensors failFunction in dynamic uncertain environments
7Layered Architecture – Task Achieving Behaviours Avoid contact with objectsWanderExploreBuild a map and plan routesNotice environment changeIdentify objects, and perform certain object-related tasksBuild and execute plans to change world in some desirable wayReason about the behaviour of other objects, and modify plans
8Subsumption Architecture Operation Layers unaware of layers above themLayers able to examine details of layers below themEach layer connected to all sensors but only extracts information relevant to that layerLayers can suppress lower layerssuppressing inputsinhibiting outputs
10Pros and Cons of the Subsumption Architecture Showed decomposition by behaviour rather than function was possibleModular structure and a clear control methdolologyImpact on other architecturesConsNo explicit reasoning – how would it scale up?No design methodology – built on intuition rather than a set of guiding principlesDifficult to perform any formal analysis and so predict or explain behaviour
11Agent Network Architecture Based on the notion that intelligent systems consist of societies of mindless interacting systemsConsists of competence modulescompete for behaviour using activationActivation based onwhether a module is currently executableperception of the environmentcurrent goals
12Agent Network Architecture Operation Modules are linkedactivated modules increase the activation of their successorsNon executable models activate their predecessorsAll modules decrease activation of their conflictorsArchitecture is distributed, modular and robust.Has not been extended for designing multi-agent systems in general
13Deliberative Agent Architectures Maintain and manipulate representations of the worldTo model rational or intentional agency use mental attitudesEg. Beliefs, goals, desires, knowledge, plans, motivations, intentions3 Basic categoriesInformative (about the world)Motivational (what drives the agent)Deliberative (directs agent behaviour)
14Why Mental Attidues?First, if an agent can be described in terms of what it knows, what it wants, and what it intends, then,since it is modeled on familiar concepts, it becomes possible for users to understand and predict its behavior.Second, understanding the relationship between these different attitudes and how they affect behavior can provide the control mechanism for intelligent action in general.Third, computational agents designed in this way may be able to interpret the behavior of others independently from any implementation.
15BDI Theory and Architecture Supports many deliberative architecturesBelief, desire and intention (theory)Represented as data structures (beliefs, goals and intentions) which determine the operation of an agentCannot commit to all its goals as resource bounded so selects some which are the agents’ intentions
16Success of BDI Many formal models Generic agent architectures Basis for many previous and current agent architectures (including MAS)Successfully applied to more than just toy problems or simulationsAir traffic controlCustomer-service applications (Agentis)First BDI system known as the Proceedural Reasoning System (PRS)
18PRS Beliefs, goals, intentions and plan library Agent perceive the world through external eventsPlans – proceedural knowledgeRecipes for action (tree labeled with actions and formulas which evaluate to a boolean)Trigger (what an agent must perceive)Context (what an agent must believe)If plans cannot proceed they post internal events
19From Plans to Intentions Agents respond to Internal and External events by selcting an appropriate plan in ts plan based whose trigger and context is trueWhen a plan is adopted it becomes an intentionThis intention become part of the agent’s intention structure
20PRS Operation 1. Perceive the world, and update the set of events. 2. For each event, generate the set of plans whose trigger condition matches the event. These are known as the relevant plans of an event.3. For each event, select the subset of relevant plans whose context condition is satisfied by the agent’s current beliefs. These plans are known as active plans.4. From the set of active plans, select one for execution so that it is now an intention.5. Include this new intention in the current intention structure either by creating a new intention stack or by placing it on the top of an existing stack.6. Select an intention stack, take the topmost intention, and execute the next formula in it.
21AgentSpeak(L)Attempt to bridge the gap between BDI theories (highly abstract) and implemented BDI systemsIt is an abstraction of an implemented BDI systemCaptures essence of a PRS system
22AgentSpeak(L) Data Structures and Operation BeliefsIntentions (sequences of plans)Plans have a trigger, context and a sequence of actions and goalsAgents instantiate plans in response to internal events (goals of executing plans) and external events (which effect a belief change)Agent execute the intentions
23Hybrid Agent Architectures Solely Reactive SystemsCannot reason about their actionsWill never be able to achieve sophisticated behaviourSolely Deliberative SystemsWill never be able to act “in time”If agents are going to be able to survive in complex dynamic environments and achieve complex goals they will need to be If agents are going to be able to survive in complex dynamic environments and achieve complex goals they will need to be both reactive and deliberative
24Touring Machines Based on the following observations: Agents need the ability to deal with unexpected events in the real (physical or electronic) world, and do so at different levels of granularity.Agents need to deal with the dynamism in the environment created by the actions of other agents.Agents must pay attention to environmental change.Agents need to reason about temporal constraints in the knowledge that computation is necessarily resource-bounded.Agents must reason about the impact the short-term actions may have on long-term goals.
25TouringMachines Architectural Layers Reactive layerResponds to events not explicitly programmed in other layers such as obstacle avoidancePlanning LayerGenerating, executing and modifying plansModelling LayerBuilds and maintains models of other agents in the environment
27TouringMachinesEach layer models world at different level of abstractionEach directly connected to perception and actionAny two layers can communicateGlobal rules used when conflicts between layers arise and can surpress perception or actionImportant for showing how to build an agent which exhibited a range of behaviours from deliberative to reactive
28InterRRaP Another layered architecture Based on BDI It is vertically layered in constrast to TouringMachines which are horizontally layeredHorizontally layered – each layer can interact with every other layer and with perceptions and actionsVertically layered – communication only possible between adjacent layersInterRRaP has four such layersThe essential operation of the agent; in response to events in the environment, control spreads upwards until the appropriate level is reached.
30Distributed Agent Architectures Agents described previously may have architecture that enables them to interact effectively with others at run timeHere the design is concerned with individual agents and the dimensions required – micro-level viewMacro-level view – considers a multiagent system from a holistic view, where interaction, coordination and cooperation between agents are designed in advance of run time
31Contract Net Protocol Overview Most commonly employed coordination mechanism for controlling the problem solving behavior of a collection of distributed agentsconcerned with the dynamic configuration and coordination of agents to form hierarchies that can achieve complex, distributed tasks.provides a mechanism by which nodes (or agents) can dynamically create relationships in response to the current processing requirements of the system as a whole, thereby enabling opportunistic task allocation.
32Contract Net Protocol1. A node decomposes a task into a number of subtasks and issues a task announcement describing what needs to be performed with eligibility requirements2. Free nodes bid if they fulfil the eligibility specification3. Once all bids have been received they are ranked and a contract is awarded to the highest ranked bidder4. There is now a contract between the manager who made the task announcement and the bidder (the contractor). Over time, the manager monitors the problem solving and integrates partial results5. The manager terminates a contract with a termination message.
34The Contract Net Hierarchy Subcontracting may take place
35Contract Net SummaryThe contract net protocol was a novel means for dynamically allocating tasks in distributed systemsStill commonly found in many agent systems.However, it offers a very simple coordination mechanismdoes not provide any strategies for global coherenceonly suited to situations in which the tasks are easily decomposable intoonly suitable if agents are not in conflictdoes not support mechanisms for bargaining or negotiatingWe use it to illustrate general principles involved when considering the design of systems from the macrolevel perspective.
36Agentis: Agent Communication Languages FIPA ACLKQMLEncodesDomain specific contentSet of addressessIllocutionaryTypically do not encode how a particular message should be used in the context of a wider communication episodeAgentis – includes set of agent protocols for reliable concurrent request and provision of services and tasks from and to agents.
37Agentis Agent Interaction Model Includes the notions of Services and TasksServices are requested by human usersServices may call upon a series of tasks as part of a service contract
38Other Approaches to MacroLevel Organisation DECAFRapid design and execution of agentsFocus on defining generic behaviours that can be re-usedRETSINAa multiagent infrastructure that comprises a set of services, conventions, and knowledge that enable complex social interactions such as negotiation to take placeTeamCorebased on principle that an agent integration infrastructure (a set of services and conventions) based on theoretical principles of coordination can automate robust coordination among heterogeneous agents in distributed systems
39Other Agent Approaches: Agent-Oriented Programming Another approach to building agents is to design a programming language with semantics based on some theory of rational or intentional agency, such as the BDI model, and to program the desired behavior of individual agents directly using mental attitudes.Agent-Oriented Programming
40Agent-Oriented Programming program comprises a set of transition rules that specify how an agent in a given mental state will respond to an input, which may be a set of messages from other agents, by defining its new mental state and any outputs.One example is PLACA based on AGENT0 which takes a societal view (agents interact with each other to achieve their own goals)
41PLACA ProgramAgent’s state consists of capabilities and its mental state, which comprises beliefs, intentions, and plans.At every step, an agent collects messages that have been received from others and updates its mental state according to its defining program.At the beginning of each execution step, those transition rules that are satisfied in the current state are identified, and applied to the current mental state and messages collected from the input buffer.Once the mental state is updated, messages that need to be sent are placed in the output buffer, and actions that need to be performed are recorded and executed in the next step.If there is sufficient time before the next tick of the clock, the planner may construct and refine current plans for satisfying intentions.
43Concurrent MeTaTeM Also takes a societal view Agents specified using a temporal logic that is directly executableAgents specified using temporal logic formulaAn interpreter attempts to construct a model in which the formula is trueDynamically changing environment also alters the model so responses must be made to what has just been made true or untrue in the model
44Specification of a Controller agent in Concurrent MetaTeM 1. If an agent asks, then eventually give the resource to that agent;2. Do not give to anyone unless they have asked since you last gave to them;3. If you give to two people, then they must be the same person.
45Summary Deliberative vs Reactive Micro vs Macro design for decisions at run time - design occurs before run timeMicro vs Macro