Dynamic Matchmaking between Messages and Services in Multi-Agent Systems Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part by NSF
October 13, Motivation Agents cooperate to achieve goals Cooperation needs communication Communication possible if agents: 1- share ontologies, 2- speak the same language, 3- pre-agree on message format.
October 13, The Problem Requiring these assumptions precludes agents from interoperating on the fly “T he 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] Agents must: 1- share ontologies, 2- speak the same language, 3- pre-agree on message format.
October 13, Solution The problem was, agents must: 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 - Translating (developing mutual understanding) This requires:
October 13, Agent LO: code Services Mapping (MMS ) Message Handling MatchMaking System MatchMaking System (Initialization) Translation Repository Service Analysis Services (Agent- Independent Representation) Translation Response Handling Message-Service Matching Global Ontology
October 13, Some Mapping Problems Local OntologyGlobal Ontology Word SellingValueWord Price Synonyms PriceSynonyms SellingValue Type IntegerType Real Value $500Value Price Recognizer Domain Computer Relation ISFOR Memory ? ? ? ? ?
October 13, Agent LO: code Services Mapping (MMS ) MatchMaking System MatchMaking System (Initialization) Translation Repository Service Analysis Translation Response Handling Services (Agent- Independent Representation) Global Ontology Message Handling Message-Service Matching
October 13, Agent1 LO: code Services Agent2 LO: code Services Mapping MMS Matchmaking System (Operation) Translation Repository Service Analysis Translation Response Handling Mapping MMS Translation Repository Service Analysis Translation Response Handling I need info about PCs Input:LowPrice=$500, HighPrice=$1000 Output: String Make, String Model,int Price Constraint:None Services (Agent- Independent Representation) Services (Agent- Independent Representation) KQML Global Ontology Global Ontology Message Handling Message Handling Message-Service Matching Message-Service Matching
October 13, The ServiceThe Message ServiceNamePcInfoServiceNameNone ActionTypeNoneActionTypeNone ServiceTypeQueryServiceTypeQuery InputString: PROCESSOR String: ADDRESS String: MEMORYTYPE String: MEMORYCAPACITY … InputString: PROCESSOR=“Intel P4 2.6GHz String: CITY= “Provo”, STATE= “UT”, ZIPCODE= “84602” String: MEMORY= “SDRAM 512MB” … OutputDate: DATE (mm/dd/yy) Real: PRICE (USD) Int: WARRANTY OutputString: DATE (yyyy-mm-dd) String: PRICE (EUR) InConst. None InConst.None OutConst.NoneOutConst.Output sorted(Price) Structural Differences Type Mismatch Data Format Units Unwanted Constraint Mismatch Some Matching Problems
October 13, Agent1 LO: code Services Agent2 LO: code Services Mapping MMS Matchmaking System (Operation) Translation Repository Service Analysis Translation Response Handling Mapping MMS Translation Repository Service Analysis Translation Response Handling I need info about PCs Input:LowPrice=$500, HighPrice=$1000 Output: String Make, String Model,int Price Constraint:None Services (Agent- Independent Representation) Services (Agent- Independent Representation) Global Ontology Global Ontology Message Handling Message Handling Message-Service Matching Message-Service Matching
October 13, Agent1 LO: code Services Agent2 LO: code Services Mapping MMS Matchmaking System (Operation) Translation Repository Service Analysis Translation Response Handling Mapping MMS Translation Repository Service Analysis Translation Response Handling I need info about PCs Input:LowPrice=$500, HighPrice=$1000 Output: String Make, String Model,int Price Constraint:None Price=1US D ………. Services (Agent- Independent Representation) Services (Agent- Independent Representation) Global Ontology Global Ontology Message Handling Message Handling Message-Service Matching Message-Service Matching
October 13, Preliminary Results MMS Implemented Real-World Test Cases –Computer shopping –Book shopping –Meeting scheduling Global Ontology Drawn from –Web sites (for shopping applications) –Individual user-chosen words and phrases (for scheduling) Agents Coded wrt –Each Web site (for shopping applications) –Each individual’s worksheet (for scheduling) Successful Agent Communication (using MMS)
October 13, Contributions Dynamically generates mappings among agents Simplifies agent communication Simplifies a developer’s task Increases message answering capabilities MMS