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

  1. Jeff Heflin. Web Ontology Language (OWL) Use Cases and Requirements. February, 2004. (http://www.w3.org/TR/2004/REC-webont-req-20040210/).

  2. T. R. Gruber. A translation approach to portable ontology specifications. Knowledge Aceuisition 5, p.199-220.

  3. H. Chen, T. Finin and A. Joshi. Using OWL in a Pervasive Computing Broker. Workshop on Ontologies in Agents Systems, July, 2003.

  4. 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.

  5. 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)

  6. 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)

  7. 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)

  8. 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)

  9. 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)

  10. 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

  11. 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