Title: The LARKS Project
1The 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/matchmak
ing.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.
3Matchmaking 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
4Specification in LARKS
Context
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
5Example 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
6Examples for Specification in LARKS
Agent Advertisement I can provide information
about air combat missions in general.
AirCombatMissions
Context
Attack, Air, Combat, MissionAirMission
Types
Date (mm Int, dd Int, yy Int)
Input
Output
missionTypes SetOf(String) missionAirplanes
SetOf(String) missions ListOf(mType String,
mIDStringInt, mStart
Date, mEnd Date)
InConstraints
mStart lt mEnd
OutConstraints
ConcDescriptions
AirMission
information about air combat missions in general
TextDescription
7Agent Advertisement I can provide information
about deployed and launched AWAC air combat
missions.
AWAC-CombatMissions
Context
Combat, MissionAWAC-AirMission
Types
Date (mm Int, dd Int, yy Int)
DeployedMission ListOf(mType String,
mIDStringInt, mStart Date, mEnd
Date)
Input
Output
missions DeployedMission
InConstraints
OutConstraints
deployed(mID), mType AWAC, launched_after(mID,m
Start), launched_before(mID,mEnd).
ConcDescriptions
AWAC-AirMission
TextDescription
information about deployed and launched AWAC air
combat missions
8Agent Advertisement I can provide information
about deployed and launched DCA air combat
missions.
DCA-CombatMissions
Context
Combat, MissionDCA-AirMission
Types
Date (mm Int, dd Int, yy Int)
DeployedMission ListOf(mType String,
mIDStringInt, mStart Date, mEnd
Date)
Input
Output
missions DeployedMission
InConstraints
deployed(mID), mType DCA, launched_after(mID,mS
tart), launched_before(mID,mEnd).
OutConstraints
ConcDescriptions
DCA-AirMission
TextDescription
information about deployed and launched DCA air
combat missions
9Request Find an agent who can provide
information on deployed air combat missions
launched in a given time interval.
Req-AirCombatMissions
Context
Attack, MissionAirMission
Types
Date (mm Int, dd Int, yy Int) Mission
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date)
Input
sd Date, ed Date
Output
missions Mission
InConstraints
sd lt ed.
OutConstraints
deployed(mID), launched_after(mID,sd),
launched_before(mID,ed), sd gt mStart, ed lt
mEnd.
ConcDescriptions
AirMission
information on deployed air combat missions
launched in a given time interval
TextDescription
10Request Find an agent who can provide
information on deployed and launched air
combat missions that contain F-14 airplanes.
Req-DeployedF14CombatMissions
Context
Combat, MissionF14-Mission
Types
Date (mm Int, dd Int, yy Int) Mission
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date)
Input
Output
missions Mission
InConstraints
OutConstraints
deployed(mID), launched_after(mID,mStart), launche
d_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
11An 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
Signature Matching
Semantical Matching
Similarity Matching
Profile Matching
12Matchmaking Process
Main Steps
(pairwise matching of specifications in LARKS)
- Word Distances
- Subsumption or Equality of attached Concepts
- 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
- Logical Implication of Constraints
13Different 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.
14Matchmaking Process Simple Example
? Request for Agent Capability in
Req-AirCombatMissions Advertisement of
Agent Capability in AWAC-AirCombatMissions
Mode ? Complete Matching
Look-up/compute word distances for (Attack,
Combat), (mission, Mission) All value exceeds
given threshold. Attached concepts
(AirMission,AirMission) are terminologically
equal.
- Comparison of Profiles (TF-IDF) ?
Profile similarity value of documents exceeds
given threshold. Thus, proceed with
15Matchmaking Process Simple Example (contd)
- Syntactical Matching (ff.)
- Full Signature Matching of Declarations ?
Input declarations - A D21 sd Date, ed Date
Output declarations - R D12 missions
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date) A
D22 missions ListOf(mType String,
mIDStringInt,
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
16Matchmaking Process Simple Example (contd)
- 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
17Matchmaking Process Simple Example (contd)
- Constraint Matching
fails
InConstraints ?
InConstraints in Req-AirCombatMissions
in AirCombatMissions ? sd lt ed.
OutConstraints ?
OutConstraints NOT ? in
AirCombatMissions in
Req-AirCombatMissions mStart lt mEnd
deployed(mID),
launched_after(mID,sd),
launched_before(mID,ed), sd gt mStart, ed lt mEnd.
18Matchmaking Process Simple Example (2)
? Request Req-DeployedF14CombatMissions, Ad
DCA-CombatMissions
- Context Matching ? (Ad) DCA-AirMission lt
(Req) F14-Mission
- Comparison of Profiles (TF-IDF) ?
- Full Signature Matching of Declarations ?
- Similarity Matching ? Sim(Req,Ad)
0.62
InConstraints in Req ?
InConstraints in Ad ?
OutConstraints in Ad ?
OutConstraints in Req ?
deployed(mID), mTypeDCA, launched_after(mID,sd),
launched_before(mID,ed),
deployed(mID), launched_after(mID,sd),
launched_before(mID,ed),
19Current Implementations of LARKS Project
- Web-based Interface for Specification of
Requests in LARKS - Matchmaker module
- Knowledge management module (Concept
classifier, KB)
20Graphical User Interface to the Matchmaker
21TSC Concept Classifier for Knowledge Base
22Matchmaking 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
. . . .
23Some 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