1 / 23

The LARKS Project

The LARKS Project. Interoperability among Heterogeneous Agents in the Internet. Katia Sycara, Matthias Klusch, Jianguo Lu, Zhendong Niu, Seth Widoff. http://www.cs.cmu.edu/~softagents/interop/matchmaking.html. L anguage for A dvertisement and R equests

hanzila
Download Presentation

The LARKS Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The LARKS Project Interoperability among Heterogeneous Agents in the Internet Katia Sycara, Matthias Klusch, Jianguo Lu, Zhendong Niu, Seth Widoff http://www.cs.cmu.edu/~softagents/interop/matchmaking.html

  2. Language for Advertisement and Requests for Knowledge Sharing What is LARKS about? • Frame-based specification of ads and requests of agent capabilities. • Optional use of a domain ontology. • Automated processing of LARKS specifications. • Compatibility with XML. • Matchmaking Services via Matchmaker Agents using LARKS • to ‘match’ requests with relevant provider agents in heterogeneous and dynamic agent societies.

  3. Matchmaking Using LARKS Matchmaker Agent x AdvertisementDB OntologyDB AuxiliaryDB Matching Result-of-Matching Capability Descriptions in LARKS Requester Agent Provider Agent 1 Service Request in LARKS LARKS Protocol for providing the service Provider Agent n Local Ontology 1 ? IS IS Process Request on Local IS IS Local Ontology n

  4. Specification in LARKS Context • Context of Specification Type • Data Types Used in Variable Declarations Input • Input/Output Variable Declarations Output InConstraints OutConstraints • Logical Constraints on Variables (Pre-/Post-Conditions) ConcDescriptions • Ontological Description of Used Words TextDescription • Textual Description of Specification • Constraints: set of definite program clauses/goals (Horn clauses) • Concepts: ontological description of words in concept language ITL

  5. Example for Ontology (1) An Ontology written in the Concept Language ITL (Terminology): AirMission  (and Mission (atleast 1 had-airplane) (all has-airplane Airplane) (all has-MissionType aset(AWAC,BARCAP,CAP,DCA,HVAA))… ) AWAC-AirMission  (and AirMission (atleast 1 has-airplane) (atmost 1 has-airplane) (all has-airplane aset(E-2)) …) DCA-AirMission  (and AirMission (all has-MissionType aset(DCA)) (all has-F14 plane-F14D) (all has-F18 plane-F18) (atleast 2 has-F14) (atmost 2 has-F14) (atleast 2 has-F18) (atmost 2 has-F18) (atleast 2 has-E2) (atmost 2 has-E2) …) . . . (2) Concept Subsumption Hierarchy: AirMission . . . AWAC-AirMission DCA-AirMission HVAA-AirMission

  6. Examples for Specification in LARKS Agent Advertisement: “I can provide information about air combat missions in general.” AirCombatMissions Context Attack, Air, Combat, Mission*AirMission Types Date = (mm: Int, dd: Int, yy: Int); Input Output missionTypes: SetOf(String); missionAirplanes: SetOf(String); missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); InConstraints mStart <= mEnd OutConstraints ConcDescriptions [AirMission] TextDescription information about air combat missions in general

  7. Agent Advertisement: “I can provide information about deployed and launched AWAC air combat missions. ” AWAC-CombatMissions Context Combat, Mission*AWAC-AirMission Types Date = (mm: Int, dd: Int, yy: Int); DeployedMission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); Input Output missions: DeployedMission; InConstraints OutConstraints deployed(mID), mType = AWAC, launched_after(mID,mStart), launched_before(mID,mEnd). ConcDescriptions [AWAC-AirMission] TextDescription information about deployed and launched AWAC air combat missions

  8. Agent Advertisement: “I can provide information about deployed and launched DCA air combat missions.” DCA-CombatMissions Context Combat, Mission*DCA-AirMission Types Date = (mm: Int, dd: Int, yy: Int); DeployedMission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); Input Output missions: DeployedMission; InConstraints deployed(mID), mType = DCA, launched_after(mID,mStart), launched_before(mID,mEnd). OutConstraints ConcDescriptions [DCA-AirMission] TextDescription information about deployed and launched DCA air combat missions

  9. Request: “Find an agent who can provide information on deployedair combat missionslaunchedin a giventime interval.” Req-AirCombatMissions Context Attack, Mission*AirMission Types Date = (mm: Int, dd: Int, yy: Int); Mission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); Input sd: Date, ed: Date; Output missions: Mission; InConstraints sd <= ed. OutConstraints deployed(mID), launched_after(mID,sd), launched_before(mID,ed), sd >= mStart, ed <= mEnd. ConcDescriptions [AirMission] information on deployed air combat missions launched in a given time interval TextDescription

  10. Request: “Find an agent who can provide information on deployedand launched air combat missions that contain F-14 airplanes.” Req-DeployedF14CombatMissions Context Combat, Mission*F14-Mission Types Date = (mm: Int, dd: Int, yy: Int); Mission = ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); Input Output missions: Mission; InConstraints OutConstraints deployed(mID), launched_after(mID,mStart), launched_before(mID,mEnd). ConcDescriptions F14-Mission  (and AirMission (atleast 1 has-F14)) information on deployed and launched air combat missions that contain F-14 airplanes TextDescription

  11. An Example of Matchmaking Using LARKS “Find agents that can inform about air combat missions” Requester Agent Ranked Set of Agents capable to inform about air combat missions AirCombatMissions Matchmaker Agent AuxiliaryDB OntologyDB AdvertisementDB AWAC-AirCombatMissions Context Matching Profile Matching Similarity Matching Signature Matching Semantical Matching

  12. Matchmaking Process Main Steps: (pairwise matching of specifications in LARKS) • Context Matching • Word Distances • Subsumption or Equality of attached Concepts • Syntactical Matching • Comparison of Profiles (TF-IDF) • Similarity Matching of Declarations and Constraints • Word Distances • Distances in the Ontology (Weighted Associative Network) • Full Signature Matching of Declarations • Subsumption of Data Types • Semantical Matching • Logical Implication of Constraints

  13. Different Matching Modes “Complete Matching”: All filters. “Relaxed Matching”: No signature matching.  “Profile Matching” : Comparison of profiles (TF-IDF) only.  “Plug-In Matching”: Signature and semantical matching only. Any combination of filters may be chosen by the user.

  14. Matchmaking Process: Simple Example  Request for Agent Capability in ‘Req-AirCombatMissions’ Advertisement of Agent Capability in ‘AWAC-AirCombatMissions’ Mode Complete Matching • Context Matching Look-up/compute word distances for (Attack, Combat), (mission, Mission); All value exceeds given threshold. Attached concepts (AirMission,AirMission) are terminologically equal. • Syntactical Matching • Comparison of Profiles (TF-IDF)  Profile similarity value of documents exceeds given threshold. Thus, proceed with

  15. Matchmaking Process: Simple Example (cont’d) • Syntactical Matching (ff.) • Full Signature Matching of Declarations Input declarations - A: D21 = sd: Date, ed: Date; Output declarations - R: D12 = missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); A: D22 = missions: ListOf(mType: String, mID:String|Int, mStart: Date, mEnd: Date); A: D23 = missionTypes: ListOf(String); A: D24 = missionAirplanes: ListOf(String); • Apply Type Inference Rules for Computing Type Subsumption. Result: (TRUE) & (signature(A: D22) › signature(R: D12)) Thus, proceed with

  16. Matchmaking Process: Simple Example (cont’d) • Similarity Matching • Conceptual Attachment to words • Check word distances in declarations and constraints Similarity value of two specifications: Average of sum of similarity computations among all pairs of declarations and constraints. Similarity of AirCombatMissions and Req-AirCombatMissions = 0.75 (Note: Value strongly depends on the used word distance database) Similarity value exceeds given threshold. Thus, proceed with

  17. Matchmaking Process: Simple Example (cont’d) • Constraint Matchingfails InConstraints  InConstraints in Req-AirCombatMissions in AirCombatMissions  sd <= ed. OutConstraints  OutConstraints NOT in AirCombatMissions in Req-AirCombatMissions mStart <= mEnd deployed(mID), launched_after(mID,sd), launched_before(mID,ed), sd >= mStart, ed <= mEnd.

  18. Matchmaking Process: Simple Example (2)  Request = Req-DeployedF14CombatMissions, Ad = DCA-CombatMissions • Context Matching (Ad:) DCA-AirMission < (Req:) F14-Mission • Syntactical Matching • Comparison of Profiles (TF-IDF)  • Full Signature Matching of Declarations • Similarity Matching Sim(Req,Ad) = 0.62 • Constraint Matching InConstraints in Req  InConstraints in Ad OutConstraints in Ad OutConstraints in Req deployed(mID), mType=DCA, launched_after(mID,sd), launched_before(mID,ed), deployed(mID), launched_after(mID,sd), launched_before(mID,ed),

  19. Current Implementations of LARKS Project • Web-based Interface for Specification of Requests in LARKS • Matchmaker module • Knowledge management module (Concept classifier, KB)

  20. Graphical User Interface to the Matchmaker

  21. TSC: Concept Classifier for Knowledge Base

  22. Matchmaking Using LARKS and XML • Translation of LARKS specification into XML document • Automated Processing of LARKS/XML Specs • Translation of ITL concept definitions into XML statements e.g. use of XML-Data Schemas, W3C Note 05 Jan 1998 Proposal by Microsoft; http://www.w3.org/TR/1998/NOTE-XML-data-0105/ • Translated ITL ontologies in XML used as XML-namespaces . . . .

  23. Some Future Work of the LARKS Project • Complete Implementation in Java • Multi-Agent Test Environment Using RETSINA Communicator • Natural Language Interface for Human-Agent Interaction • Extensive Real-World Testing

More Related