• Save
Introductionto agents
Upcoming SlideShare
Loading in...5
×
 

Introductionto agents

on

  • 427 views

 

Statistics

Views

Total Views
427
Views on SlideShare
427
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • These six reasons are discussed at greater length in Section 2 of the paper that I will hand out after the tutorial.
  • The Sumatra chat server is presented in [RASS97] M. Ranganthan, Anurag Acharya, Shamik Sharma and Joel Saltz. Network-aware Mobile Programs. In Proceedings of the 1997 Usenix Technical Conference , pages 91-104, 1997. and also mentioned in Section 2.2.3 of the paper.
  • In this block of the seminar It will be defined what is a Software Agent What are the attributes and types of Agents
  • Speaker Notes: Agent technology can be traced back to 1970 Carl Hewitt proposed a model based on Actors. Actors, are objects self-contained, interactive and concurrently executing Gradually actor based systems became multi-agent systems as known today
  • Speaker Notes: The term agent has been misused by publishers, scientists and the industry. This obscures the technology real attributes, benefits and issues The community had set a minimum requirements that must be satisfied by any application
  • Speaker Notes: Considering that each requirement overlaps each other at the same point, the resulting intersecting areas represent all the categories of agents possible Anything outside is not an Agent Experts systems.- Are autonomous, but not cooperate or learn Knowledge systems .- Are passive and not autonomous Distributed Process, such as MPI, Java, JNI can move and cooperate but do not have knowledge and are not autonomous. Objects (C++, Java, Eiffel) are not agents. Agents can be built upon objects
  • Speaker Notes: Pleides is a distributes collaborative agent architecture with two layers. Layer 1. Task-specific collaborative agents (T-A) work on behalf of the user Layer 2. Information collaborative agents (I-A) that provide information to Layer 1 agents Interface agents get their data from database agents
  • Speaker Notes: Virtual environments Full body interaction between humans and a virtual world inhabitant agents Stock Trading
  • Speaker Notes: Can be used in reconfigure mobile computing A niche for this type of application is in wireless applications Network traffic management and QoS.
  • Speaker Notes: Can be used in reconfigure mobile computing A niche for this type of application is in wireless applications Network traffic management and QoS.
  • Speaker Notes: Brooks in 1991 defined the famous Sumptom architecture Does not maintain Symbolic models of the real world No planned behavior Reactive agents are viewed as a collection of modules that interoperate autonomously
  • Speaker Notes: Example uses a mix of reactive agents and collaborative agents BBL, contains a set of patterns of behavior describing the agent reactive skills LPL, is goal oriented CPL, enables agents to plan and cooperate to achieve multi-agent plans This architecture has being used on and autonomous robotic system
  • Speaker Notes: We should ask about an agent Is the agent behaving appropriately in its social context? It is causing social stress? It is a good citizen Example Julia a TinyMUD built in CMU Julia abilities were maintain conversations with MUD users, keep links to rooms and statistics Julia in a session was perceived by a human female as a boring human centered in Hockey
  • Speaker Notes: This block of the seminar Discuses what are Autonomous-Mobile Agents, their attributes and how they work
  • Speaker Notes: Autonomous Agents cooperate,learn and are proactive
  • Speaker Notes: It is coherent to treat an stock order matching component as a cooperative agent with the capability of finding the best priced order when it beliefs that we want to sell/buy to profit and not otherwise. Entering an order to sell/buy is our way to communicate our desires to the system.
  • Speaker Notes: It is coherent to treat an stock order matching component as a cooperative agent with the capability of finding the best priced order when it beliefs that we want to sell/buy to profit and not otherwise. Entering an order to sell/buy is our way to communicate our desires to the system.
  • Speaker Notes:
  • Speaker Notes: Can be used in reconfigure mobile computing A niche for this type of application is in wireless applications Network traffic management and QoS.
  • Speaker Notes: Strong Mobility More convenient for the agent programmer Subsumes weak mobility Weak Mobility Sufficient for all but load-balancing applications Well suited to the event-driven style of many agents Much less work for the system developer Supported by standard Java virtual machines
  • Speaker Notes: This block of the seminar Discuses what are Autonomous-Mobile Agents, their attributes and how they work
  • This graph shows the base performance of the D’Agents system (migration and messages) relative to a raw TCP/IP connection. A similar graph appears in the paper, but shows the base performance for Tcl , rather than Java, agents.
  • Speaker Notes: This block of the seminar Discuses what are Autonomous-Mobile Agents, their attributes and how they work
  • Speaker Notes: Agent Oriented Software Engineering Are a techniques for analyzing, designing and building complex systems Intelligent Software Engineering Describe the need for developing formalism for the design of agent based applications Agent Design Patterns The architectural patterns describe those patterns that have to do with the modeling of enabling agent systems, interaction between agents, and knowledge acquisition among other. Mobile Agent Patterns describe different mobility patterns an agent can follow, some performance results are presented to proof the benefits of using agent mobility.
  • The system is composed of inter-related sub-systems each of which is in itself a hierarchy
  • Speaker Notes: After several years researching how to create enabling Agent platforms, now researchers are focusing on new software engineering principles for the creation of Agent application
  • Speaker Notes: Design patterns are modern object oriented design methodology that was originated in civil engineering. The goal of a design pattern is to represent a relation between a problem its context and a solution. To realize the benefits promised using Agent technology it is necessary to have a repository of well defined design patterns.
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes: Items in blue are discussed in detail. The others are particular cases of them or not to relevant
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes: The goal of each trader was to buy a certain stock at the same price, before the opponent. One trader is static on Host A and a roving agent starts at A with an itinerary
  • Speaker Notes: This project was presented at the International Symposium on Robotics and Automation. September 1-4, 2002
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:
  • Speaker Notes:

