Semantic Pervasive Computing: state-of-the-art approaches
Computer Engineering Department, Sharif University of Technology.
Behrad Zari ([email protected])
Semantic Pervasive Computing, Distributed Systems Course, June 2006 1
Outline• Pervasive Computing
– Characteristics of Interest
• Pervasive Computing Paradigm– Pervasive Services– Semantics of Pervasive Services
• Semantic Web Technology– Introduction– Benefits
• Context Modeling Ontologies• Semantic Web Services
– Architecture– An Example
• Semantic Pervasive Spaces– Triple Space Computing
• Conclusion & Open Questions• References
Semantic Pervasive Computing, Distributed Systems Course, June 2006 2
Pervasive Computing Characteristics
• Discovery and Matchmaking
• Inter-operability between different entities
• Context-awareness
Semantic Pervasive Computing, Distributed Systems Course, June 2006 3
Discovery and Matchmaking• Discovery:
– Pervasive Computing Environments have one or more registries to keep a real time state of the system, i.e., the entities currently present and available.
– In the Discovery Service, standard schemas are needed to describe many kinds of entities, including people, places, and things.
• Matchmaking:– what sets or combinations meet
certain criteria, i.e., the requirements and preferences of the parties.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 4
Smart Devices
Semantic Pervasive Computing, Distributed Systems Course, June 2006 5
Inter-operability– involve dozens, if not hundreds of
devices (sensors, external input and output devices, remotely controlled appliances, etc.)
– Multiple inhomogeneous networks• Short range: IrDA, Bluetooth,
Wireless LAN• Wide area: (HS)CSD, GPRS,
UMTS• Often also no network
– Interoperability Nightmare
– Proliferation of devices that need to be connected.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 6
Inter-operability (cont’d)
• Accomplish discovery and configuration of new devices without “a human in the loop”.
• Automatic formation of device coalitions.
• Qualitatively stronger means of representing service semantics are required.
• Heterogeneity and Autonomy:– Machine process-able descriptions
Semantic Pervasive Computing, Distributed Systems Course, June 2006 7
Context-Awareness• Applications in pervasive and mobile
environments need to be context-aware so that they can adapt themselves to rapidly changing situations.
• Different kinds of contexts (such as location of people, activities of individuals or groups, weather information, etc.).
• The various types of contextual information that can be used in the environment must be well-defined so that different entities have a common understanding of context.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 8
Ubiquitous Computing Paradigm
What’d be the magic?
Semantic Pervasive Computing, Distributed Systems Course, June 2006 9
Not A dream…
• The right service
• At the right place
• At the right time
• At the right cost
Semantic Pervasive Computing, Distributed Systems Course, June 2006 10
A Solution
• Wide range of services:– Carrier Service– Ticket Reservation Service– Transport Service– Information Service– Routing Service– …
• We need Pervasive Services.• But what is a Service?
Semantic Pervasive Computing, Distributed Systems Course, June 2006 11
Pervasive Services
• Independently developed and deployed
• Life-Cycle Management– Compare to Agent Systems
• Input/Output, Pre/Post-Conditions, Effects
• Profile for logic semantics of the service.
• Discovery– SLP, Jini, Bluetooth SDP, UDDI,
GSD, DNS-SD …
Semantic Pervasive Computing, Distributed Systems Course, June 2006 12
Semantics for Pervasive Services• Data/Information Semantics
– What: Formal definition of data in input and output messages of a service
– Why: for discovery and interoperability– How: by annotating input/output data of services using
ontologies
• Functional/Operational Semantics– Formally representing capabilities of service– for discovery and composition of Services– by annotating operations of Services as well as provide
preconditions and effects
• Execution Semantics– Formally representing the execution or flow of a
services in a process or operations in a service– for analysis (verification), validation (simulation) and
execution (exception handling) of the process models
• QoS Semantics– Formally describing operational metrics of a
service/process– To select the most suitable service to carry out an
activity in a process
Semantic Pervasive Computing, Distributed Systems Course, June 2006 13
Semantic Web Technology
How it relates to Pervasive Computing?
Semantic Pervasive Computing, Distributed Systems Course, June 2006 14
Introduction• “The Semantic Web will bring structure
to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users.” [Berners-Lee 1998]
Semantic Pervasive Computing, Distributed Systems Course, June 2006 15
Key Benefits• Serendipitous Interoperability: the
ability of software systems to discover and utilize services they have not seen before.
• With the Semantic Web approach it is possible for agents to “learn” new vocabularies and – via reasoning – make meaningful use of them.
• Automated service discovery, selection and composition.
• Has proof-of-application in Multi-Agent software systems.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 16
Ontology Benefits• Enabling semantic discovery of entities.
• Allowing users to 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.
• Allowing 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.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 17
Context Modeling Ontologies
Some Proposed Ontologies
Semantic Pervasive Computing, Distributed Systems Course, June 2006 18
CoOL ASC Model
Semantic Pervasive Computing, Distributed Systems Course, June 2006 19
CoOL Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 20
GAIA Ontology• Converts physical spaces and the
devices they contain into a programmable computing system.
• Multiple Ontologies has used to augment various system services:– Configuration management– Discovery and matchmaking– Human Interfaces– Interoperation of components– Context Sensitive behavior
• Implemented on DAML+OIL and CORBA standards.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 21
GAIA Ontology Infrastructure
Semantic Pervasive Computing, Distributed Systems Course, June 2006 22
CHIL Ontology• A general-purpose core vocabulary
for the various concepts within a multi-sensor smart space.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 23
SOUPA
Semantic Pervasive Computing, Distributed Systems Course, June 2006 24
CoBrA Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 25
CoBrA Architecture
Semantic Pervasive Computing, Distributed Systems Course, June 2006 26
SOCAM Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 27
SOCAM Architecture
Semantic Pervasive Computing, Distributed Systems Course, June 2006 28
An Extensible Ontology• User
– Important properties include a user’s profile, but also his preferences, mood and current activity.
• Environment– the environment in which the
user interacts is an important aspect of the context specification. It consists of time and location information, and environmental conditions, such as temperature and lighting.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 29
An Extensible Ontology (2)
• Service– provides specific functionality to
the user. Specifying semantic and syntactic information sustains easy service discovery and service interaction.
• Platform– hardware and software
description of a specific device.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 30
Ontology Core Overview
Semantic Pervasive Computing, Distributed Systems Course, June 2006 31
User Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 32
Environment Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 33
Platform Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 34
Service Ontology
Semantic Pervasive Computing, Distributed Systems Course, June 2006 35
Semantic Web Services
A further step towards Pervasive Systems needs
Semantic Pervasive Computing, Distributed Systems Course, June 2006 36
Architecture
Semantic Pervasive Computing, Distributed Systems Course, June 2006 37
Name
Year
Date
Duration
City
Outputs
Interfaces
Inputs
Area
Coordinates
City Forrest
XML Schema Data type hierarchy
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
= Time - Ontology
= Local ontology
{name}
{x, y}
Get ConferenceInformation
Ontologies
Web Service
QoS OntologyQoS Ontology
<xsd:complexType name=“Date"><xsd:sequence><xsd:element name=“year" type="xsd:integer" / ><xsd:element name=“month" type="xsd:integer" / ><xsd:element name=“day" type="xsd:byte" / >
</ xsd:sequence></ xsd:complexType>
<portType name=“ConferenceInformation"><operation name="getInformation"><input message="tns:Data" / ><output message="tns:ConferenceInformation" / >
</ operation>
Conference Information Functions
Information Function
Get Information Get Date
Data Semantics
FunctionalSemantics
WSDL
WSDL
QoSSemantics
Min
Quality
Semantic Pervasive Computing, Distributed Systems Course, June 2006 38
Task Computing Environment• Fujitsu Laboratories of America and
the MINDSWAP research group at the University of Maryland Implementation of a smart conference room.
• Expose the functionality in rich pervasive environments (device functionality or third-party functionality) as Semantic Web services, which in turn the user can discover and arbitrarily compose.
• STEER client.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 39
Semantic Pervasive Spaces
Semantic Pervasive Computing, Distributed Systems Course, June 2006 40
Triple Space Computing• Proposed By Digital Enterprise
Research Institute (DERI) at W3C Workshop on the Ubiquitous Web, Tokyo, 2005.
• Provides a web that is optimized for machines, thus simplifying the sharing of data and the coordination of devices and services in dynamic and heterogeneous systems.
• Services will have to understand each other and exchange information over the Ubiquitous Web to allow human users access to the world's information spaces whenever and wherever they find themselves.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 41
TSC Architecture
Semantic Pervasive Computing, Distributed Systems Course, June 2006 42
TSC Access Model• Write(URI ts, Graph triples):URI
– Write an RDF graph containing one or more triples to the Triple Space ts. returns: the URI that identifies the written graph.
• Read(URI ts, Template template):Graph – Read a set of triples matching the given
template. returns: the RDF triples that were matched by the template.
• Read(URI ts, URI graph):Graph – Read the RDF graph identified by the provided
URI. returns: the RDF graph that is identified by the URI.
• Take(URI ts, Template template):Graph – Take (read and remove) one RDF graph
matching the given template. returns: one of the graphs that have matching triples.
• Take(URI ts, URI graph):Graph – Take the RDF graph identified by the provided
URI. returns: the graph that is identified by the URI.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 43
Open Questions• Triple Spaces provides us with
– A web of devices– Data and interaction heterogeneity,– Decreased communication overhead
(no Context gathering overhead)
• A service language– Like WSDL for Web Services
– DAML-S, OWL-S
• Triple spaces + OWL-S = Semantic Pervasive Spaces?
Semantic Pervasive Computing, Distributed Systems Course, June 2006 44
Conclusion• Semantic Web goals propose
potential cases of usages in pervasive computing domain.
• Semantic Web is not covered our lives as current Web does yet.
• We need a standardized solution– As CORBA, EJB or others did to
Distributed Computing years ago.– Some implementation should be
proven.– How many standards and
consortiums should be gathered?
Semantic Pervasive Computing, Distributed Systems Course, June 2006 45
References• M. Satyanarayanan. Pervasive Computing: Vision and Challenges. School
of Computer Science Carnegie Mellon University, IEEE Personal Communications, 2001.
• Ora Lassila, Applying Semantic Web in Mobile and Ubiquitous Computing: Will Policy-Awareness Help?, Nokia Research Center.
• Ryusuke Masuoka and Yannis Labrou, Fujitsu Laboratories of America, Bijan Parsia and Evren Sirin, MIND Lab, University of Maryland, Ontology-Enabled Pervasive Computing Applications, IEEE INTELLIGENT SYSTEMS, 2003.
• Jorge Cardoso, Amit Sheth, Semantic Web Processes, 4rd International Conference on Web Information Systems Engineering, WISE 2003.
• Heraklion, Crete, Ubiquitous Services Cluster - UbiServ, DERI Offsite, May 2005.
• Reto Krummenacher, Thomas Strang, Dieter Fensel. TRIPLE SPACES FOR AN UBIQUITOUS WEB OF SERVICES, Position Paper: W3C Workshop on the Ubiquitous Web, Tokyo, Japan, March 9-10, 2005.
• Ippokratis Pandis, et.al. An Ontology-based Framework for Dynamic Resource Management in Ubiquitous Computing Environments, 2005.
• Sheila A. McIlraith, Tran Cao Son, and Honglei Zeng, Semantic Web Services, Stanford University.
• Ovidiu Chira, The Semantic Web, IDIMS Report, February 2003.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 46
References (2)• Davy Preuveneers, et.al. Towards an extensible context ontology for
Ambient Intelligence, 2004.
• Tao Gu, et.al. An Ontology-based Context Model in Intelligent Environments, 2004.
• Harry Chen, et.al. SOUPA: Standard Ontology for Ubiquitous and Pervasive Applications.
• Harry Chen, et. al. Using OWL in a Pervasive Computing Broker
• Harry Chen, et.al. An Ontology for Context Aware Pervasive Computing Environments.
Semantic Pervasive Computing, Distributed Systems Course, June 2006 47