1USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Rosetta:Ontology-Based Translation
Hans Chalupsky
Yolanda Gil
Jim Blythe
Bob MacGregor
Information Sciences InstituteUniversity of Southern California
{chalupsky, gil, blythe, macgregor}@isi.edu
http://www.isi.edu/expect/projects/agents/rosetta
ISO TIE CoABS/HPKB
2USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Ontology-Based Translation Problem: For agents to communicate, they need a translator (unless
their representation schemas are identical) Translation between representations requires specialized technology
(not just wrappers) An overarching, unifying ontology reduces the translation overhead
and increases accuracy Approach:
Translation server (Rosetta) that contains:– A middle-level ontology (e.g., PLANET plan ontology)– Broad-coverage domain ontology (e.g., SENSUS or CYC’s IBKB)– Message reformulation tools (derived from ontology merging tools)
Rosetta translates inter-agent requests and responses Benefits:
Low per-agent implementation overhead Enable scaling-up of heterogeneous agent architectures
3USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Step 1:Agents register ontologies with Rosetta
DomainModel
Operators
PLANETPlan Ontology (HPKB)
Agent CapabilitiesOntology
Agent ModelAgent Models
Mapping KBOperators Domain
Model
Rosetta
CoABSGrid
Agents
a1
aNa2
a1 a2
aN
M
4USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Step 2:Setting up for two agents to communicate
Agent2
Wrapper
Agent1
Wrapper
Rosetta
KB of representationreformulation rules
Requestedservice by Agent1
Capability of Agent2
Agent1 model
Capabilities/requests
Agent2 model
Capabilities/requests
5USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Using Rosetta with CoABS TIE 1:Syntactic and Knowledge Free Transformations
Without Rosetta: message sent: :content (return-route :SizeOfRt 9 :Xcoords ( 47.987 47.984 47.983 47.979 47.965
47.946 47.945 47.933 47.932 )
:Ycoords ( 29.321 29.324 29.324 29.328 29.328 29.347 29.347 29.359 29.359 ))
:sender Moksaf_RPA :receiver teamMoksaf_RPA
the teamMoksaf_RPA wrapper reformatted the points as a list of (x,y) pairs
the helicopter agents were extended to translate to "x,y,cell" coordinates.
With Rosetta: message sent: :content (return-route :SizeOfRt 9 (-x 20374 -y 56533 -cell 35198)
(...) (...) (...) ... )) :sender Rosetta :receiver teamMoksaf_RPA
No wrapper code needed
Problem: Data formats (vectors of coords vs. XY pairs)
Problem: Conversions (lat-long vs. x-y-cell coordinates)
6USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Using Rosetta with CoABS TIE 1:Ontology-Based Term Transformations
Without Rosetta: bridge agent rearranged route
points in the order required by the helicopter agents. Types of route points were implicit in this order
message sent: :content POINTS point DefaultHBPoint -lat 0.000000 -lon 0.000000
point LP_A -lat 29.384322 -lon 48.039903
point WP_A -lat 29.354845 -lon 47.999734
point DP_A -lat 29.333773 -lon 47.997891 point LZ_A -lat 29.329179 -lon 47.995596 point RP_A -lat 29.321262 -lon 47.987511 point DASP_B -lat 29.358754 -lon 47.931455 point DASP_A -lat 29.237487 -lon 47.982873 :receiver teamquickset :sender oaa-kqml-bridge
With Rosetta: Bridge agent does not need to order points.
Types of route points explicit in message message sent: :content POINTS linkup-point LP_A -lat 29.384322 -lon 48.039903 detach-point DP_A -lat 29.333773 -lon 47.997891 landing-zone LZ_A -lat 29.329179 -lon 47.995596 MAIN detach-at-sea-pt DASP_B -lat 29.358754 -lon 47.931455
ALTERNATIVE detach-at-sea-pt DASP_A -lat 29.237487 -lon 47.982873
way-point WP_A -lat 29.354845 -lon 47.999734 rally-point RP_A -lat 29.321262 -lon 47.987511 home-base-point DefaultHBPoint -lat 0.00 -lon 0.00
:sender oaa-kqml-bridge :receiver Rosetta
Problem: Input/output requirements need to be addressed (e.g., order and semantics of route points for helicopter agents)
7USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
Using Rosetta with CoABS TIE 1:Ontology-Based Transformations
Without Rosetta: helicopter wrappers had to turn
route segments into areas and issue query in SQL
message sent: :content select distinct s.LAT, s.LON from SAMSITE s where s.LAT< 29.3843 and s.LAT> 29.355 and s.LON< 48.0399 and s.LON> 48.011 :receiver ARIADNE_TEAMCORE :sender TEAMARIADNE
With Rosetta: helicopter wrappers form
request using route segments message sent: :content find SAMSITES from DP_A to LZ_A :sender TEAMARIADNE :receiver Rosetta
Problem: Diverse views and languages (e.g., helicopters had segments, SAMSITE finder queried with SQL about regions)
8USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE
OntoMorph Rewrite Rules within Rosetta
(DEFREWRITE translate-find-sites-to-SQL{(find-sites :table ?table :route (sequence :elements (?pointA ?pointB))) <translate-route-segment-region ?pointA ?pointB> (?minlat ?maxlat ?minlong ?maxlong)}==> (select distinct s.LAT, s.LON from ?table s where s.LAT '< ?maxlat and s.lat '> ?minlat and s.LON '< ?maxlong and s.LON '> ?minlong) …)
(DEFREWRITE translate-route-segment-region{?pointA ?pointB <lookup-domain-point ?pointA> (?? :coords (latlong :lat ?latA :long ?longA) ??) <lookup-domain-point ?pointB> (?? :coords (latlong :lat ?latB :long ?longB) ??)}==> (<min ?latA ?latB> <max ?latA ?latB> <min ?longA ?longB> <max ?longA ?longB>))
Match intermediate representation
Rule invocation
Result destructuring
Retrieve point coordinatesfrom domain/discourse KB
Anonymoussequence variable