| |
Ontology in Sparkle
Sparkle separates data and functionality. In the past, XML was used to
represent the data (or you want to say web objects) in the Web, which has been quite
successful. But how to represent a "function" from a human's view.
Most programmers refer "function" as a very high-level description
on some program codes. But for machines, any small difference in the
input/output format, modifications on the control logic or additional error
checking, are treated differently -- they are considered as "different
functions".
How to achieve "Functionality Adaptation"
-
First, what is function ? The human's definition is usually very
high-level and sometimes too high-level that it can not be processed by the
machines (Application --> GUI --> application API --> system
libraries --> system call - OS-level interface between layers -->
instruction-level functionality).
-
Requirement of rigorous function/interface specification at each layer :
We have enough specifications since we already have all those layers defined
above. But we need a simpler (for quick construction of application program)
yet powerful (possible to realize all functionalities you ever think about).
Basically, we can just follow the way how previous component-based software
systems (e.g., DCOM, JavaBeam, etc.) were designed. But we need to make it
very simple, even let it be restricted in functionality and only some
applications can be made of our Sparkle -- our focus
"mobility" for pervasive computing !!. Simple protocols, such as
HTTP, SOAP, CGI-like protocols can be adopted.
Background of Ontology: Ontology has been introduced for bridging the
knowledge gaps between different domains [1]. Ontology represents the semantics
of different concepts. It provides a formal, explicit specification of a shared
conceptualization of a domain that can be communicated between people and
heterogeneous and widely spread application systems [2]. Ontology techniques
have been adopted in several pervasive computing projects such as CoBrA [3] and
GAIA [4]. Context Broker Architecture (CoBrA) defines a set of OWL ontologies
for context information. Agents use these ontologies to acquire, reason about
and share context knowledge. GAIA is a middleware to enable active spaces. It
also defines a set of ontologies about the active spaces such as entity and
context information. Devices in GAIA use these ontologies to communicate with
each other. In both cases, ontologies were used in a very restricted way.
Ontologies for their applications are defined in the stationary environment. As
thus, devices could only communicate using the same ontologies.
Objectives:
We will use ontology to prescribe the semantics of the user-perceivable task
description and provide a formal, explicit specification of shared
conceptualization. The runtime ontology mapping technique should be made
efficient and lightweight, in terms of computation and memory consumptions, to
achieve resource-aware automatic deployment and reconfiguration.
Research Challenges: Existing ontology mapping tools are used to help ontology
designers to design new ontologies. They provide a merged ontology or a set of
related concepts with some certainty factor associated with each pair. In
pervasive computing environment, a device may communicate with many different
devices. It is difficult for the ontology designers to merge all the possible
ontologies with which the device is going to communicate because it is hard to
predict such communications. Even if the ontology designers can merge the
possible ontologies, the merged ontology cannot reflect any modifications in the
original ontologies unless the ontology designers also change the merged
ontology. In order to avoid merging all possible ontologies and to handle the
ontology versioning problem, ontology mapping should be done at the time when
two devices communicate. Efficiency and space limitation are important factors
for designing online ontology mapping. It is not possible for memory limited
devices such as handheld and wearable devices to store a set of data instances
of the ontologies that they use for communication. Nevertheless, the high user
mobility in pervasive computing environment enables sharing of users’
communication history. We believe sharing of history records can create useful
knowledge for assisting the online ontology mapping, which in turn allows
nomadic users to interact with different smart spaces efficiently. Some
preliminary results of our work have been presented in [8].
Reference
-
Jeff Heflin. Web Ontology Language (OWL) Use Cases and Requirements. February,
2004. (http://www.w3.org/TR/2004/REC-webont-req-20040210/).
-
T. R. Gruber. A translation approach to portable ontology specifications.
Knowledge Aceuisition 5, p.199-220.
-
H. Chen, T. Finin and A. Joshi. Using OWL in a Pervasive Computing Broker.
Workshop on Ontologies in Agents Systems, July, 2003.
-
M. Roman, C.Hess, R. Cerqueira, A. Ranganathan, RH Campbell, K. Nahrstedt.
Gaia: A Middleware Infrastructure for Active Spaces. IEEE Pervasive Computing
Vol. 1, No. 4, p. 74-83. October – December, 2002.
-
Pauline
P. L. Siu, C. L. Wang, and F. C. M. Lau, ``Context-aware State Management for
Ubiquitous Applications,'' International Conference on
Embedded and Ubiquitous Computing (EUC-04),
Aizu, Japan, 26-28 August 2004. (pdf)(PPT)
-
Laurel
C. Y. Kong, C. L. Wang, and F. C. M. Lau, ``Ontology Mapping in Pervasive
Computing Environment,'' to appear in International Conference on
Embedded and Ubiquitous Computing (EUC-04),
Aizu, Japan, 26-28 August 2004. (pdf)(PPT)
-
Weisong
Chen, C. L. Wang, and F. C. M. Lau, ``A Collaborative and Semantic Data
Management Framework for Ubiquitous Computing Environment,'' to appear in
International Conference on Embedded and Ubiquitous Computing (EUC-04),
Aizu, Japan, 26-28 August 2004. (pdf)
(PPT)
-
Yuk
Chow, Wenzhang Zhu, Cho-Li Wang, Francis Chi-Moon Lau, ``The State-On-Demand
Execution for Adaptive Component-based Mobile Agent Systems,''
The Tenth International
Conference on Parallel and Distributed Systems (ICPADS
2004),
Newport Beach, California, July 7 - 9, 2004.
(paper)(PPT)
-
Vivien Wai-Man Kwan,
Francis C.M. Lau, and Cho-Li Wang,
"Functionality Adaptation: A Context-Aware Service Code Adaptation for
Pervasive Computing Environments", The 2003 IEEE/WIC International Conference on Web Intelligence,
Halifax, Canada, October 13-17, 2003.
(pdf)
-
Nalini Moti Belaramani, Yuk
Chow, Vivien Wai-Man Kwan, Cho-Li Wang, and Francis C.M. Lau, ``A
Component-based Software Architecture for Pervasive Computing,'' Intelligent Virtual World: Technologies and Applications in
Distributed Virtual Environments, chapter 10, pp. 191-212, World Scientific Publishing Co.,
Release: 07/31/2004. (PAPER)
(Abstract)
-
Nalini Belaramani, Cho-Li
Wang and Francis C.M. Lau, ``Dynamic Component Composition for Functionality
Adaptation in Pervasive Environments,'' The 9th
International Workshop on Future Trends of Distributed Computing Systems
(FTDCS2003), pp. 226-232, San Juan, Puerto Rico, USA, May 28 to 30, 2003.
(PPT)
More About Ontology
What is an
Ontology?
Web-Ontology (WebOnt) Working Group
OWL Web Ontology Language Overview (W3C Working Draft 31
March 2003)
-
http://www.w3.org/TR/owl-features/
-
The OWL Web Ontology Language is designed for use by applications that
need to process the content of information instead
of just presenting information to humans. OWL facilitates greater machine
readability of Web content than that supported by XML, RDF, and RDF
Schema by providing additional vocabulary along with a formal semantics. OWL
has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL
Full.
Resource Description Framework (RDF)
-
http://www.w3.org/RDF/
-
The RDF specifications provide a
lightweight ontology system to support the exchange of knowledge on the Web.
The RDF defines a language for describing relationships
among resources in terms of named properties and values.
-
Some examples in RDF Primer : http://www.w3.org/TR/rdf-primer/
-
The Resource Description Framework (RDF) is a language for representing
information about resources in the World Wide Web. It is particularly
intended for representing metadata about Web resources, such as the title,
author, and modification date of a Web page, copyright and licensing
information about a Web document, or the availability
schedule for some shared resource (Good for Grid). However, by
generalizing the concept of a "Web resource", RDF can also be used
to represent information about things that can be identified on the
Web, even when they can't be directly retrieved on the Web (?
trust, confidence?, credit?, reliability?). RDF provides a common
framework for expressing this information (e.g.,
resource availability in client device and network situation) so it
can be exchanged between applications (e.g., our proxy
and facet server, also the proxy and the client device) without
loss of meaning.
RDF Schema : RDF Vocabulary Description Language
-
http://www.w3.org/TR/rdf-schema/
-
The Resource Description Framework (RDF) is a general-purpose language for
representing information in the Web. This specification describes how to use
RDF to describe RDF vocabularies. This specification defines a vocabulary
for this purpose and defines other built-in RDF vocabulary initially
specified in the RDF Model and Syntax Specification.
Markup Languages and Ontologies :
A Web service example:
-
http://aai.bbn.com/cougaar/examples.html
-
Services invocation is propagated "bottom-up" a tree of service
dependencies, potentially a distributed DAG. Invocation order among
dependencies can be guaranteed. Services are assembled via a "bid" process - services requested are
matched to Service Providers and accepted. Acceptance is informal: it isn't
until the Assessor PlugIn steps in and says. This needs a system for "discovering", "recruiting"
("negotiating"), "contracting", and "assembling"
services across distributed nodes.
Dynamic composition of services
BBN-DASADA, Agent-based Service-Oriented Software Composition :
-
http://aai.bbn.com/cougaar/ServiceOrientedComposition_1.0g.pdf
-
This paper presented is a scalable workflow language pattern designed to
reliably assemble services within a distributed publish/subscribe framework.
This technology is presented here in the context of a distributed node-based
infrastructure which is capable of robustly organizing distributed
services across broad range of operating environments, and network
Here is a guide that suggests you how to build ontology step by step.
OWL ontology specification
OWL Editor
Examples of OWL ontologies
|