ontologies and level 2 fusion theory and application n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Ontologies and Level 2 Fusion: Theory and Application PowerPoint Presentation
Download Presentation
Ontologies and Level 2 Fusion: Theory and Application

Loading in 2 Seconds...

play fullscreen
1 / 120

Ontologies and Level 2 Fusion: Theory and Application - PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on

Ontologies and Level 2 Fusion: Theory and Application. Mieczyslaw (“Mitch”) M. Kokar kokar@coe.neu.edu http://www.coe.neu.edu/~kokar. Tutorial Overview. Motivation UML Representation of Ontologies OWL Representation of Ontologies Markup Querying Formal Representations and Reasoning

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ontologies and Level 2 Fusion: Theory and Application' - lathrop


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ontologies and level 2 fusion theory and application

Ontologies and Level 2 Fusion:Theory and Application

Mieczyslaw (“Mitch”) M. Kokar

kokar@coe.neu.edu

http://www.coe.neu.edu/~kokar

tutorial overview
Tutorial Overview
  • Motivation
  • UML Representation of Ontologies
  • OWL Representation of Ontologies
  • Markup
  • Querying
  • Formal Representations and Reasoning
  • Situation Awareness: Level 2 Fusion Example
  • Ontology Tools
  • Road Ahead

Cairns, Australia

fusion jdl model
Fusion: JDL Model

Cairns, Australia

jdl levels
JDL Levels

Level 0:Sub-Object Data Association and Estimation - pixels, signals

Level 1:Object Refinement – object-to-track association, state estimation

and prediction, target identification and type

Level 2:Situation Refinement – object clustering and relational analysis

(force structure, cross-force relations, communications, …)

Level 3:Impact Assessment – threat intent estimation, consequence

prediction, susceptibility and vulnerability assessment

Level 4:Process Refinement – resource management, adaptive search

and processing

Cairns, Australia

l2 concepts llinas
Aggregation

Structure

Behavior

Events

Locations

Situations

Activity

Capabilities

Readiness

Intentions

Objectives

Course of Action

L2 Concepts (Llinas)

Cairns, Australia

readiness traditional
Unit

Personnel

Supplies

Equipment

On Hand

Condition

Theater

Ammo

Fuel

Spares

Clothing

Food

“Readiness” - traditional

Stovepipe: relationships among “stovepipes” not captured,

not even expressible. Can’t assess trade-offs.

- David M. Snyder et. al, 1996

Cairns, Australia

readiness new
“Readiness” - new
  • Ready for when? How long to “ready”?
  • Ready for what? “Ready” to perform what tasks?
  • Readiness for where? “Ready” for what theater or combat environment?
  • “Ready” which unit(s)?
  • Readiness is not a binary “yes” or “no”.

- David M. Snyder et. al, 1996

Cairns, Australia

readiness relations
Readiness Relations

Unit

Task

Region

Training

Time

none

2004

A

Counter-

terrorism

Waldenia

B

Routine

2010

Seal

border

Brooms

Plan A

C

2025

“Readiness” of a specific unit (or units) is defined as a set of relations,

which in turn are functions of time.

Cairns, Australia

situations
Situations
  • “Readiness” is a conceptual term (not a physical object)
  • Need check relations to assess “readiness”
  • Relations can be complex (relations among relations, sub-relations)
  • Need to reason about relations
  • Need to project in time
  • Relations can hold “in a situation”

Cairns, Australia

situation awareness military
Situation Assessment provides understanding of combat intelligence:

Composition of the enemy

Unit aggregation

Disposition

Combat effectiveness

Activities

Peculiarities and limitations

Situation Awareness (military)

Cairns, Australia

situation awareness
Situation Awareness

Situation Awareness (SAW) is the perception of the elements in the environment within a volume of time and space, the comprehension of their meaning, and the projection of their status in the near future.

-Endsley & Garland, 2000

Cairns, Australia

objectives
Objectives
  • Provide a formalization of Situation Awareness (SAW) and Situation Analysis (SA).
  • Discuss computer infrastructure to support the implementation of SAW as formally defined
    • Languages
    • Tools
  • Explain the approach
    • Discuss SAW Scenarios for the purpose of evaluating/explaining the approach
    • A walk-though the proposed approach using a scenario.

Cairns, Australia

situation assessment
Situation Assessment

Situation Assessment:

a process that estimates and updates that state

Goal – not mentioned (relevance)

Our focus: Computer support, rather than just human decision making

Cairns, Australia

situations first class citizens
Situations – First Class Citizens

“One of the starting points for situation semantics was the promotion of real

situations from second class citizens to first class citizens.”

“By a situation, then, we mean a part of reality that can be comprehended

as a whole in its own right – one that interacts with other things.

By interacting with other things we mean that they have properties or relate

to other things.”

- John Barwise, The Situation in Logic, 1989

Cairns, Australia

the situation awareness problem
The Situation Awareness Problem
  • Simply knowing the current states of objects in a situation doesn’t provide a comprehension of what’s going on
    • e.g., seeing football for the first time
    • also need information about relations among objects (e.g, members of the same team), their history, background knowledge, context, etc.
  • Since the situation itself doesn’t provide them we need to derive meaningful relationships
  • The problem is, which ones?
    • The number of permutations of 100 objects is by itself greater than 10150!
    • Those that are meaningful are highly domain dependent

Cairns, Australia

approach
Approach
  • Focus onobjects and relations among objects in the world
  • Useontologies to specify potential objects, relations and queries
  • Knowledge of potential objects and relations = theories of the world
  • Theories are the subject of logic (well defined and understood)
  • They describe possibilities or potentiality (e.g., the fact that we know a theory of “car”, doesn’t mean there’s a car in this room)
  • Formally, objects are instantiations of theories
  • In logic, instantiations of theories are called models; in RDF/DAML/OWL they are called annotations

Cairns, Australia