Introductionto agents Introductionto agents Presentation Transcript

  • “ Introduction to AutonomousMobile Agents"Juan Ramón AcostaNetwork Computing LaboratoryNortheastern University
  • Introduction to Autonomous Mobile Agents 2OutlineIntroduction1. Software Agents: Basics2. Autonomous-Mobile Agents3. Enabling Technologies4. Application Engineering
  • Introduction to Autonomous Mobile Agents 3Network Computing LabHead:Dr. Dimiter R. AvreskyMembers:Natcho NatchevJuan Ramón AcostaYavutz VarogluMarin MarinovSteve FrechetLuke Demoraski
  • Introduction to Autonomous Mobile Agents 4Our Interests Optimization and Performance Analysis Fault-Tolerance Interconnection Networks Distributed Parallel Systems & NetworkComputers Protocol Validation, Efficient andReliable Routing Agent Applications
  • Introduction to Autonomous Mobile Agents 5Where to apply Agents Transparent Resource Allocation System Fault Tolerance System Performance Improvement Dynamic Network Reconfiguration
  • Introduction to Autonomous Mobile Agents 6Network ComputingDiscipline that studies homogenous andheterogeneous Multi-computers andclusters that are built using readilyavailable components and System AreaNetworks (SANs)
  • Introduction to Autonomous Mobile Agents 7 Reduce bandwidth usage Reduce total completion time Reduce latency Continue when disconnected Balance load Dynamically deploy componentsReasons for Using Agents
  • Introduction to Autonomous Mobile Agents 8DatasetDatasetDatasetDynamicallyselectedproxy siteMerged andfiltered datastreamReason 1:Reduce Bandwidth Usage
  • Introduction to Autonomous Mobile Agents 9DatasetDatasetDatasetFact• Sending an agent avoids remote interaction.Goal• Avoiding remote interaction leads to fastercompletion times.Current Systems• Do not meet the goal in all network environments• Tradeoff: Local interaction vs. interpretiveoverheadReason 2: Reduce Total Time
  • Introduction to Autonomous Mobile Agents 10Reason 3: Reduce LatencySumatra chat server[RASS97]1. Observehigh averagelatency toclients2. Move tobetter location2 to 4 timessmaller latencyin trial runs
  • Introduction to Autonomous Mobile Agents 11Reason 4: Disconnected OperationDatasetDatasetDatasetDynamicallyselectedproxy siteXAgent continues its task evenif the link to its home machinegoes down (temporarily).
  • Introduction to Autonomous Mobile Agents 12Reason 5: Load BalancingMachine A Machine BMachine A Machine BAgent moves tobalance load
  • Introduction to Autonomous Mobile Agents 13Reason 6: Dynamic DeploymentDatasetDataset
  • Section 1Software Agents:Basics
  • Introduction to Autonomous Mobile Agents 15Origins In 1970, Carl Hewitt proposed the “Actor Model” Actor, a computational Agent with an address andbehavior that communicates with other viamessage-passing Based on Distributed Artificial Intelligence (DAI) andParallel Artificial Intelligence (PAI) theories andformalisms Systems based on Actors became Multi-AgentSystems (MAS)
  • Introduction to Autonomous Mobile Agents 16DefinitionAgent is a software/hardware component thatcooperate with other agents, interacts with itsenvironment, learns, is autonomous and has asocial contract with its userRequirements: Cooperate with other Agents Learn (Interact with its Environment) Be Autonomous
  • Introduction to Autonomous Mobile Agents 17Cooperate LearnAutonomousSmartAgentsCollaborativeAgentsInterfaceAgentsCollaborativeLearningAgentsWhat is not an Agent Anything outside theintersecting areas is not anAgent Not Agents are: ExpertSystems, Knowledge Systemsand Distributed Processes Agents operate at knowledgelevel not symbol level [Foner93] and Pattie Mae,“Current commercially availableagents barely justify their name”Figure 1. Agent Categories [Nwana95]
  • Introduction to Autonomous Mobile Agents 18Collaborative AgentsAttributes:Autonomous, Social Ability,Responsiveness and Pro-ActivenessGoals:Create a system thatInterconnects other agentsto assemble a more complexFunctionApplications:Distributed Sensor Networks,Air Traffic Control and EnhanceReliabilityUser 1 User 2 User 3D-B1 D-B2 D-BnI-A1 I-A2 I-AnT-A1 T-A2 T-AnProposedSolutionTaskLayer 1Layer 2InfosphereFigure 2. The Pleiades Architecture atCarnegie Mellon University (CMU)
  • Introduction to Autonomous Mobile Agents 19Interface AgentsAttributes:Emphasis on autonomy andLearning in order to performTasks on behalf of the userGoals:Promote cooperation betweenend users and software agentsApplications:Assistants(Travelers,Schedulers)Memory Aid, Filters, MatchMaking, Buying or Selling onbehalfApplicationUser A’sAgentUser’sAgentUserAskingUser feedbackProgramming by exampleFigure 3. How Interface Agents Workby Pattie MaesInteractsInteracts withCommunicationObservesandImitates
  • Introduction to Autonomous Mobile Agents 20Mobile AgentsAttributes:Computational process capableof roaming the network gatheringinformation on behalf of theirOwner to return later “home”Goals:Reduce communication costs,Maximize local resources usage,Create a flexible distributedcomputing environmentApplications:Personal intelligentcommunicators, Emergency Alertsystems, Reconfigurable MobileComputing, Network RoutingAASensorSensorA1A1ServerEmail NotificationSMS NotificationInstall AlarmFigure 4. Whether Alarm System [Johansen99]
  • Introduction to Autonomous Mobile Agents 21InformationInternet AgentsAttributes:Manage or collate information fromDistributed sources and haveKnowledge where to look for andfind informationGoals:Provide an expressive integratedinterface to the InternetApplications:Filtering Email, Meeting Schedulers,System Maintenance, Newspapersonline.UserInformationAgent ProgramLycosLocal cacheWebCrawler North Star RobotSpiderMite WAISURL SearchDBMSWorld WideWebFigure 5. WebBot running in Browser[Nwana95]
  • Introduction to Autonomous Mobile Agents 22Reactive AgentsAttributes:Respond to stimulus generatedBy the environment, managescomplex patterns that emergefrom this behaviorGoals:Used to build systems with nointernal symbolic models andWhose “smartness” derives frominteractionsApplications:Physical Robots, Video games, VirtualWorlds and Real-Time embeddedsystemsWonderAvoid ObstaclesExploreSENSISNGACTINGFigure 6. Brook’s Sumpton Architecture[Nwana95]
  • Introduction to Autonomous Mobile Agents 23Hybrid AgentsAttributes:Agents constructed combiningone or more of the agenttypes mentioned earlier.Goals:Maximize the strengths andminimize deficiencies of sometechniquesMental ModelWorld ModelSocial ModelSG PSSG PSSG PSPerception Communication ActionAgent KB Agent Central UnitCooperative Planing Layer (CPL)Local Planing Layer (LPL)Behavior Based Layer (BBL)World Interface/BodyFigure 7. The InteRRaP Hybrid Architecture[Nwana95]
  • Introduction to Autonomous Mobile Agents 24Sociological View of Agents According to Leonard N. Foner, Agents must have a“Social Contract” Contract must include: Discourse Risk and Trust Graceful Degradation Anthropomorphism Expectation Agents and their applications “need to be subject tosame behavioral analysis as human” An example: Julia TinyMUD developed at CarnegieMellon University can start polemical discussions
  • Section 2Autonomous MobileAgents
  • Introduction to Autonomous Mobile Agents 26Autonomous Mobile Agents“ Components that operate without direct intervention ofhumans, have control over its actions, internal state basedon knowledge and have the capacity to migrate frommachine to machine”AASensorSensorA1A1ServerEmail NotificationSMS NotificationInstall AlarmFigure 8. Whether Alarm System [Johansen99]
  • Introduction to Autonomous Mobile Agents 27Attributes Behavior can be predicted using beliefs,desires and rationality Make choices based on what they knowabout the world Roam the network using knowledge Create a flexible distributed environment
  • Introduction to Autonomous Mobile Agents 28Agents as Intentional Systems Agent behavior can be predicted using beliefs,desires and rationality Attitudes to represent an Agent Information.- Refers to the information de agent hasabout the world it occupies, .e.g. Belief and Knowledge Pro-Attitudes.- Those that guide Agent Actions, e.g.Desire, intention, obligation, commitment, etc. Agents make choices and form intentions on thebasis they have about the world, e.g. “stock ordermatching rules”
  • Introduction to Autonomous Mobile Agents 29Representation of Intentions Possible Worlds [Wooldrige94], semantic representation ofbeliefs, knowledge. Goals are a set of states consideredpossible Uses classical prepositional logic extended with two newoperators: = necessarily and = possibly Omniscience Problem, An Agent knows all propositiontautologies then the agent knowledge is closed underlogical consequence Alternatives to this problem: Belief and Awareness, andDeduction Model Meta-Languages [Wooldrige94], a syntactic representationbetween a Meta-Term and Agent.
  • Introduction to Autonomous Mobile Agents 30Mobile Agent Computing ModelCommunication Infrastructure(SCI, Myrinet, ServerNet, VIA, Ethernet, etc…)Message-PassingSubsystemAgent ExecutionEnvironmentClient ApplicationEnvironmentMessage-PassingSubsystemAgent ExecutionEnvironmentClient ApplicationEnvironmentRPC, JNI,MPI, PVM,CORBATcl/tk, Java, C++J.R.Acosta defines the three bottom layers as an Agent Service Broker
  • Introduction to Autonomous Mobile Agents 31Agent Process Migration Strong Mobility Data, Code andControl Block Weak Mobility Data and CodeAgentRunprc_cntl_blckCtrlBlckIDCtrlBlckAgentSuspIDCtrlBlckCtrlBlckAgentRunClient Application Server Application7. Resume1. Migrate2. Suspend3.GenerateBundle4. Transmit5. ReceiveBundle6. SpawnNewProcess6. RestoreState8. InteractHost A Host BAgentSuspCodeCodeFigure 10. Process Migration
  • Introduction to Autonomous Mobile Agents 32Advantages Access resources locally and eliminatestransfer of intermediate data, incrementingefficiency Do not require permanent connections Load Balance Reduce Latency Portable and secure (Uses interpretedlanguages)
  • Section 3Enabling Technologies
  • Introduction to Autonomous Mobile Agents 34Aglets• Java• Weak mobility• Event-driven programming model(dispatch, onDispatching, onArrival, …)• Persistent store• “Proxies” for location transparency• Machine protectionhttp://www.trl.ibm.co.jp/aglets/IBM
  • Introduction to Autonomous Mobile Agents 35Jumping BeansCentralDomainServerAgency“Mini-server”Agency AgencyJumpthroughcentralserver• Java• Weak mobility• Central server for tracking,managing and authenticatingagents (but also failure pointand bottleneck)• Persistent store• Machine protectionhttp://www.JumpingBeans.com/Ad Astra Engineering
  • Introduction to Autonomous Mobile Agents 36Voyager• Java• Built on top of CORBA• Weak mobility• Persistent store• Federated directory service and group communication(multicast)• Machine protectionObjectSpacehttp://www.objectspace.com/products/
  • Introduction to Autonomous Mobile Agents 37Tacoma• C, Tcl/Tk, Scheme, Python, Perl (publicrelease), several more internally• Weak mobility• Single, simple abstraction: meet– Easy to add a new language– Less opportunity for optimization• Machine protectionUniversity of Tromsø / Cornell Universityhttp://www.tacoma.cs.uit.no/
  • Introduction to Autonomous Mobile Agents 38D’Agents (a.k.a Agent Tcl) Started by RobertGray in Spring, 1994 Only system withstrong mobility Multiple Languages Tcl, Java and Schema Support Services Directory service Tracker Mobile Computing Performance Improving Communication andMigrations areExpensive Security Machine Protection Agent Protection inTransit No Agent Protectionwhile on a Machine
  • Introduction to Autonomous Mobile Agents 39D’Agents: ArchitectureFigure 11. Agent Tcl Architecture [Gray97]Transport (TCP/IP)Server EngineJavaVMSchemeInterpTclInterpAgentsVM / InterpreterSecurityStateCaptureVMServerstubs
  • Introduction to Autonomous Mobile Agents 40D’Agents: ExampleMachine ZParentMachine AChildChild1. Submitchild...2. Jump3. Sendresults
  • Introduction to Autonomous Mobile Agents 41D’Agents: Tcl Programmingproc child {machines} {global agent# migrate through machinesset results {}foreach machine $machines {# do task, update resultsagent_jump $machine}# send back results and endagent_send $agent(root) 0 $resultsagent_end}agent_begin# submit childset machines {A B …}agent_submit $agent(local-server) -procs child -vars machines -script {child $machines}# get resultsagent_receive code results -blockingputs $resultsagent_endChild Agent Parent Agent
  • Introduction to Autonomous Mobile Agents 42D’Agents: Java Programming// Parent Agent// register with the agent systemAgent a = new Agent();AgentId id = a.begin (10); // timeout after 10 seconds// submit the child agentVector machines = new Vector();machines.addElement (new String (“A”));machines.addElement (new String (”B"));ChildAgent childAgent = new ChildAgent (machines);AgentId childId = a.submit (“localhost”, childAgent, 10);// wait for and display the result and then endRecMessage result = a.receive (10);System.out.println (result.getMessage());a.end (10);
  • Introduction to Autonomous Mobile Agents 43D’Agents: Java Programming(Cont…)class ChildAgent extends AgentEntryPoint {private Vector m_machines; // machine listpublic ChildAgent (Vector machines){ m_machines = machines; }public void run (Agent a) {String results = "";// migrate through all the machines in the listfor (int i = 0; i < m_machines.size(); ++i) {//do tasks, update resultsString machine = (String) m_machines.elementAt (i);a.jump (machine, 10);}// send back result and exitMessage message = new Message (0, results);a.send (a.getRootId(), message, 10); a.end (10);}}
  • Introduction to Autonomous Mobile Agents 44D’Agents: Performance0204060801001201401601802000 5000 10000 15000 20000 25000 30000Payload or Message Size (bytes)Time(milliseconds) D’Agents (Migration)D’Agents (Messages)TCP/IP connection10 Mb/sNetworkFigure 12. Base Performance [Gray2000]
  • Introduction to Autonomous Mobile Agents 45What Lowers Performance?1. All messages through server (plus TCP/IP)ServerMachine A Machine BTCP/IPconnection ServerMachine AServerTclInterpTCP/IPconnectionjump2. Interpreter initialization (plus TCP/IP)
  • Introduction to Autonomous Mobile Agents 46D’Agents: Security Main concerns Protect the Machine from an Agent Protect Agents Protect Group of Machines Authentication RSA public-key cryptography to authenticateagent’s owners Pretty Good Privacy (PGP) algorithm for digitalsignatures and encryption for Agent migration andcommunication
  • Introduction to Autonomous Mobile Agents 47FilesystemManagerD’Agents: Protecting the MachineServerkernelSecurityFilesTcl Agent(digitally signed)1. Authenticate2. Accept or reject3. Resume execution4. open tutorial.ppt r5. Access request (read)and security vector{owner, untrusted machines?}6. Yes / no /quantity7. If yes,openTclInterpeter
  • Introduction to Autonomous Mobile Agents 48Going Forward Improve access restrictions andresource scheduling for mostapplication environments Remote communication as fast as RPC Just-in-Time compilation with codecashing
  • Section 4Application Engineering
  • Introduction to Autonomous Mobile Agents 50Application Engineering Agent Oriented Software Engineering Intelligent Software Engineering Agent Design Patterns
  • Introduction to Autonomous Mobile Agents 51Agent Oriented SoftwareEngineering Specifies that a complex system can berepresented as a hierarchy Agents are: Problem solving entities in an environment Fulfill a specific role Control both their internal state and behavior Adopt goals and take initiative to satisfy theirdesign objectives
  • Introduction to Autonomous Mobile Agents 52Agent Oriented SoftwareCycleImplementation:Execute,CompileVerification:Axiomatic&SemanticSpecification:Beliefs, goals,actions andcontinuous interaction
  • Introduction to Autonomous Mobile Agents 53Intelligent Software Engineering[Deugo99] Concerned with the creation of principles todescribe intelligent software patterns Combine Patterns and Artificial IntelligenceTechniques Produce Complex and Intelligent SoftwareProducts Agent Patters are Intelligent SoftwarePatterns
  • Introduction to Autonomous Mobile Agents 54Design Patterns Created by Christopher Alexander. Applied toArchitecture Relation between a problem, its context and thesolution Format: Name .- Descriptive name for the pattern Problem.- Clear description of the problem to be solved Context.- Situation when the pattern might be applied Forces .- Items that restrict or influence when to applythe pattern Solution.- Solution in the context that balances the forces
  • Introduction to Autonomous Mobile Agents 55Agent Design Patterns Architectural Patterns, describe agent systemarchitecture Interaction Patterns, describe how agentscommunicate with each other Agent Mobility Patterns, describe how agentroam the network
  • Introduction to Autonomous Mobile Agents 56Architectural PatternsName:Layered Agent PatternProblem:What software architecture bestsupports the behavior of agentsForces: Agent system spans several levels ofabstraction Software must include all aspects ofagency Be able to address simple andsophisticated agent behaviorSolution:Agents and the system needs arediscomposed into six layersMobilityCollaborationActionsReasoningBeliefsSensoryFigure 13. Layered Agent pattern,[Kendall98]
  • Introduction to Autonomous Mobile Agents 57Interaction Patterns Direct Coupling Point to point, Ack/Req, Agents do not move Proxy Agent Communication Session Badges Event Dispatcher
  • Introduction to Autonomous Mobile Agents 58Proxy Agent Pattern [Deugo99]Name:Proxy Agent PatternProblem:If the Agent sending a message does notexpect the receiving Agent to move orDirect Coupling pattern is not applicablefor performance reasons, how do mobileagent communicate with others ?Forces: Mobile Agents change often position Communication peer-to-peer Required communication with staticAgentsClient AgentProxy AgentServer AgentFigure 14. Proxy Agent patternSolution: When Agent movesaway, agent creates proxyAgent at its home location
  • Introduction to Autonomous Mobile Agents 59Badges Pattern [Deugo99]Name:Badges PatternProblem:How can an Agent find a suitablecommunicating Agent withoutspecifying a concrete Agent?Forces: Communicating Agents are not knownin advance and can change Design must be flexible and general After identifying communicating agentscommunication should be directSolution:Attach badges to agents. A place providesa service to find a local agentcarrying certain badge.Badge CBadge BBadge ALook for Badge BFigure 15. Badges PatternAfter finding an availableagent communication starts
  • Introduction to Autonomous Mobile Agents 60Agent Mobility Patterns By Passer Commuter Interface Isolator Monitor Rover
  • Introduction to Autonomous Mobile Agents 61By Passer Pattern [Hung2002]Agents Used to avoid unreliablelinks Works on behalf of theclient When finished it returnsto home If an Agent does notreturn the pattern isthen called CommuterServerAgentClientFigure 16. By Passer Pattern
  • Introduction to Autonomous Mobile Agents 62Interface Pattern [Hung2002]Agents Act as intermediarybetween a client and aserver Execute anywhere All communicationbetween client andserver goes through theAgent If simple messaginggoes through the Agentpattern is called MonitorServerAgentClientFigure 17. Interface Pattern
  • Introduction to Autonomous Mobile Agents 63Rover Pattern [Hung2002]Agents Visits several sitesin sequence usingan itinerary Streamline recoverymodel Helps to reducenetwork congestionServerAgentClientServerAgentServerAgentAgentFigure 18. Rover Pattern
  • Introduction to Autonomous Mobile Agents 64Performance of AgentPatternsStockServerRovingAgentRovingAgentRovingAgentStaticAgentTrader Host Roving TraderSuccess Rate95% ConfidenceIntervalHost A 50.8% ±1.4%Host B 100.0% ±0.0%Host C 100.0% ±0.0%Host AHost BHost CFigure 19. TradingSystem[Hung2002]Agents competeto match the bestsale order of anspecific StockSymbol
  • Introduction to Autonomous Mobile Agents 65Case Study Current Architecture Pattern Identification Agent ArchitectureSelf-Organized Multi-Modular RoboticControlDr. José Negrete-MartínezFacultad de Física e Inteligencia ArtificialUniversidad Veracruzana, MéxicoFigure 20. Modular Robot [Negrete 2002]
  • Introduction to Autonomous Mobile Agents 66Case Study: Current ArchitectureMotor(j)BDS Rotating(j)m Payoff(j)IRS AFD ADnMotor(j)BDS Probing(j)Payoff(i)IRS AFD ADSoftwareMechatronicIRS .- Infrared Square WaveDS .- Computer-servo’s interfaceAFD.- Amplifier-Filter-Detector CircuitAD.- Interface between AFD andComputerDS.- Computer-servo’s Interfacem,n .- Memory RegisterPayoff(k).- function that calculates the sign of the differenceof light intensity before and after the module’s motor actionDecision(k).-function that adds a signed step to the presentposition of the Motor(i). The Decision(i) function calls thePayoff(i) functionFigure 21. Modular Architecture[Negrete 2002]
  • Introduction to Autonomous Mobile Agents 67Case Study: Pattern Identification Layered Agent Pattern, Use of Agent System thatsupports mobility Monitor Pattern, Data Acquisition Agent in charge ofreceiving Infra Red Signal and determining variationon light intensity Commuter Pattern, Action Agents in charge ofexecuting the ‘Two Arm Bandit’ learning algorithm thatinputs the Payoff value and invoking and OrientationAgent Event Dispatcher Pattern, Action Agent to report stepmotor movement Interface Pattern, Motor Driver Agents that interfaceswith servo motor interface and a Action Agent
  • Introduction to Autonomous Mobile Agents 68DesitionAgentCase Study: Agent ArchitectureMotor DriverAgentActionAgentSoftwareMechatronicOrientationAgentDSIRS AFD ADMotormoveMotorEventexecuteOtherActionmakeDesitiondetermineOrintationhaltActioEventnewReadingstepMotorFigure 10. Agent ArchitectureDataAquisitionAgent
  • Introduction to Autonomous Mobile Agents 69Case Study: Results Architecture is scalable and distributed Allows parallel continuous activity Remains Modular and better separation ofconcerns Abstracts hardware Interfaces, more generic Enables System for Distributed Network orGrid Computing
  • Introduction to Autonomous Mobile Agents 70ConclusionsAgent technology promises big improvementsover traditional technologies and positionsitself as the future technology for complex softwaresystems.However, as any other technology, it is onlygood if it profs itself useful and people is willingto spend time with it to solve problemsOtherwise it is a nice try