Paikari-Ontology Pervasive Computing2.ppt

advertisement
ONTOLOGY
& PERVASIVE
COMPUTING
Elham Paikari
Distributed Systems – Spring 2006
Computer Engineering Department
Sharif University Of Technology
DS - Spring 2006
1
Introduction
Why do we use ontology?
To describe the semantics of the data
(which we name as Meta-Data)
Why do we describe the semantics?
In order to provide a uniform way to make
different parties to understand each other
Which data?
Any data (on the web, or in the existing
legacy databases)
DS - Spring 2006
Ontology & Pervasive Computing
2
Introduction
Formal definition on Ontology:
Ontologies are knowledge bodies that provide
a formal representation of a shared
conceptualization of a particular domain.
Recently ontologies have become increasingly
common on WWW where they provide semantics
of annotations in web pages
There is growing evidence for the potential value
of Semantic Web technology for Web Services and
other open, distributed systems.
DS - Spring 2006
Ontology & Pervasive Computing
3
What Is “Ontology Engineering”?
Ontology Engineering: Defining terms in
the domain and relations among them
Defining concepts in the domain (classes)
Arranging the concepts in a hierarchy
(subclass-super class hierarchy)
Defining which attributes and properties
(slots)
classes can have and constraints on their
values
Defining individuals and filling in slot values
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
DS - Spring 2006
Ontology & Pervasive Computing
define
constraints
create
instances
4
A Formal Definition
Domain-specific vocabulary
Well-defined semantic structure
Classes/concepts/types
E.g., a class { Publication } represents all publications
E.g., a class { Publication } can have subclasses {
Newspaper }, { Journal }
Instances/individuals/objects
E.g., the newspaper Le Monde is an instance of the class {
Newspaper }
Properties/roles/slots
Data
E.g., the class { Publication } and its subclasses {
Newspaper }, { Journal } have a data property {
numberOfPages }
Object
E.g., the class { Publication } and its subclasses {
Newspaper }, { Journal } have an object property {
publishes }
DS - Spring 2006
Ontology & Pervasive Computing
5
What they are good for
Search
Concept-based query: User uses own words,
language
Intelligent query expansion: “fishing vessels in
China” expands to “fishing vessels in Asia”
Consistency checking
e.g., “Goods” has a property called “price”
that has a value restriction of number
Interoperability support
Terms defined in expressive ontologies allow
for mapping precisely how one term relates to
another
DS - Spring 2006
Ontology & Pervasive Computing
6
Ontology Languages
Graphical notations
Semantic networks
Topic maps
UML
RDF
Logic based
Description Logics (e.g., OIL, DAML+OIL, OWL)
Rules (e.g., RuleML, LP/Prolog)
First Order Logic
DS - Spring 2006
Ontology & Pervasive Computing
7
OWL (RDF/XML)
An example ontology for profiling in OWL:
<per:Person
rdf:about="http://umbc.edu/people/hchen4">
<per:firstName
rdf:datatype="&xsd;string">Jane</per:firstName>
<per:lastName
rdf:datatype="&xsd;string">Smith</per:lastName>
<per:birthDate rdf:datatype="&xsd;date">1976-1226</per:birthDate>
<per:gender rdf:resource="&per;Female"/>
...
</per:Person>
DS - Spring 2006
Ontology & Pervasive Computing
8
Pervasive Computing Environments
Physical environments saturated with
computing and communication, yet
gracefully integrated with human users.
Distributed computing systems
Large number of autonomous entities (or
agents)
DS - Spring 2006
Ontology & Pervasive Computing
9
Pervasive Computing Environments
Entities: devices, applications, services,
databases, users or other kinds of agents.
Various types of middleware (based on
CORBA, Java RMI, SOAP, etc.) Enable
communication between different entities.
No facilities to ease semantic
interoperability between the different
entities.
DS - Spring 2006
Ontology & Pervasive Computing
10
Why ontology &pervasive computing
The ad hoc, and dynamic Nature
late binding
The user interface, available while on the go, is
usually limited in modalities,
bandwidth between users, and so on.
Ontologies in the pervasive computing
environment are more manageable compared
to, for example, those for the Internet.
DS - Spring 2006
Ontology & Pervasive Computing
11
Why ontology &pervasive computing
Ontologies for devices will be created by device
manufacturers, which can put resources into their
creation. Embodiments of devices with physical
representations related to the particular location
lead to simpler ontologies.
You can have the same device in the next room
or downstairs, and there is real reuse of ontologies
enabled by natural boundaries in physical
environments.
On the other hand, people and companies on
the Internet are under the constant pressure of
differentiating from others because of the
Internet’s universal connectivity (the
very reason for its success).
DS - Spring 2006
Ontology & Pervasive Computing
12
Three Major Issues
Confront the development and deployment
of Pervasive Computing Environments:
Discovery and Matchmaking
Inter-operability between different entities
Context-awareness
DS - Spring 2006
Ontology & Pervasive Computing
13
Discovery
Registries to keep a real time state of the system
A protocol for discovering the arrival and
departure of mobile entities
A registry with these protocols is termed a
“Discovery Service”
Standard schemas
Policies, constraints, and relationships
Flexible mechanism for exchanging descriptive
information
DS - Spring 2006
Ontology & Pervasive Computing
14
Matchmaking
using the Discovery Service to
discover
what entities are available
what sets or combinations meet
certain criteria
DS - Spring 2006
Ontology & Pervasive Computing
15
Inter-operability
New entities
The interaction
Autonomous entities to interact need to know :
What kinds of interfaces they support
What protocols or commands they understand
Humans need to understand:
What various entities do
The relationships between such entities
It is essential for humans to form an accurate
conceptual model of the environment:
“They can interact with the environment easily.”
DS - Spring 2006
Ontology & Pervasive Computing
16
Context-Awareness
The various types of contextual information that
can be used in the environment must be welldefined so that different entities have a common
understanding of context.
Also, there needs to be mechanisms for humans
to specify how different applications and services
should behave in different contexts.
These mechanisms need to be based on welldefined structures of different types of context
information.
DS - Spring 2006
Ontology & Pervasive Computing
17
Ontologies For
 Checking to see if the descriptions of different
