Semantic Pervasive Computing: state-of-the-art approaches Computer Engineering Department, Sharif University of Technology. Behrad Zari (zari@ce.sharif.edu) Semantic Pervasive Computing, Distributed Systems Course, June 2006 1 Outline • Pervasive Computing – • Pervasive Computing Paradigm – – • Architecture An Example Semantic Pervasive Spaces – • • Introduction Benefits Context Modeling Ontologies Semantic Web Services – – • Pervasive Services Semantics of Pervasive Services Semantic Web Technology – – • • Characteristics of Interest 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 contextaware 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/PostConditions, 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 • Execution Semantics – – – – – • Formally representing capabilities of service for discovery and composition of Services by annotating operations of Services as well as provide preconditions and effects 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 MultiAgent 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 multisensor 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 <xsd:complexType name=“Date"> WSDL <xsd:sequence> <xsd:element name=“year" type="xsd:integer" /> <xsd:element name=“month" type="xsd:integer" /> <xsd:element name=“day" type="xsd:byte" /> = Time - Ontology </xsd:sequence> Temporal-Entity </xsd:complexType> Web Service Time Interval Interfaces Inputs Year Data Semantics XML Schema Data type hierarchy Time Domain Time-Point {year, month, day} Outputs Name Ontologies Date Time Date {hour, minute, second} Event Calendar-Date Duration {absolute_time} {dayOftheWeek, monthOftheYear} Scientific-Event = Local ontology City {millisecond} Coordinates {x, y} Get Conference Information QoS QoS Ontology Ontology Area {name} City QoS Semantics Forrest Functional Semantics WSDL Quality Information Function <portType name=“ConferenceInformation"> <operation name="getInformation"> <input message="tns:Data" /> <output message="tns:ConferenceInformation" /> </operation> Min Conference Information Functions Get Information Get Date 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 • Read(URI ts, Template template):Graph • Read(URI ts, URI graph):Graph • Take(URI ts, Template template):Graph • Take(URI ts, URI graph):Graph – – – – – Write an RDF graph containing one or more triples to the Triple Space ts. returns: the URI that identifies the written graph. Read a set of triples matching the given template. returns: the RDF triples that were matched by the template. Read the RDF graph identified by the provided URI. returns: the RDF graph that is identified by the URI. Take (read and remove) one RDF graph matching the given template. returns: one of the graphs that have matching triples. 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