approach cont
Approach (cont.)
  • Objects can be complex (compositions of simpler objects)
  • Ideally, theories and models of complex situations should be compositions of simple theories and models
  • Category theory provides composition operators: colimit (for theories) and limit (for models)
  • Data Association and Fusion = association of objects with theories and combining theories

Cairns, Australia

ontology webster
Ontology (Webster)
  • ontology 1. the branch of metaphysics dealing with the nature of being, reality or ultimate substance (cf. phenomenology) 2. particular theory about being or reality
  • phenomenology 1. the philosophical study of phenomena, as distinguished from ontology 2. the branch of a science that classifies and describes its phenomena without any attempt at metaphysical explanation
  • metaphysics 1. the branch of philosophy that deals with first principles and seeks to explain the nature of being or reality (ontology); it is closely associated with the study of nature of knowledge (epistemology)

Cairns, Australia

ontology cont
Ontology (cont.)
  • An explicit specification of a conceptualization: the objects, concepts, and other entities that are assumed to exist in some area of interest and the relationships that hold among them (Genesereth & Nilsson, 1997)
  • Definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. A statement of a logical theory. (Gruber)
  • An agent commits to an ontology if its observable actions are consistent with the definitions in the ontology (knowledge level).
  • A common ontology defines the vocabulary with which queries and assertions are exchanged among agents.

Cairns, Australia

representing ontologies
Representing Ontologies
  • Classes
  • Objects
  • Sub-classes
  • Relations (properties)
  • Sub-properties
  • Constraints

Cairns, Australia

uml the unified modeling language
UML: The Unified Modeling Language
  • Graphics reveal data.
    • Edward TufteThe Visual Display of Quantitative Information, 1983
  • 1 bitmap = 1 megaword.
    • Anonymous visual modeler
  • The UML is a graphical language for
    • specifying
    • visualizing
    • constructing
    • documenting

the artifacts of software systems

Cairns, Australia

uml model elements
UML Model Elements
  • Class/object
  • Relationship (name, role)
    • generalization
    • aggregation
    • association
    • Dependency
  • Cardinality constraints
  • More …

Cairns, Australia

example
Example

From: Cris Kobryn

Cairns, Australia

legal instantiations
Legal Instantiations

From: Cris Kobryn

Cairns, Australia

illegal instantiations
Illegal Instantiations

:Carbon

:Carbon

:Carbon

:Hydrogen

:Hydrogen

:Carbon

:Carbon

:Carbon

Cairns, Australia

uml example
UML: Example

Cairns, Australia

owl vs other languages
OWL vs. Other Languages
  • UML – great for visualization and human processing
  • UML – not so great for
    • Machine processing
    • Exchange of information among machines (or agents)
  • XML – great for machine processing and exchange, but no semantics
  • RDF (Resource Description Framework) – provides (some) semantics
  • RDFS (schema) – much more semantics
  • OWL (Web Ontology Language) – adds more expressiveness

Cairns, Australia

language layering
Language Layering

OWL-R

OWL Rules (in progress)

Web Ontology Language

OWL

RDF Schema

RDFS

RDF

Resource Description Framework

XML

Extensible Markup Language

Note: The layering of OWL on top of RDFS is not strict.

Cairns, Australia

owl tutorial
OWL Tutorial

The following group of slides are from:

OWL Tutorial

A Quick Introduction toOWL Web Ontology Language

by

Roger L. Costello

David B. Jacobs

The MITRE Corporation

(The creation of this tutorial was sponsored by DARPA)

Cairns, Australia

what is an ontology

Costello/Jacobs

What is an Ontology?
  • An ontology answers questions that are implicit in your data.

4

How many

guns/people

are registered

in a gun

license?

1

<GunLicense>

<registeredGun>

<Gun>

<serial>ABCD</serial>

</Gun>

</registeredGun>

<holder>

<Person>

<driversLicenseNumber>ZXYZXY</driversLicenseNumber>

</Person>

</holder>

</GunLicense>

How many guns can have this serial number?

Can this gun

be registered

in other gun

licenses?

2

How many people can have

this driver's license number?

3

slide31

Costello/Jacobs

Gun License Ontology answers the Questions!

4

A gun license

registers one

gun to one

person.

<GunLicense>

<registeredGun>

<Gun>

<serial>ABCD</serial>

</Gun>

</registeredGun>

<holder>

<Person>

<driversLicenseNumber>ZXYZXY</driversLicenseNumber>

</Person>

</holder>

</GunLicense>

1

Only one gun can have this serial number.

A gun can be

registered in

only one gun

license.

2

Only one person can have this

driver's license number.

3

robber drops gun while fleeing

Costello/Jacobs

Robber drops gun while fleeing!

First of all a robbery takes place. The robber drops his gun while

fleeing. This report is filed by the investigating officers:

<RobberyEvent>

<date>...</date>

<description>...</description>

<evidence>

<Gun>

<serial>ABCD</serial>

</Gun>

</evidence>

<robber>

<Person /> <!-- an unknown person -->

</robber>

</RobberyEvent>

speeder stopped

Costello/Jacobs

Speeder stopped

Subsequently a car is pulled over for speeding. The traffic officer

files this report electronically while issuing a ticket:

<SpeedingOffence>

<date>...</date>

<description>...</description>

<speeder>

<Person>

<name>Fred Blogs</name>

<driversLicenseNumber>ZXYZXY</driversLicenseNumber>

</Person>

</speeder>

</SpeedingOffence>

Cairns, Australia

the speeder owns a gun with the same serial number as the robbery gun

Costello/Jacobs

The speeder owns a gun with the same serial number as the robbery gun!

At police headquarters (HQ), a computer analyzes each report

as it is filed. The computer uses the driver's license information

to look up any other records it has about Fred Blogs (the speeder)

and discovers this gun license:

<GunLicense>

<registeredGun>

<Gun>

<serial>ABCD</serial>

</Gun>

</registeredGun>

<holder>

<Person>

<driversLicenseNumber>ZXYZXY</driversLicenseNumber>

