
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 37 ( 2014 ) 92 – 100 The 5th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN-2014) A data sharing strategy and a DSL for service discovery, selection and consumption for the IoT Mehdi Addaa, Rabeb Saadb aMathematics, Computer Science and Engineering Dep. University of Quebec At Rimouski Rimouski, Quebec, Canada Email: mehdi [email protected] bComputer Science and Engineering Dep. University of Quebec At Chicoutimi Chicoutimi, Qubec, Canada Email: [email protected] Abstract The development of the Internet and the increase in Internet-connected physical devices, offer new opportunities to reduce the gap between the physical world and the virtual world represented by the Internet. This Internet of Things (IoT) fosters the development of new platforms, services and applications that are not possible before. The work presented here proposes a data sharing model based on a propagation strategy for the IoT. It is composed of a formal theoretical model, a domain specific language and an IDE that implement this model. The developed language not only shows the feasibility of the model but also eases the integration of the proposed model and the related concepts. ©c 20142014 PublishedThe Authors. by Elsevier Published B.V.by This Elsevier is an B.V. open access article under the CC BY-NC-ND license (Selectionhttp://creativecommons.org/licenses/by-nc-nd/3.0/ and peer-review under responsibility of Elhadi). M. Shakshuki. Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014. Keywords: Internet of Things; Web Services, Data Sharing; DSL; 1. Introduction The Internet of Things (a.k.a IoT) consists mainly at connecting physical objects to the Internet. The GSM Association predicts that by 2020, there will be 24 billion physical devices connected to the internet and there business impact could be US$4.5 trillion 3. The Web of Things (a.k.a WoT ) is a more specific IoT that aims to bring Web technologies and standards to IoT. WOT eases the development of Web applications and services that interact with the connected objects. ∗ Corresponding author. Tel.: +1-418-723-9425 ; fax: +01-418-724-1879. E-mail address: mehdi [email protected] 1877-0509 © 2014 Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014. doi: 10.1016/j.procs.2014.08.017 Mehdi Adda and Rabeb Saad / Procedia Computer Science 37 ( 2014 ) 92 – 100 93 The emergence of the IoT and WOT offers a great potential for developing new applications and services. As shown in Section 2, there exist many platforms and API for the IoT devices. However, and to the best of our knowledge, they generally limit their scope to a simple data storing and retrieval schema. In an attempt to take advantage of this opportunity, we present in this paper a theoretical model that offers a set of primitives and a collaborative strategy to share data in the IoT world. The proposed model is based on a specific service- centric approach that does not rely on a central entity for service discovery and delivery. Instead it relays on a propagation-like query/response model and a straightforward whitelist/blacklist strategy to enforce a minimalist access control policy. As the proposed model is composed of theoretical and abstract concepts, it is not sufficient to demonstrate its feasibility and effectiveness. To overcome this limitation we developed a set of tools to programmatically support the proposed theoretical model. This set is composed of two parts: i) a Domain Specific Language (DSL) called IOTCollab, and ii) a complete Eclipse IDE. The IOTCollab DSL is intended to ease the programming and the management of the different concepts introduced in the model at high level of abstraction. It is mainly motivated by the need to reflect in the implementation model the domain business by the fundamental domain concepts. This DSL helps us avoid tweaking existing languages in order to define IoT systems based on the proposed model. The IDE, which is based on Eclipse, supports IOTCollab with a rich feature set such as code completion, syntax coloring, static analysis, etc. Thus, working with IOTCollab is made easy and intuitive for the developers and programmers who are familiar with modern IDEs such Eclipse. The rest of the paper is organized as follows. Section 2 summarizes related. Sections 3 presents the main con- cepts of the proposed model. The IOTCollab DSL is presented in Section 4. Concluding remarks and discussions on future work are given in Section 5. 2. Related work Even if the IoT is receiving more attention recently, it is not a new idea. At the end of the last century and the beginning of the current century many attempts have been made to connect physical objects to computer networks. For example, Want et al. have presented the results of their implementations where they attempt to connect physical objects to wireless networks by means of RFID tags and other physical components 27. Pederson presented in 24 a method for tracking physical activities using a wearable computer technology. Later on, different approaches have been proposed to integrate physical objects to the Internet. An information sharing architecture for IoT is presented in 26. The authors suggested the concept of a user- centric architecture of the IoT that seamlessly integrates IoT objects, Web protocols, Web applications, and Social platforms, etc. Angulo-Lopez et al. proposed in 12 a collaboration framework for the IoT based on the multiagent paradigm. In order to avoid connecting physical objects directly to the Internet, some approaches suggested abstracting those objects as services by adopting the Service Oriented Paradigm 23,14,19,20,22,25,21. For instance, the work pre- sented by Guinard et al. in 20 illustrates the adoption this paradigm by describing the architecture of the WoT based on the principles of the traditional Web such as scalability and modularity. They advocate the reuse and adaptation of existing Web technologies such as REST architectural style 16 to interact with IoT objects. In order to insure the interconnectivity of IoT devices, many API and technologies are developed. For example, Xively is a platform as a service (PAAS) for IoT that is intended to ease the connection of physical devices to the internet 7. Spark OS is an open source operating system for IoT 4. Right now, it is only compatible with Spark Core boards. ThingSpeak is an open source application platform and API for the IoT that aims to facilitate data storage and retrieval from IoT devices 5,6. One of the advantages of ThingSpeak is its openness to different hardware profiles. Crowsnest is a proprietary RESTful API that has to be coupled to a proprietary HUB in order to connect IoT devices 2. AllJoyn is a promising open source framework and services for IoT devices interoperability 1. Big companies and organisations, such as Microsoft, Cisco, D-Link, HTC, LG, AT&T, etc., are involved in this project. 94 Mehdi Adda and Rabeb Saad / Procedia Computer Science 37 ( 2014 ) 92 – 100 3. Data sharing model We developed a a data sharing model for IoT based on a specific service architecture. It is composed of three phases: i) service discovery, ii) service selection, and iii) service consumption (See Figure 1). The main concepts used in this model are Actor and Service and they are defined bellow (See Section 3.1). Fig. 1: Collaboration model for IoT: service process 3.1. Main concepts: Service and Actor In our IoT model, a service is defined as a couple that holds information about the data a physical object is sharing. This information includes the type of data, how often these data are collected, and the geolocation of the physical device, etc. (See Definition 3.1). Definition 3.1. Service A service S is a couple data, ctx such that: • data = d, frq, ops where: – d = {t, u | t is a data type and u the unit of this data type}, – frq = start, end, crne wher start represents the start date, end the end date, and crn a Crontab-like1 string that defines the frequency at which the data is collected, – ops may be used to specify other options in the form of couples attribute, value. • ctx = lat, lon, options where: – lat, lon represent the latitude and the longitude, respectively, of the geographical point of the IoT object, – ops may be used to specify other options in the form of couples attribute, value. The universe of all services is represented by US . In our setting, an actor is an abstract concept that represents a set of IoT objects owned and managed by the same user. Thus, an actor is represented by a set of IoT objects and the services each object may offer (See Definition 3.2). Actor , , , Definition 3.2. Given UOIoT the universe of all IoT objects, an actor A is represented by O1 S 1 rating1 O2, S 2, rating2, ..., On, S n, ratingn such that for i ∈ [1, n] we have the following: • ∈ Oi UOIoT , • S i ∈ US , • ratingi ∈ [1..10] and represent the rating of the service S i. The universe of all actors is represented by UA. Remarks 3.1. 1 Crontab:http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5 Mehdi Adda and Rabeb Saad / Procedia Computer Science 37 ( 2014 ) 92 – 100 95 1. The brackets ([]) are used to refer to an element at a given position in a list.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-