The service composition process depends on effective service discovery, matching, and selection. Although, service discovery and matching has been thoroughly researched for software services, an effective service discovery and matching mechanism is needed for services representing device functionality. In this chapter, an ontology-based service description method and service discovery and matching mechanism is proposed for Distributed Embedded Real-Time Systems (DERTS). For service description, the existing ontology specification OWL-S is modified to make it suitable for DERTS. The proposed mechanism was applied to a scenario of Smart Home case study for testing. The proposed service description method and discovery and matching mechanism set foundations can be used for the dynamic service composition in DERTS and in any ubiquitous environment.
TopIntroduction
With the increasing abilities of the Internet, the embedded computing power of devices, and software development techniques, the vision of ubiquitous pervasive environment is becoming a reality. The emergence of Service-Oriented Computing (SOC) (Huhns & Singh, 2005) has helped in solving the challenges involved, e.g., interoperability, in setting a pervasive computing environment. In SOC, the atomic services can be combined together to build composite applications. Such composition process depends on service discovery and matching to discover the services and compose new applications. Although discovery and matching for software services has received significant attention in the SOC domain, very little attention has been given when it comes to real-world services, i.e., the services representing device functionality.
In recent years, a number of networking protocols, infrastructures, and industrial solutions have been provided for devices and service discovery and to provide interoperability such as X-10, Bluetooth, UPnP, etc. However, the difficulties associated with the use of vocabularies to describe and discover the services are challenging. This is because there is no agreed upon service taxonomy for homogenous service description, as agreement on a single common syntactic standard is hard to achieve (Mokhtar, Preuveneers, Georgantas, Issarny, & Berbers, 2008). Furthermore, the existing discovery technologies have the drawbacks of keyword-based searching and syntactic matching of service description with the service request. This syntactical service description matching method is rigid and inapplicable in the real world (Wen, Sau, Su, Zaini, & Karuppiah, 2008). Besides keyword-based matching, the syntactic service discovery and matching methods have the shortcomings of not considering the QoS properties and context of services (Qingcong, Jiliang, & Qiying, 2009).
Similar to semantic Web community, ontologies are used in this research to solve the above-mentioned problems and to provide effective service discovery. The main motivation of using the ontologies to describe and match services was to provide semantic discovery of services, instead of using keyword-based searches. The other advantages that the use of ontology can provides are extending the service vocabulary, utilizing other existing ontologies, performing logical reasoning to infer new knowledge and to provide semantic interoperability among heterogeneous components.
In this research, the SOC concepts are used at the device level, where the functionality provided by a device is represented as a service. Our idea is to semantically express these real-world services using ontologies. The widely used language for specifying ontology, in general, is Web Ontology Language (OWL), and specifically for Web services, is Web Ontology Language for Web Services (OWL-S) (Burstein, et al., 2004). With the aim of introducing service description method for Distributed Embedded Real-Time Systems (DERTS) that can be helpful in ontology based service discovery and matching, OWL-S is used in this chapter. However, OWL-S sub-profiles need some modifications before its utilization for DERTS. The motivation behind this modification is the unique characteristics of DERTS such as resource constraints, the difference between software services and real-world services and the limitations of OWL-S ontology for DERTS, e.g., the role of physical entities that provide services has not been specifically considered in OWL-S. Similar to Guinard, Trifa, Karnouskos, Spiess, and Savio (2010), we treat DERTS as an environment composed of independent devices which provide their functionality to other devices in the form of services. From hereafter, the word devices and service providers are used interchangeably.