</Person>

</holder>

</GunLicense>

case solved

Costello/Jacobs

Case Solved?
  • Not yet! These questions must be answered before the speeder can be arrested as the robbery suspect:
    • Can multiple guns have the same serial number?
      • If so, then just because Fred Blogs owns a gun with the same serial number as the robbery gun does not mean it was his gun that was used in the robbery.
    • Can multiple people have the same driver's license number?
      • If so, then the gun license information may be for someone else.
    • Can a gun be registered in multiple gun licenses?
      • If so, then the other gun licenses may show the holder of the gun to be someone other than Fred Blogs.
    • Can a gun license have multiple holders of a registered gun?
      • If so, then there may be another gun license document (not available at the police HQ) which shows the same registered gun but with a different holder.
  • The Gun License OWL Ontology provides the information needed to answer these questions!

1

2

3

4

can multiple guns have the same serial number

Costello/Jacobs

Can multiple guns have the same serial number?

This OWL rule tells the computer at police HQ that each gun is

uniquely identified by its serial number:

<owl:InverseFunctionalProperty rdf:ID="serial">

<rdfs:domain rdf:resource="Gun"/>

<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>

</owl:InverseFunctionalProperty>

1

Only one gun can have this serial number.

<Gun>

<serial>ABCD</serial>

</Gun>

can multiple people have the same driver s license number

Costello/Jacobs

Can multiple people have the same driver's license number?

The following OWL rule tells the computer that a driver's license

number is unique to a Person:

<owl:InverseFunctionalProperty rdf:ID="driversLicenseNumber">

<rdfs:domain rdf:resource="Person"/>

<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>

</owl:InverseFunctionalProperty>

2

Only one person can have this

driver's license number.

<Person>

<driversLicenseNumber>ZXYZXY</driversLicenseNumber>

</Person>

can a gun be registered in multiple gun licenses

Costello/Jacobs

Can a gun be registered in multiple gun licenses?

The next OWL rule tells the computer that the registeredGun property

uniquely identifies a GunLicense, i.e., each gun is associated with

only a single GunLicense:

<owl:InverseFunctionalProperty rdf:ID="registeredGun">

<rdfs:domain rdf:resource="GunLicense"/>

<rdfs:range rdf:resource="Gun"/>

</owl:InverseFunctionalProperty>

<GunLicense>

<registeredGun>

<Gun>

<serial>ABCD</serial>

</Gun>

</registeredGun>

...

</GunLicense>

A gun can be

registered in

only one gun

license.

3

can a gun license have multiple holders of a registered gun

Costello/Jacobs

Can a gun license have multiple holders of a registered gun?

The police computer uses the following OWL rule to determine that the gun on the

license is the same gun used in the robbery. This final rule seals the speeder's fate. It

tells the computer that each GunLicense applies to only one gun and one person. So,

there is no doubt that the speeder is the person who owns the gun:

<owl:Class rdf:ID="GunLicense">

<owl:intersectionOf rdf:parseType="Collection">

<owl:Restriction>

<owl:onProperty rdf:resource="#registeredGun"/>

<owl:cardinality>1</owl:cardinality>

</owl:Restriction>

<owl:Restriction>

<owl:onProperty rdf:resource="#holder"/>

<owl:cardinality>1</owl:cardinality>

</owl:Restriction>

</owl:intersectionOf>

</owl:Class>

4

A gun license

registers one

gun to one

person.

<GunLicense>

<registeredGun>

...

<holder>

...

</GunLicense>

bridging the terminology gap using owl

Costello/Jacobs

Bridging the Terminology Gap using OWL
  • A key problem in achieving interoperability is to be able to recognize that two pieces of data are talking about the same thing, even though different terminology is being used.
  • The following slides presents an example to show how OWL may be used to bridge the "terminology gap".
  • Thanks to Jim Farrugia for the camera info!

Cairns, Australia

interested in purchasing a camera

Costello/Jacobs

Interested in Purchasing a Camera
  • Query: "I am interested in purchasing a camera with a 75-300mm zoom lens, that has an aperture of (at least) 4.5-5.6, and a shutter speed that ranges from 1/2000 sec. to 10 sec. (or better)."
  • This query can be expressed in XML as:

<Camera>

<optics>

<Lens>

<size>75-300mm zoom</size>

<aperture>4.5-5.6 (or better)</aperture>

</Lens>

</optics>

<shutter-speed>1/2000 sec. to 10 sec. (or better)</shutter-speed>

</Camera>

Thus, the query may be recast as: "Find all XML documents which

overlap with the above XML document."

is this document relevant

Costello/Jacobs

Is this document relevant?

A Web Bot is launched to find camera info. The Bot finds this document at a Web site:

<PhotographyStore rdf:ID="Hunts"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<store-location>Malden, MA</store-location>

<phone>617-555-1234</phone>

<catalog rdf:parseType="Collection">

<SLR rdf:ID="Olympus-OM-10">

<optics>

<Lens>

<focal-length>75-300mm zoom</focal-length>

<f-stop>4.0-4.5</f-stop>

</Lens>

</optics>

<shutter-speed>1/2000 sec. to 10 sec.</shutter-speed>

<cost>starting at: $325 USD</cost>

</SLR>

...

</catalog>

</PhotographyStore>

Is this document relevant? (Note: SLR = Single Lens Reflex)

a match

Costello/Jacobs

A Match?

<PhotographyStore rdf:ID="Hunts"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<store-location>Malden, MA</store-location>

<phone>617-555-1234</phone>

<catalog rdf:parseType="Collection">

<SLR rdf:ID="Olympus-OM-10">

<optics>

<Lens>

<focal-length>75-300mm zoom</focal-length>

<f-stop>4.0-4.5</f-stop>

</Lens>

</optics>

<shutter-speed>1/2000 sec. to 10 sec.</shutter-speed>

<cost>starting at: $325 USD</cost>

</SLR>

</catalog>

</PhotographyStore>

