240 likes | 368 Views
Dynamic Matchmaking between Messages and Services in Multi-Agent Systems. Muhammed Al-Muhammed May 3, 2004. Support in part by NSF. Motivations. Agents cooperate to achieve goals Cooperation needs communication Communication possible if agents: share ontologies, speak the same language,
E N D
Dynamic Matchmaking between Messages and Services inMulti-Agent Systems Muhammed Al-Muhammed May 3, 2004 Support in part by NSF
Motivations • Agents cooperate to achieve goals • Cooperation needs communication • Communication possible if agents: • share ontologies, • speak the same language, • pre-agree on a message format.
Agents must: The Problem 1- share ontologies, 2- speak the same language, 3- pre-agree on message format. • Requiring these assumptions precludes agents from interoperating on the fly “The holy grail of semantic integration in architectures” is to “allow two agents to generate needed mappings between them on the fly without a priori agreement and without them having built-in knowledge of any common ontology.” [Uschold 02]
This requires: - Translating (developing mutual understanding) Agents must: Solution 1- share ontologies, 2- speak the same language, 3- pre-agree on message format. • Eliminate all assumptions -Dynamically capturing a message’s semantics - Matching a message with a service
Matchmaking System MatchMaking System (MMS) Message-Service Matching Message Handling Response Handling Global Domain Ontology Services (Agent- Independent Representation) Translation Repository Service Analysis Mapping Translation An Agent Local Ontology Services
Global Ontology Creation MatchMaking System (MMS) Message-Service Matching Message Handling Response Handling Concept Recognizers: ProcessorType: (Processor)(Type|Class) ProcessorSpeed: (Processor)(Speed)|(Processor)(Clock)(Speed) … Unit of Measurement Recognizers: ProcessorSpeed Unit: (GHz|MHz) … Global Domain Ontology Services (Agent- Independent Representation) Translation Repository Service Analysis Mapping Translation An Agent
Local-Global Mappings (Initialization) MatchMaking System (MMS) Message-Service Matching Message Handling Response Handling Global Domain Ontology Services (Agent- Independent Representation) Translation Repository Concepts: (Local, Global) ------------------------------------ (ProcessorClockSpeed, ProcessorSpeed) (ProcessorClass, ProcessorType) … Units: ProcessorSpeed: GHz Service Analysis Mapping Translation An Agent … double ProcessorClockSpeed; //GHz String ProcessorClass; …
Service Analysis (Initialization) MatchMaking System (MMS) Message-Service Matching Message Handling Response Handling Global Domain Ontology Services (Agent- Independent Representation) Translation Repository Service Analysis Mapping Translation An Agent … public PcInfo getPcInfo (double RAM){…} public int getPrice (String ProcessorClass , double ProcessorClockSpeed ) {…} //output: Price public int getAmt(String Processor ) {…} //type definition class PcInfo {String ProcessorClockSpeed; //GHz String ProcessorClass; …;} An Agent … public PcInfo getPcInfo (double RAM){…} public int getPrice (String ProcessorClass , double ProcessorClockSpeed ) {…} //output: Price public int getAmt(String Processor ) {…} //type definition class PcInfo {String ProcessorClockSpeed; //GHz String ProcessorClass; …;}
MMS.sendString (“ProcessorClockSpeed = 2.6 GHz” ); MMS.sendString,(“ProcessorClass = Pentium 4”); double Price = MMS.sendDouble(“getPrice”); Requests Rewriting (Initialization) MatchMaking System (MMS) Message-Service Matching Message Handling Response Handling Global Domain Ontology Services (Agent- Independent Representation) Translation Repository Service Analysis Mapping Translation An Agent … String ProcessorClockSpeed; //GHz String ProcessorClass; double Price; //US$ Price = getPrice(“ProcessorClockSpeed = 2.6 GHz”, “ProcessorClass = Pentium 4”);
KQML String ProcessorClockSpeed; //GHz String ProcessorClass; double Price; //US$ MMS.sendString(“ProcessorClockSpeed = 2.6 GHz”); MMS.sendString(“ProcessorClass = Pentium 4”); Price = MMS.sendDouble(“getPrice”); Price = $1000 Matchmaking System (Operation) MMS MMS Message-Service Matching Message-Service Matching Message Handling Message Handling Global Ontology Global Ontology Response Handling Response Handling Services (Agent- Independent Representation) Services (Agent- Independent Representation) Translation Repository Translation Repository Mapping Mapping Translation Translation Service Analysis Service Analysis Agent 2 Agent 1 ?
Test Cases • Real-World Test Cases • Computer Shopping • Book Shopping • Meeting Scheduling • Agents Coded w.r.t. • Each web site (for shopping applications) • Each individual’s worksheet (for scheduling)
…; ProcessorType; ProcessorSpeed; //GHz …; Agent Creation (Concepts & Units)
getPcInfo Agent Creation (Services) class PcInfo { …; String ProcessorClass; String ProcessorSpeed; //GHz …; } String ReturnType? Name?( Type? InstalledMemory) ReturnInformation?
Results (Computer Shopping, 9 Agents) Tested Processes Concept Recognition Concept Recognition Unit Recognition Data Format Recognition
Results (Computer Shopping) Tested Processes Concept Recognition Unit Recognition Unit Recognition Data Format Recognition
Results (Computer Shopping) Tested Processes Concept Recognition Unit Recognition Data Format Recognition Data Format Recognition
Results (Book Shopping, 4 Agents) Tested Processes Concept Recognition Concept Recognition Unit Recognition Data Format Recognition
Results (Book Shopping) Tested Processes Concept Recognition Unit Recognition Unit Recognition Data Format Recognition
Results (Book Shopping) Tested Processes Concept Recognition Unit Recognition Data Format Recognition Data Format Recognition
Results (Meeting Scheduling, 4 Agents) Tested Processes Concept Recognition Concept Recognition Unit Recognition Data Format Recognition
Results (Meeting Scheduling) Tested Processes Concept Recognition Unit Recognition Unit Recognition Data Format Recognition
Results (Meeting Scheduling) Tested Processes Concept Recognition Unit Recognition Data Format Recognition Data Format Recognition
Contributions • Built an MMS that lets agents communicate with no need to • Share ontologies • Use a common language • Pre-agree on a message format • Tested the MMS on three applications • Concept mappings (~90% accurate) • Mappings for units and data formats (~98% accurate)
Future Work • Generalize the recognizers and adding some reasoning rules • Extend the matchmaking capability to cover partial matching • Handle all types of knowledge sharing among agents.