entities
are consistent with the axioms defined in the ontology.
This also helps ensuring that certain security and
safety constraints are met by the environment.
 Enabling semantic discovery of entities.
users can gain a better understanding of the
environment and how different pieces relate to each
Other.
 Allowing both humans and automated agents to
perform searches on different components easily
DS - Spring 2006
Ontology & Pervasive Computing
18
Ontologies For
Both humans and automated agents to interact
with different entities easily
Allowing both humans and automated agents
to specify rules for context-sensitive behavior of
different entities easily
Enabling new entities (which follow different
ontologies) to interact with the system easily.
Providing ways for ontology interoperability also
allows different pervasive environments to interact
with one another.
DS - Spring 2006
Ontology & Pervasive Computing
19
Kinds of Ontologies in GAIA
Ontologies for different entities
Ontologies for context information
DS - Spring 2006
Ontology & Pervasive Computing
20
Ontology Server Tasks
 Configuration management
 Discovery and matchmaking
 Human Interfaces
 Interoperation of components
 Context Sensitive behavior
DS - Spring 2006
Ontology & Pervasive Computing
21
Uses of Ontologies
Configuration Management
New entities, never before seen, may enter
Components need to automatically discover
and collaborate with other components
Entities and components are heterogeneous
and autonomous.
DS - Spring 2006
Ontology & Pervasive Computing
22
Uses of Ontologies
Semantic Discovery and Matchmaking
The Ontology Server performs the tasks of
semantic discovery and matchmaking.
It poses logical queries involving subsumption and
classification of concepts
Other entities in the environment query the
Ontology Server to discover classes of
components that meet their requirements.
DS - Spring 2006
Ontology & Pervasive Computing
23
Uses of Ontologies
Improved Human Interfaces
Ontologies can be used to make better user interfaces and
allow these environments to interact with humans in a
more intelligent way.
“Ontology Explorer”
Allows users to browse the ontology describing the
environment. A user can search for:
Different classes in the ontology
Browse the results
Get properties of the class
DS - Spring 2006
Ontology & Pervasive Computing
24
Uses of Ontologies
Improved Inter-operability between entities
The description of the properties of different classes of
entities
both users and other automated
Agents interact with them more easily by performing
searches on them or sending them various commands.
This has proved to be one of the major advantages to
using ontologies in a pervasive computing environment
DS - Spring 2006
Ontology & Pervasive Computing
25
Uses of Ontologies
Context-Sensitive Behavior
An ontology can improve
Robustness
Portability
of context-aware applications.
Different sensors
different versions of services
Localizations
If the differences are terminological, an ontology
may allow the rules to be “translated” and then
work correctly in the new environment.
DS - Spring 2006
Ontology & Pervasive Computing
26
Uses of Ontologies
Ontology Mapping
The new ontology will add to the shared
ontology using bridge concepts that
relate classes and properties in the new
ontology to existing classes and
properties in the shared ontology.
These bridge concepts are typically
subsumption relations that define the new
entity to be a subclass of an existing class
of entities.
For example, if a new kind of fingerprint
recognizer is added to the system, the
bridge concept may state that it is a
subclass of “Authentication Devices”.
DS - Spring 2006
Ontology & Pervasive Computing
?
?
a
?
?
b
c
d
?
?
?
How
should I
use
them? !!!
27
Future Software
A standard API for DAML+OIL (or, more
likely, OWL [W3C, 2002b])
A standard interface for generic
Knowledge Base services
DS - Spring 2006
Ontology & Pervasive Computing
28
A Standard Ontology For Pervasive Computing
“SOUPA”
Standard Ontology for Ubiquitous and
Pervasive Applications
Nov. 2003
In OWL
UbiComp(http://pervasive.semantic.org)
From Existing Ontologies
DS - Spring 2006
Ontology & Pervasive Computing
29
Standard Ontology From
FOAF : People Profile, and Relationship
DAML-Time: Time, and Scheduling
RCC, OpenCyc: Description, Analysis Place
and context
MoGATU-BDI, COBRA-ONT: Display and
Analysis of Knowledge
Policy ontology (Rei): High Level Rules,
Access Control
DS - Spring 2006
Ontology & Pervasive Computing
30
Standard Ontology
Have Two Parts
Core (For entity description)
Extensions (For different Context)
Adding Temporal Logic we have:
Time
Decision Making
DS - Spring 2006
Ontology & Pervasive Computing
31
Ontology For Pervasive Computing
Adding tldatatype To RDF with these types:
Active
Next
Previous
Temporalformula
<cont:RandomCounter>
<con:counter rdf:tldatatype="active" rdf:datatype="&xsd;integer">42</cont:counter>
<con:counter rdf:tldatatype="previous" rdf:datatype="&xsd;integer">30</cont:counter>
<con:counter rdf:tldatatype="next" rdf:datatype="&xsd;integer">60</cont:counter>
<con:SoundFormula rdf:tldatatype="temporalformula" rdf:datatype="&xsd;string">
(sound.turn = = off) U ((cont.counter.active > cont.counter.previous) &
(cont.counter.active< cont.counter.next))
</cont:counter>
</cont:RandomCounter >
DS - Spring 2006
Ontology & Pervasive Computing
32
References
[1] Harry Chen, Tim Finin, and Anupam Joshi, "An Ontology for ContextAware Pervasive Computing Environments", Department of Computer
Science and Electrical Engineering, University of Maryland Baltimore
County, 2004.
[2] Harry Chen ،Filip Perich ،Tim Finin ،Anupam Joshi , “SOUPA: Standard
Ontology for Ubiquitous and Pervasive Applications”, University of
Maryland, First Annual International Conference on Mobile and Ubiquitous
Systems: Networking and Services (MobiQuitous'04), August 22 – 26, 2004.
[3] Ryusuke Masuoka and Yannis Labrou, "Ontology-Enabled Pervasive
Computing Applications", Fujitsu Laboratories of America, Published by the
IEEE Computer Society, 2003.
[4] Anand Ranganathan, et al., "Ontologies in a Pervasive Computing
Environment, Content Areas: architectures, platforms, applications,
semantic interoperability, semantic web services, role of context,
environments", 2003.
[5] Anand Ranganathan ،Robert E. McGrath, Roy H. Campbell, M. Dennis
Mickunas, “Use of Ontologies in a Pervasive Computing Environment”, In
The Knowledge Engineering Review, Vol 18:3, 209-220, Cambridge
University Press, 2004.
[6] Sven van der Meer and Nazim Agoulmine, "Ontology Based Policy
Mobility for Pervasive Computing", Waterford Institute of Technology,
Ireland, Declan O’Sullivan, David Lewis, Trinity College Dublin, Ireland, 2004.
[7] http://www.w3.org/TR
DS - Spring 2006
Ontology & Pervasive Computing
33
Thanks
DS - Spring 2006
Ontology & Pervasive Computing
34
Download