<Camera>

<optics>

<Lens>

<size>75-300mm zoom</size>

<aperture>4.5-5.6 </aperture>

</Lens>

</optics>

<shutter-speed>1/2000 sec. to 10 sec.</shutter-speed>

</Camera>

Match?

To determine if there is a match, these questions must be answered:

1. What's the relationship between "SLR" and "Camera"?

2. What's the relationship between "focal-length" and "size"?

3. What's the relationship between "f-stop" and "aperture"?

relationship between slr and camera

Costello/Jacobs

Relationship between SLR and Camera?

This OWL rule (from the Camera Ontology) tells the Web Bot that a SLR is a type

of Camera:

<owl:Class rdf:ID="SLR">

<rdfs:subClassOf rdf:resource="#Camera"/>

</owl:Class>

Kokar

slide45

Costello/Jacobs

Relationship between focal-length and lens size?

This OWL rule tells the Web Bot that focal-length is equivalent to lens size:

<owl:DatatypeProperty rdf:ID="focal-length">

<owl:equivalentProperty rdf:resource="#size"/>

<rdfs:domain rdf:resource="#Lens"/>

<rdfs:range rdf:resource="&xsd;#string"/>

</owl:DatatypeProperty>

Cairns, Australia

relationship between f stop and aperture

Costello/Jacobs

Relationship between f-stop and aperture?

This OWL rule tells the Web Bot that f-stop is equivalent to aperture:

<owl:DatatypeProperty rdf:ID="f-stop">

<owl:equivalentProperty rdf:resource="#aperture"/>

<rdfs:domain rdf:resource="#Lens"/>

<rdfs:range rdf:resource="&xsd;#string"/>

</owl:DatatypeProperty>

The Web Bot now recognizes that the XML document it found at the Web site

- is talking about Cameras, and it

- does show the lens size, and it

- does show the aperture for the camera.

Further, the aperture exceeds the minimum value specified by the query (4.5-5.6), and

the shutter speed and lens size criteria is met.

Thus, the Web Bot has determined that this Olympus OM-10 SLR instance is a match

for the query!

summary interoperability despite terminology differences

Costello/Jacobs

Summary: Interoperability despite terminology differences!
  • The previous example demonstrated how the Web Bot was able to dynamically utilize the XML document from the Web site, despite the fact that the XML document used terminology different than was used to express the query. This interoperability was achieved through the use of the OWL Camera Ontology!

Cairns, Australia

is this document relevant1

Costello/Jacobs

Is this document relevant?

A Web Bot is launched to find camera info. The Bot finds this document at a Web site:

<PhotographyStore rdf:ID="RJs-SpecialtyCameras"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<store-location>Boston, MA</store-location>

<phone>617-555-4321</phone>

<catalog rdf:parseType="Collection">

<Large-Format rdf:ID="AnselAdams-LF4x5">

...

</Large-Format>

</catalog>

</PhotographyStore>

By consulting the Camera Ontology, the Web Bot can immediately dismiss

this document, without even examining the contents of <Large-Format>.

The next slides shows how.

Cairns, Australia

camera ontology

Costello/Jacobs

Camera Ontology

This class hierarchy shows that Large-Format is a type of Camera, and has two properties, optics (whose value is a Lens) and shutter-speed (whose value is a string):

Here's the hierarchy for the Lens class:

Kokar

no zoom lens for large format cameras

Costello/Jacobs

No Zoom Lens for Large-Format Cameras!

This class hierarchy shown here has been modified to show that

Large-Format cameras do not support zoom lenses:

SLR, Large-Format, and Digital all inherit the Camera properties.

However, Large-Format restricts the allowable values of optics to

just Micro, Macro, or Normal.

Kokar

no match

Costello/Jacobs

No Match!

This OWL rule tells the Web Bot that, while a Large-Format is a type of Camera,

it does not support zoom lenses. Thus, the XML document is not a match:

<owl:Class rdf:ID="Large-Format">

<owl:intersectionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Camera"/>

<owl:Class>

<owl:unionOf rdf:parseType="Collection">

<owl:Restriction>

<owl:onProperty rdf:resource="#optics"/>

<owl:allValuesFrom rdf:resource="#Micro"/>

</owl:Restriction>

<owl:Restriction>

<owl:onProperty rdf:resource="#optics"/>

<owl:allValuesFrom rdf:resource="#Macro"/>

</owl:Restriction>

<owl:Restriction>

<owl:onProperty rdf:resource="#optics"/>

<owl:allValuesFrom rdf:resource="#Normal"/>

</owl:Restriction>

</owl:unionOf>

</owl:Class>

</owl:intersectionOf>

</owl:Class>

Read as: "Large-Format is a Camera with Micro, Macro, or Normal optics."

quickly recognizing irrelevant data

Costello/Jacobs

Quickly Recognizing Irrelevant Data
  • The previous two examples covered opposite ends of the spectrum:
    • recognizing when data is relevant
    • recognizing when data is NOT relevant.
  • With both cases, it was the (Camera) ontology which provided the critical information needed to make the assessment of relevance.

Cairns, Australia

ontologies vs markups

Costello/Jacobs

Ontologies vs. Markups
  • Ontologies contain “persistent” information
  • Markups – data about specific instances of classes and properties
  • E.g., general knowledge about the class Camera (ontology) vs. data about specific cameras in a specific store (markup)
  • OWL does not enforce this separation

Cairns, Australia

ontologies vs markups1

Costello/Jacobs

Ontologies vs. Markups

<owl:Class rdf:ID="River">

<rdfs:subClassOf rdf:resource="#Stream"/>

</owl:Class>

<?xml version="1.0"?>

<River rdf:ID="Yangtze"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns="http://www.geodesy.org/water/naturally-occurring#">

<connectsTo rdf:resource="http://www.china.org/rivers#Wu"/>

<connectsTo rdf:resource="http://www.china.org/geography#EastChinaSea"/>

</River>

Cairns, Australia

