DAML JBI TIE
Mike Dean
Principal Investigator,
DAML Integration and Transition
mdean@bbn.com
AFRL/IF
Rome, NY
19 June 2003
http://www.daml.org/2003/06/daml-jbi/Overview.html
$Id: all.htm,v 1.16 2003/06/24 08:34:03 mdean Exp $
Outline
- Objectives
- Previous Work
- Recent Work and Experimental Results
- Status and Plans
- Conclusions
Primary Objective
Secondary Objective
Tertiary Objectives
- support the use of contextual information (e.g. reference Order of Battle to support queries like "all the units that report to me")
- move toward statement-level publish/subscribe (e.g. deliver only the portions of an Air Tasking Order that pertain to my unit)
Previous Work
- kickoff briefing
- JBI 0.8 used for Battle Damage Assessment (BDA) agent in DAML Experiment (SONAT)
- Minnowbrook update
- DAML+OIL ontology for Information Object definitions
- DAML specialization of JBI 0.8 API using CoABS Grid and JINI
- DAML metadata converted into JBI 0.8-compliant XML representation
- focus on use of Information Object hierarchies to aggregate pub/sub
registrations
- registrations internally expanded based on Info Object hierarchy
- test harness showing multiple publishers and subscribers
Recent Work
- back off from JBI implementation to assess general applicability
of Semantic Web technology
- identify a richer application
- migrate from DAML+OIL to OWL
A Semantic Web-based JBI
- my observation from
Minnowbrook:
Semantic Web
technologies could meet the key requirements of JBI (pub/sub)
- Information Object definitions (OWL)
- Metadata Repository (WWW: URI naming, HTTP, searchable cache like
DAML Ontology Library)
- metadata (RDF)
- predicate language (DQL and/or other query)
- Information Object Repository (DAML DB)
- alternative JBI approaches
- XML (current)
- middle ground
(e.g. OWL-specific metadata and queries in CAPI)
- Semantic Web
- Semantic Web is probably also highly applicable to fuselets and force templates
(not addressed here)
An OWL Ontology for Information Objects
Notices to Airmen (NOTAMs)
- effort under AFRL In-Flight Management (IFM) PRDA
- Ed DePalma is COTR; Rusty Bobrow of BBN is PI
- apply natural language technology to generate OWL
from "pidgin" text used in NOTAMs
- example (much more structured than most):
A0126/03 NOTAMN A) KSFO B) 0304010630 C) 0304041500 D) 0630-1500 DLY E) QMRLC 01R/19L
<NOTAM rdf:about="uri:uuid:c2f41010-65b3-11d1-a29f-00aa0c14882">
<qcode>QMRLC</qcode>
<icao rdf:resource="http://www.daml.org/cgi-bin/airport?KSFO"/>
<text>A0126/03 NOTAMN A) KSFO B) 0304010630 C) 0304041500 D) 0630-1500 DLY E) QMRLC 01R/19L</text>
<id>A0126/03</NS0:id>
<effective>200304010630<effective>
<about>
<RunwayStatusReport>
<runwayOf>
<Runway/>
</runwayOf>
<statusOf>
<RunwayClosed/>
</statusOf>
<intervalOf>
<IntervalDescription>
<daysOf>
<DayOfWeek/>
</daysOf>
<low>0630</low>
<high>1500</high>
</IntervalDescription>
</intervalOf>
</RunwayStatusReport>
</about>
</NOTAM>
- over 1 million NOTAMs processed
- we're using a snapshot of 24,374 NOTAMs active on March 30
- caveats
- "bottom-up ontology" from natural language parser
- could canonicalize via post-processing
- currently handle 50-75% of the text
- NOTAMs are internally typed using
QCodes <= look here
- OWL representation (TBD)
(dumpont)
- caveat: not required for civilian NOTAMs
- could be synthesized from other features
- real-life example of multiple inheritance
Subscriptions as Class Definitions
DAML Query Language (DQL)
Java Expert System Shell (JESS)
- Java Expert System Shell (JESS)
- OPS 5/CLIPS family production rule system
- implemented in and accessible from Java
- widely used
- developed by
Sandia National Labs
- some license issues
- need to fully investigate
- our usage
- provided rules to implement the DAML+OIL language features we used
in class expressions:
hasValue, subClassOf, sameClassAs, intersectionOf, hasClass
- employed a retraction mechanism like that used for DQL premises
- integrated using the JESS Java API
- UMBC
has developed a DQL implementation using JESS
Information Repository
- DAML DB
- memory-mapped persistent linked storage optimized for RDF/DAML+OIL/OWL
- intended as persistence layer beneath higher-level query and inference tools
- Semantic Web Database Scalability demonstration
- we currently use DAML DB to store NOTAMs being published
- same representation as Info Object Repository usage
- loaded 24,374 NOTAMs in 5 minutes
Experiment Setup
- architecture
- subscriptions
- RunwayClosures at San Francisco International Airport
- RunwayClosures at any U.S. airport
- simplifications
Experiment Results
- milliseconds to match Information Object against 2 subscriptions
on my 850 MHz laptop:
- JESS provided reasonable performance
- we're very close to having results for RACER and FaCT
- expected to fall between JESS and DQL
Limitations of Class Expressions
Translating Queries/Subscriptions
- OWL class expressions aren't natural to most people
- we should be able to translate a query from a more familiar language
(possibly restricted DQL) into class expressions
- similar to current translation from XPath to JMS SQL
- also allows sharing of common Restrictions
Financial Status
Possible Next Steps
- provide feedback to DQL and DIG developers
- scalability testing
- full KB
- all 178 x 88 = 15664 QCode combinations
- associate countries with all 9177 airports
- 100s of subscriptions
- integrate KSL DQL and DAML DB
- implementation of Info Object Repository
- persistent forward chaining for KB
- embed into JMS JBI platform
- additional applications
Conclusions
- OWL is good for specifying Info Object types and metadata
- most subscriptions can be cast as OWL class expressions
- more powerful than existing JBI subscription requests
- allows effective classification of InfoObjects across
all subscriptions
- same mechanisms can be used to query Info Object Repository
- performance seems acceptable
- (interfaces to) reasoners are still temperamental
Acknowledgements
- Troy Self
- embedded DQL
- JESS integration
- Dave Rager
- DIG, RACER, and FaCT integration
- Jeremy Lerner