Ontologies & Pervasive Computing
Download
Report
Transcript Ontologies & Pervasive Computing
Ambient Intelligence
through Ontologies
Vassileios Tsetsos
[email protected]
P-comp Research Group
http://p-comp.di.uoa.gr
What is an ontology?
A formal, explicit specification of a
shared conceptualization. (Studer 1998,
original definition by Gruber in 1993)
Formal: it is machine-readable
Explicit specification: it explicitly defines concepts,
relations, attributes and constraints
Shared: it is accepted by a group
Conceptualization: an abstract model of a phenomenon
What is an ontology?
Taxonomy, classification, vocabulary, logical theory, …
Concepts/classes, relations, properties/slots,
instances/objects, restrictions/constraints, axioms, rules
Heavyweight vs. Lightweight
They differ in expressiveness, reasoning
capabilities, complexity, decidability.
Lightweight
Heavyweight
E-R diagrams, UML
Description Logics, frames, first order logic
There are W3C standards for each case (RDF,
RDF Schema, OWL)
We should choose carefully!
Types of Ontologies (1)
Upper Level Ontologies
Describe
very general concepts.
SUO (IEEE Standard Upper Ontology)
KR Ontologies
Representation
primitives => Semanticallydescribed grammars of ontology languages.
OKBC, OWL KR, RDF Schema KR
Types of Ontologies (2)
Domain Ontologies
Are
specializations of Upper Level Ontologies,
reusable in a given domain (e.g., a generic ontology
for smart environments)
Unified Medical Language System (UMLS)
Application Ontologies
They
model all the knowledge required for a particular
application (e.g., an ontology for a specific smart
classroom)
Some examples
IEEE SUO
RDF(S) KR
Many advantages
Provide formal model descriptions that allow reasoning
They support common queries:
Are quite scalable (especially Semantic Web ones)
Provide interoperability as they are agreed by a community
(…at least this should be the case!)
SW ontology languages
Queries about the truth of statements (Is there a printer in room I9?)
Queries expecting an object to be returned (Where is John?)
…
are XML-based => XML advantages
have been standardized and are widely used
Pervasive Computing (PC)
Computing paradigm that envisages:
Ubiquitous
networking and service access
Intelligence
Intuitive HCI
Context-awareness
Seamless interoperation between heterogeneous
agents
Privacy and Security
…
Ontology applications in PC
Context modeling & reasoning
Context
ontologies (location, time) which define
structure and properties of contextual information
Semantic Web Services
Semantic
description => automated discovery and
matchmaking, composition, invocation, …
Semantic interoperability between
heterogeneous systems (e.g., agents) through a
shared set of concepts
Security and trust
Some “PC+Ontologies” projects
CoBrA
SOUPA
Gaia
Other
CoBrA (1)
eBiquity Research Group, UMBC
http://ebiquity.umbc.edu
A broker-centric agent architecture that aims to reduce
the cost and difficulties in building pervasive contextaware systems.
In this architecture, a Context Broker is responsible to:
Acquire & maintain contexts on the behalf of resource-poor
devices & agents
Enable agents to contribute to and access a shared model of
contexts
Allow users to use policy to control the access of their personal
information
CoBrA (2)
Context Broker:
maintains a model of
the present context and
shares this model of
context knowledge with
other agents, services
and devices.
CoBrA ontologies
A set of ontologies that specialize the
SOUPA Ontology.
They model the context and the processes
of pervasive environments.
E.g., CoBrA Place
models different types of “Place” on a
university campus
CoBrA Place Ontology
SOUPA (1)
Standard Ontology for Ubiquitous and
Pervasive Applications (SOUPA)
eBiquity
@ UMBC,
http://pervasive.semanticweb.org
Written in OWL
SOUPA (2)
Gaia (1)
A PC infrastructure for smart spaces
CORBA-based middleware for the
management of Spaces
Ontologies written in DAML+OIL
Gaia (2)
Ontology Server: definitions of terms,
descriptions of agents and meta-information
about context available in a Space
Checks ontology consistency and provides
maintenance
Semantic interoperability is performed through
the common adoption of the same ontologies by
all agents
Ontologies also help the developer to write
inference rules or machine learning code in a
generic way
Other uses of ontologies in Gaia
Configuration management
Semantic discovery with a FaCT Server
Semantic queries involve subsumption and classification of
concepts
Context modeling
New unknown entities may enter a Space
In earlier version: scripts & ad hoc configuration files
Context is modeled as predicates
e.g., temperature (room3,”-”,98F)
Ontologies describe the type and values of predicate arguments
Context-sensitive behavior
The developers can specify the behavior of the applications
under certain contextual conditions through the supported
ontologies.
The Gaia infrastructure
Gaia context infrastructure
The ontology infrastructure of Gaia
CONON: The context ontology
Extensible ontology comprised of:
Upper
Level Ontology
Specific Ontology
Written in OWL
Enables DL reasoning (subsumption,
consistency, instance checking, implicit context
from explicit context) with OWL-Lite axioms
Enables First Order Logic reasoning (inference
of higher level context) with user-defined rules
Trust
SW entails a Web of Trust
PC requires ad-hoc soft-security models
Ontologies can model semantic networks
of trusted entities and allow trust inference
Ontologies are used for the definition of
(rule-based) Policy Languages
Rei,
KAoS
Trust inference
Directly connected nodes have known trust
values
Trust for not directly connected nodes can be
inferred with several algorithms:
Maximum
and minimum capacity paths (~ the range
of trust given by neighbors of X to Y)
Maximum and minimum length paths (~ how “far” is Y
from X?)
Weighted average (~ recommended trust value for X
to Y). It is a very complex algorithm!!! Why?
Complexity of trust computation
Trust is affected by social, contextual and other
ad hoc conditions
Example (on the subject of “AutoRepair”)
A distrusts
B, B distrusts C => A trusts C?
A may want to trust C, because B distrusts C
If C cannot be trusted by B, A may distrust C even more
A complete solution: semantic descriptions of
trusted entities and user-defined trust policies
FOAF Ontology
Builds social networks
Individuals are described by name, e-mail, homepage, etc.
There are links between individuals
A trust ontology (1)
Nine levels of trust (trustsHighly,
distrustsSlightly, etc.)
Extending foaf:Person (1)
<Person rdf:ID="Joe">
<mbox rdf:resource="mailto:[email protected]"/>
<trustsHighly rdf:resource="#Sue"/>
</Person>
A trust ontology (2)
Extending foaf:Person (2)
<Person rdf:ID="Bob">
<mbox rdf:resource="mailto:[email protected]"/>
<trustsHighlyRe>
<TrustsRegarding>
<trustsPerson rdf:resource="#Dan"/>
<trustsOnSubject rdf:resource="http://example.com/ont#Research"/>
</TrustsRegarding>
</trustsHighlyRe>
<distrustsAbsolutelyRe>
<TrustsRegarding>
<trustsPerson rdf:resource="#Dan"/>
<trustsOnSubject rdf:resource="http://example.com/ont#AutoRepair"/>
</TrustsRegarding>
</distrustsAbsolutelyRe>
</Person>
Current and future work in P-comp
Semantic Web Services
Description Logics
Location modeling
Tools survey and experimentation
Meta-information for sensor data
Ontologies for medical applications
Any ideas???
Location modeling (1)
Ontologies can map and interconnect different
underlying spatial representations
This facilitates advanced reasoning and user-defined
queries
A “location modeling team” is currently being formed to
design and develop a system:
With human-centered, 3D indoor spatial representation
Which supports declarative and semantically-rich queries
Which supports mobile users and location prediction
Which seamlessly integrates different spatial representation
approaches (set-based, graph-based, geometric)
Location modeling (2)
Queries
User Applications
(e.g., navigation)
This is actually a
Domain Ontology
Top-Level
Location Ontology
(Prediction-driven)
Events
Application
Ontology 1
Application
Ontology 2
Application
Ontology 3
Model Mapping
Engine 2
Model Mapping
Engine 3
Explicit
Semantics
Model Mapping
Engine 1
Different DB
platforms,
access terms,
conceptual
models
Oracle
Spatial
DOMINO
Location
Ontology
Repository
Some open research issues
Can they efficiently model sensor data?
Will the introduction of Probability elements
improve their effectiveness? If yes, how can this
be implemented?
Development of user-friendly tools and powerful
& efficient reasoners
Automated ontology generation/extraction
and easy ontology maintenance
Further reading
Ontological Engineering, Gómez-Pérez, Fernández-López, Corcho, 2004,
Springer
Harry Chen et al., "SOUPA: Standard Ontology for Ubiquitous and
Pervasive Applications", International Conference on Mobile and Ubiquitous
Systems: Networking and Services, August 2004.
Harry Chen et al., "A Context Broker for Building Smart Meeting Rooms",
Proceedings of the Knowledge Representation and Ontology for
Autonomous Systems Symposium, 2004 AAAI Spring Symposium, March
2004.
Robert E. McGrath, Anand Ranganathan, Roy H. Campbell and M. Dennis
Mickunas, Use of Ontologies in Pervasive Computing Environments
Xiao Hang Wang, et al., Ontology Based Context Modeling and Reasoning
using OWL, Second IEEE Annual Conference on Pervasive Computing and
Communications Workshops, 2004
Jennifer Golbeck, James Hendler, Trust Networks on the Semantic Web,
WWW 2003
RDFWeb: FOAF: ‘the friend of a friend vocabulary’, http://rdfweb.org/foaf/