properties

Costello/Jacobs

Properties

<owl:ObjectProperty rdf:ID="emptiesInto">

<rdfs:domain rdf:resource="#River"/>

<rdfs:range rdf:resource="#BodyOfWater"/>

</owl:ObjectProperty>

<owl:DatatypeProperty rdf:ID="length">

<rdfs:domain rdf:resource="#River"/>

<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/>

</owl:DatatypeProperty>

Cairns, Australia

language constructs owl lite
Class

rdf:Property

rdfs:subClassOf

rdfs:subPropertyOf

rdfs:domain

rdfs:range

Individual

equivalentClass

equivalentProperty

sameIndividualAs

differentFrom

allDifferent

inverseOf

TransitiveProperty

SymmetricProperty

FunctionalProperty

InverseFunctionalProperty

allValuesFrom

someValuesFrom

minCardinality (only 0 or 1)

maxCardinality (only 0 or 1)

cardinality (only 0 or 1)

intersectionOf

Imports

priorVersion

…more

Language Constructs: OWL Lite

Cairns, Australia

language constructs dl full
one of

disjointWith

equivalentClass

(applied to class expressions)

rdfs:subClassOf

(applied to class expressions)

unionOf

intersectionOf

complementOf

Arbitrary Cardinality

minCardinality

maxCardinality

cardinality

hasValue

Language Constructs: DL & Full

Cairns, Australia

differences
Differences
  • OWL Lite
    • simplest; simple constraints
    • but easy to develop tools
  • OWL DL (for Description Logics)
    • more complex and expressive
    • still decidable
  • OWL Full
    • expressive
    • no computational guarantees
  • But for Level 2 Fusion we need Rules!

Cairns, Australia

querying
Querying
  • Once an ontology and a markup exist, we can ask various domain-related questions
  • What is the language for querying?
  • DQL – an abstract specification of query languages for ontologies, especially when distributed over the (semantic) web

Cairns, Australia

dql framework
DQL Framework
  • A Knowledge Base (KB) about the domain (markup) expressed in terms of an Ontology, both in turn expressed in an ontology language (DAML, OWL, …)
  • A query agent that formulates a query
  • A server agent that answers the query – matching and reasoning needed
  • A protocol for query/answer session

Cairns, Australia

query example
Query Example
  • Q: Who owns a red car?
  • A: Joe owns a red car.
  • Note:
    • A shows the owner’s id
    • A doesn’t show the car id
    • Must-bind, may-bind, don’t-bind variables
  • Q: Does every person have one father?
  • A: Need reasoning to get the answer
    • Monotonic vs. non-monotonic reasoning

Cairns, Australia

dql query
DQL Query
  • Query pattern – a DAML sentence with some constants replaced by variables
  • Answer KB pattern – don’t have to list the KB’s, can be just variables
  • Must-bind, may-bind variable list
  • Answer pattern – form of answer
  • Query premise – “what if” questions
  • Justification request – why this answer?

Cairns, Australia

answer
Answer
  • Answer must be entailed by the KB or conjunction of KB’s
  • Bindings of the must-bind variables and possibly may-bind variables
  • Or just a DAML sentence

Important: Any DAML/OWL sentence can be turned into a DQL query. Flexibility!

Cairns, Australia

dql query example
DQL Query Example

If C1 is a Seafood Course

and W1 is a drink of C1,

what color is W1?

P: (and (type C1 Seafood-Course) (drink C1 W1) )

Q: (has-color W1 ?x) must-bind ?x

A: White

Cairns, Australia

daml query example
DAML Query Example

<dql:query xmlns:dql=http://www.daml.org/2002/10/dql-syntax#

xmlns:var="http://www.daml.org/2002/10/dql-variables#">

<dql:premise>

<rdf:RDF>

<rdf:Description rdf:about="#C1">

<rdf:type rdf:resource="#Seafood-Course"/>

<drink rdf:resource="#W1"/>

</rdf:Description>

</rdf:RDF>

</dql:premise>

Continued on next slide …

Cairns, Australia

daml query example cont
DAML Query Example (cont.)

<dql:queryPattern>

<rdf:RDF>

<rdf:Description rdf:about="#W1">

<has-color rdf:resource="http://www.daml.org/2002/10/dql-variables#x"/>

</rdf:Description>

</rdf:RDF>

</dql:queryPattern>

<dql:mustBindVars>

<var:x/>

</dql:mustBindVars>

<dql:answerKBPattern>

<dql:kbRef rdf:resource="http://ontolingua.stanford.edu/wines.daml"/> </dql:answerKBPattern>

<dql:answerSizeBound>5</dql:answerSizeBound>

</dql:query>

Wordy but expressive!

reasoning
Reasoning
  • Answers to queries so far have been derived by you based upon what you knew about an ontology, a markup and a query, using your own logic
  • We need computer support for Level 2
  • Need automatic reasoning (e.g., theorem proving, rule based systems)
  • OWL is a language with formal semantics:
    • model-theory based semantics (math) exist for DAML and OWL
    • axiomatic semantics (KIF, MetaSlang), so far exist for DAML, OWL in progress)
  • Two approaches:
    • Express formal semantics in OWL and then reason in OWL
    • Express formal semantics in another formal language and use (existing) reasoner [preferred solution so far]
  • But in both cases we need to formalize Level 2

Cairns, Australia

daml axioms example kif
DAML Axioms: Example (KIF)

(:name subClassOf-axiom-2

:description " An object CSUPER is a value of \"subClassOf\" for an object CSUB

if and only if CSUPER is type \"Class\", CSUB is type \"Class\",

CSUB is not CSUPER, and if an object X is type CSUB

then it is also type CSUPER. subclass are also in the superclass.) "

:body (<=> (PropertyValue subClassOf ?csub ?csuper)

(and (Type ?csub rdfs:Class)

(Type ?csuper rdfs:Class)

(forall (?x) (=> (Type ?x ?csub) (Type ?x ?csuper))))))

There are ~ 137 DAML axioms expressed in KIF.

Cairns, Australia

daml axioms example metaslang
DAML Axioms: Example (MetaSlang)

axiom definition-of-subclassof-Ax32 is

fa(csub : Element, csuper : Element)

(PropertyValue(subClassOf, csub, csuper) <=>

((Type(csub, Class) &

Type(csuper, Class) &

(fa(x : Element)

(Type(x, csub) => Type(x, csuper))))))

Cairns, Australia

inference engines
Inference Engines
  • SNARK SRI's New Automated Reasoning Kit
  • JTP Java Theorem Prover
  • JESS Java Expert System Shell
  • CWM W3C Semantic Web's Closed World Machine
  • KM The Knowledge Machine
  • Otter
  • PowerLoom Knowledge Representation System
  • many others
  • They are not DAML/OWL specific

Cairns, Australia

inference rules
Inference Rules

Inference rules (or derivation rules) generate conclusions

given assumptions.

Rule name: Modus Ponens

A, A  B ┝ B

All men are mortal.

Socrates is a man.

Socrates is mortal.

Cairns, Australia

inference rules1
Inference Rules
  • JTP
    • Demodulation, Function Rule, Generalized Modus Ponens, Membership, Reformulation, Subsumption, Time Point, Direct Assertion
  • SNARK
    • Assumption, Binary Resolution, Hyperresolution, Negated Conclusion, Paramodulation, Direct Assertion

Cairns, Australia

core saw ontology
Core SAW Ontology

Cairns, Australia

snapshot design
“Snapshot” Design
  • Everything is captured for each time instant
  • Advantage: easy to retrieve (by time index)
  • Disadvantages:
    • Keep records even if nothing changes
    • Information must arrive in lock-step fashion (fixed delta-t)

Cairns, Australia

time interval design
Time-Interval Design
  • Attributes and relations for arbitrary time intervals
  • Problem: where to keep uncertainty info for relations?
    • Relation – would be constant over time
    • Time Interval – would be the same for all relations

Cairns, Australia

property value with certainty
Property Value with Certainty
  • Uncertainty part of Relations and Attributes through PropertyValue
  • Problem: PropertyValues are associated with time events and not arrival of new information

Cairns, Australia

event notices
Event Notices
  • PropertyValues are associated with EventNotices, i.e., with arrival of new information (e.g., Level 1 events)

Cairns, Australia

battlefield scenario
Battlefield Scenario

Cairns, Australia

saw ontology extensions
SAW Ontology Extensions
  • Q: Is Core SAW Ontology sufficient to represent this scenario
  • A: No.
  • Q: Can it be extended, or would it need to be changed?
  • A: It needs to be extended

Cairns, Australia

battlefield ontology
Battlefield Ontology

Cairns, Australia

saw process flow
SAW Process Flow

Cairns, Australia

relevance determination

Find

Relevant

Relations

Relevant

Relations

relevant.xsl

Find

Relevant

Events

Find

Relevant

Theory

relevantTheory.xsl

relevantEvents.xsl

Relevant Theory

Relevant Events

Relevance Determination

Goal Relation

Scenario Events

Domain Theory

Cairns, Australia

saw fomalization
SAW Fomalization
  • Formal SAW Definition
  • Fusion
  • Uncertainty

Cairns, Australia

formal saw definition
Formal SAW Definition

Cairns, Australia

terms mapped to ontology classes
Terms Mapped to Ontology Classes
  • Goal:TgGoal
  • Theory of world: ToSAW Ontology
  • Other theories: Ti other ontologies
  • Measurement:WiEventNotices
  • Models: MiAttributeValue and RelationValue
  • Object: OiSituationObject
  • Relation: RiRelation

Cairns, Australia

so where is l2 fusion
So Where is L2 Fusion?
  • Association – robber/speeder example (co-reference resolution)
  • Fusion of theories into one theory and models into one model using colimits
  • Domain Theory-Driven Fusion
    • Automatic derivation of procedures for checking relations
  • Fusion Theory-Driven Fusion
    • Identifying and resolving conflicts according to fusion rules

Cairns, Australia

fusion diagram
Fusion Diagram

Sf

S

S2

S1

Sw

import

Sc

Sr

Sb

A Metaslang example later …

Cairns, Australia

fusion examples
Fusion Examples

Fusion theory

Domain theory

Level I

Cairns, Australia

uncertainty processing
Uncertainty Processing

Processing

Specification

(no uncertainty)

Input Annotated

with Uncertainty

Specifications

Ontology of

Uncertainty

Processing

Transformation

of Processing

Specification

Processing

Specification

(with uncertainty)

Interpretation

of Processing

Specification

Results

(annotated with

uncertainty)

  • Assume inputs annotated with uncertainty (fuzzy)
  • We have a (partial) formal ontology of fuzzy processing
  • Specify processing in a formal language
  • Integrate the crisp spec with Ontology of Uncertainty
  • Apply fuzzy processing
  • Assess results

Cairns, Australia

situation analysis crisp
Situation Analysis - Crisp

Fusion

Ontology

Other

Ontologies

Rule

Ontology

Relevance

Ontology

Meta

Annotation

Process

Create

Ontology

Relevance

Of

Relations

Verify

Relations

SAW

Ontology

& Rules

Meta

Annotation

Relevant

Relations

Goal

Situation

Annotation

Process

Verified

Relations

Situation

Annotation

Cairns, Australia

situation analysis fuzzy
Situation Analysis: Fuzzy

Fusion

Ontology

Other

Ontologies

Rule

Ontology

Uncertainty

Ontology

Relevance

Ontology

Meta

Annotation

Process

Create

Ontology

Relevance

Of

Relations

Verify

Relations

SAW

Ontology

& Rules

Meta

Annotation

Relevant

Relations

Goal

Situation

Annotation

Process

Verified Relations

(Situation)

Situation

Annotation

Cairns, Australia

uncertainty with colimits
Uncertainty with Colimits

Certainty Colimit

Number Colimit

Fuzzy Integers

Fuzzy Boolean Logic

Boolean Logic

Fuzzy Theory

Integers

Fuzzy Theory

Domain Theory

Domain Theory

Two of seven colimits: time, Boolean, integers, angles, vectors, sets and quantity.

Cairns, Australia

fusion of uncertainty
Fusion of Uncertainty

Fusion theory

Domain theory

Level I

Cairns, Australia

formal process
Formal Process
  • Possess a Theory of the World, TO, consisting of a number of interrelated theories T1, T2, T3… and specify all of them in a formal language.
  • Post a Goal Tg in terms of the formal language (query).
  • Demonstrate the process of selecting relevant theories, T1, T2, T3…from among the theories of the world.
  • Gather measurements (events), W1, W2, W3… and specify them in a formal language.
  • Specify (in the formal language) and then select relevant models, M1, M2, M3… of the relevant theories.
  • Combine the relevant theories (theory fusion) within the formal methods tool (Specware) using the category theory operator of colimit.
  • Similarly, combine the relevant models (model fusion) so that the combined model satisfies the combined theory from step 6 above.
  • The Ultimate Goal: Prove/disprove the Goal theorem using the combined theory. This proof includes the fusion of:

a. theories

b. models

c. uncertainty.

1 theory of the world
1. Theory of the World

Possess a Theory of the World, TO, consisting of a number of interrelated theories T1, T2, T3… and specify all of them in a formal language.

The SAW Ontology is the Theory of the World and the Domain Specific ontologies (e.g., Battlefied, Obstacles) are the interrelated theories.

Cairns, Australia

metaslang example
Metaslang Example

% Defend(U,R) :- U.status == "functional", InRegion(U,R), RegionFreeOfOpposingFactions(R,U).

% Defend(U,R) :- InRegion(E,R), OfOpposingFactions(U,E), Attacking(U,E).

axiom defend_rule1 is

fa(n:SituationSort,s:Source,u:Object,r:Object,t:Time)

(((Functional memberOf (case av(s,u,Status,t) of StatusCons c -> c))

conj rv(n,s,InRegion,[u,r],t))

conj rv(n,s,RegionFreeOfOpposingFactions,[r,u],t))

smaller rv(n,s,Defend,[u,r],t)

axiom defend_rule2 is

fa(n:SituationSort,s:Source,u:Object,r:Object,e:Object,t:Time)

((rv(n,s,InRegion,[e,r],t) conj rv(n,s,OfOpposingFactions,[u,e],t))

conj rv(n,s,Attacking,[u,e],t))

smaller rv(n,s,Defend,[u,r],t)

Cairns, Australia

2 post a goal query
2. Post a Goal Query

Post a Goal Tg in terms of the formal language.

conjecture fusion_freedom is

90 smaller rv(Situation1,Sensor1,RegionFreeOfOpposingFactions,

[Region1,Tank1],1200)

This goal (conjecture, query) states (in Metaslang) that according to a report from Sensor1, relevant to Situation1, at time 12:00, the region Region1 is free of opposing factions, where opposing is with respect to Tank1.

Cairns, Australia

3 selecting relevant theories
3. Selecting Relevant Theories

Select relevant theories, T1, T2, T3… from among the theories of the world.

Meta-annotate rules, then analyze dependencies among the rules starting with Goal; select the rules that Goal depends upon, either directly or indirectly.

Another approach: Use XSLT scripts to select relevant theories by using the goal to pick out relevant sub-trees from the domain knowledge rules.

Cairns, Australia

example derivation tree
Example: Derivation Tree

Defend(U,R) :-

InRegion(U,R),

RegionFreeOfOpposingFactions(R,U).

Defend(U,R) :-

InRegion(E,R),

OfOpposingFactions(U,E),

Attacking(U,E).

defend(U,R)

inRegion(E,R)

ofOpposingForces(U,E)

attacking(U,E)

inRegion(U,R)

freeOfOpposingUnits(R,U)

firingAt(U,E)

ofOpposingForces(U,E)

outOfRange(E,U)

advancingTowards(U,E)

Cairns, Australia

xslt example
XSLT Example

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0">

<xsl:output method="xml"/>

<xsl:variable name="relevanceFile" select="'Relevant.xml'"/>

<xsl:template match="/">

<xsl:text>&#xa;</xsl:text>

<xsl:for-each select="/rulebase/imp">

<xsl:variable name="relation" select="_head/atom/_opr/rel"/>

<xsl:if test="document('Relevant.xml')//relation=$relation">

<xsl:copy-of select="."/>

</xsl:if>

</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

Cairns, Australia

4 collect events
4. Collect Events

Gather measurements, W1, W2, W3… and specify them in a formal language.

EID Time Source Cert OID Type Pos Vel Volume Dir Status Fir Fact

E1 12:00 Sensor1 1.0 Tank1 Tank 20,-40 0,0 20,40 1,0 Full no Blue

E2 12:00 Sensor1 1.0 Tank2 Tank 30,-90 0,0 20,40 1,0 Full no Blue

E3 12:00 Sensor1 1.0 Tank3 Tank 20,-130 0,0 20,40 1,0 Full no Blue

E4 12:00 Observer1 1.0 OP1 OP 60,-150 0,0 20,20 NA Full no Blue

E5 12:00 Observer1 1.0 MF1 MF 110,-150 0,0 40,160 NA Full no Blue

Convert to

DAML

Convert to

Slang

CSV Events

DAML Events

Slang Events

csv2damlEvents.pl

damlEvents2slang.xsl

Cairns, Australia

5 select relevant models
5. Select Relevant Models

Specify (in the formal language) and then select relevant models, M1, M2, M3… of the relevant theories.

XSLT scripts used to select relevant instance annotations which are those that can participate in relevant theories.

Cairns, Australia

6 combine theories
6. Combine Theories

Combine the relevant theories (theory fusion) within the formal methods tool (Specware) using the category theory operator of colimit.

MilPropertyValueColimit = colimit diagram {

A +-> sit#PropertyValueSpec,

B +-> mil#MilAttributeSpec,

m: MilPropertyTrivial -> A +->

morphism MilPropertyTrivial -> sit#PropertyValueSpec

{ ObjectType +-> ObjectType, TypeSort +->

AttributeSort, attr +-> attr },

n: MilPropertyTrivial -> B +->

morphism MilPropertyTrivial -> mil#MilAttributeSpec

{ ObjectType +-> ObjectType, TypeSort +->

MilAttributeSort, attr +-> attr }

}

Cairns, Australia

7 combine models
7. Combine Models

Similarly, combine the relevant models (model fusion) so that the combined model satisfies the combined theory from step 6 above.

E1 = spec

import S1

op Tank1: Object

axiom a1 is av(Sensor1, Tank1, MilType, 1200) = MilTypeCons(makeSingleton(Tank,100))

axiom a2 is av(Sensor1, Tank1, Position, 1200) = PositionCons(makeVector(20,~40,100))

axiom a3 is av(Sensor1, Tank1, Velocity, 1200) = VelocityCons(makeVector(0,0,100))

axiom a4 is av(Sensor1, Tank1, Volume, 1200) = VolumeCons(makeVector(20,40,100))

axiom a5 is av(Sensor1, Tank1, FacingDir, 1200) = FacingDirCons(makeVector(1,0,100))

endspec

Scenario1 = spec

import E1

import E2

import E3

import E4

import E5

op region1: Object

endspec

8 prove disprove goal
8. Prove/disprove Goal

The Ultimate Goal: Prove/disprove the Goal using the combined theory. This proof should exemplify the fusion of: theories, models, uncertainty

Demonstration.

Cairns, Australia

tools and languages
Tools and Languages

Rational

Rose

DUET

Excel

DAML

Ontologies

CSV

(Comma-

Separate

Values)

Saxon

Perl

UML

as XMI

DAML

Instance

Annotations

Specware

XSLT

RuleML

Metaslang

SNARK

Emacs

Cairns, Australia

daml example
DAML Example

<saw:Event rdf:ID="E1">

<saw:time rdf:datatype="xsd:dateTime">12:00</saw:time>

<saw:eventSource rdf:datatype="xsd:IDREF">Sensor1</saw:eventSource>

<saw:affects>

<saw:PhysicalObject xsd:IDREF="Tank1">

<saw:attribute>

<saw:MilType>

<saw:value>

<saw:PropertyValue>

<saw:value rdf:datatype="saw:Object">Tank</saw:value>

<saw:certainty rdf:datatype="xsd:float">1.0</saw:certainty>

</saw:PropertyValue>

</saw:value>

</saw:MilType>

</saw:attribute>

<saw:attribute>

<saw:Position>

<saw:value>

<saw:PropertyValue>

<saw:value rdf:datatype="saw:Vector">20,-40</saw:value>

<saw:certainty rdf:datatype="xsd:float">1.0</saw:certainty>

</saw:PropertyValue>

</saw:value>

</saw:Position>

</saw:attribute>

...

ruleml example
RuleML Example

<imp>

<_head>

<atom>

<_opr><rel>attacking</rel></_opr>

<var>X</var>

<var>Y</var>

</atom>

</_head>

<_body>

<and>

<atom>

<_opr><rel>ofOpposingFactions</rel></_opr>

<var>X</var>

<var>Y</var>

</atom>

<atom>

<_opr><rel>outOfRange</rel></_opr>

<var>X</var>

<var>Y</var>

</atom>

<atom>

<_opr><rel>advancingTowards</rel></_opr>

<var>X</var>

<var>Y</var>

</atom>

</and>

</_body>

</imp>

conclusion
Conclusion
  • Showed technology for Level 2 fusion
  • Focus on situation awareness (SAW)
  • Ontologies – to define Level 2 language
  • Annotations (markups) for facts
  • DQL for queries
  • Reasoning for answering queries

Flexibility, flexibility, flexibility!

Cairns, Australia

challenges
Challenges
  • Ontology development
    • Consensus
    • Tools
  • Markup development – tools
  • Reasoners – efficiency
  • Uncertainty – automatic incorporation into answers
  • Applications, applications, more applications!

Cairns, Australia

formalization of fusion approach
Formalization of Fusion: Approach
  • Fusion at the specification level
  • Use category theory
    • Can express both syntactic and semantic structures (objects and categories)
    • Can relate structures (morphisms and functors)
    • Support for composition (colimit)
    • Is supported by the SpecwareTM tool (Kestrel Institute)

Cairns, Australia

category theory colimit
Category Theory: Colimit

Cairns, Australia

specifications example
Specifications: Example

Specification SP is a pair áS, Fñ, where

S = áS, Wñ - a signature

F - a collection of S-sentences (axioms).

Cairns, Australia

data fusion example
Data Fusion: Example

Sf

spec Sf is

import

colimit of diagram

nodes Sc, S1, S2, Sw

arcs

Sc -> Sw : {Xx -> X, Xy -> Y},

Sc -> S1 : {Xx -> X1, Xy -> Y1},

Sc -> S2 : {Xx -> X2, Xy -> Y2}

end-diagram

op Df: (X1* Y1 -> V1, X2 * Y2 -> V2)

-> (X * Y -> E)

end-spec

S2

S1

Sw

Sc

Cairns, Australia

decision fusion
Decision Fusion

Sd

Sd1, Sd2 – decision specs

Sd1

Sd2

Sd – decision fusion spec

S1

Sw

S2

Sc

Cairns, Australia

fusing functions construction of d f
Fusing Functions: Construction of Df

D1 D2

(X  E)  (X  E)

(X  V1), (X  V2)

Dd

Df

(X  E)

X  V1

X  E

D1

X  E

Dd

D2

X  V2

X  E

Cairns, Australia