SITRUS: Semantic Infrastructure for Wireless Sensor Networks
Abstract
:1. Introduction
2. Background
2.1. Ontology and Semantic Web
- Sharing common understanding of the structure of information among people and software agents;
- Allowing the reuse of domain knowledge;
- Obtaining explicit domain understanding;
- Separating domain knowledge and operational knowledge;
- Analyzing domain knowledge.
2.2. Middleware
- Infrastructure: This layer abstracts the peculiarities of the operating system, facilitating the development of network applications; furthermore, it encapsulates the operating system’s native mechanisms;
- Distribution: Allows clients to develop and integrate remote applications in a transparent manner, abstracting location, programming languages, operating systems, communication protocols and also the hardware used;
- Common services: Define reusable high-level and independent services of the application domain; these services enable application developers to only focus on business logic, for instance security and transaction services;
- Specific services: They are services required by certain application domains; these domains may be, for example, telecommunications, electronic commerce and mobile computing; since the services offered by this layer incorporate the knowledge of a domain, they allow an increase in quality and reduce the effort and the life cycle required for the development of certain types of applications.
2.3. TinyOS and nesC
3. Related Work
4. SITRUS
4.1. Overview
- Application level: Changing parameters that influence the application execution, such as the periodic sampling of the WSN node;
- Middleware level: Modification of the middleware internal algorithms or some services, such as a routing algorithm; and
- Network level: Putting some WSN nodes to sleep in order to maintain the WSN with the smallest number of WSN nodes.
- Step 1: The WSN nodes, which may even been in different networks and running different applications, should be running the RAMSES middleware. In this way, we have a common platform that hides the system’s heterogeneity and allows the reconfiguration of WSN nodes. All data generated are sent to their respective base stations;
- Step 2: All data collected by the base station is forwarded to SIP;
- Step 3: The data collected is processed, categorized and stored in a semantic database within the SIP. Users that need to access data on a particular application or WSN execute their queries on SIP, saving WSN energy by not using the WSN directly and having more accurate information;
- Step 4: In addition to storing data, the SIP monitors the behavior of the network and individual WSN nodes. In case a node is either overloaded or sending redundant information in a given period of time, SIP sends to the WSN node a message of reconfiguration. RAMSES transport this message and triggers the reconfiguration of the WSN node.
4.2. Architecture
4.2.1. Data Layer of the Sensor Networks
4.2.2. Semantic Layer
4.2.3. Application Layer
4.3. Semantic Information Processing Module
- Receive data from WSNs: By using a common API, all data from the WSNs are sent to their respective base stations and contain information about the sensing of the environment, as well as information regarding the state of the network;
- Instantiate the ontology data: Data obtained from the WSNs are categorized and instantiated by ontologies. Therefore, we can infer new data and search for data relationships within the same WSN or between different networks. All instantiated data serve to form the knowledge database of the WSN;
- Process queries: Having the knowledge database populated, queries over the network no longer need to be made directly on the WSN. All processed queries have the populated knowledge database as data source, thereby avoiding ambiguities or incorrect answers;
- Send reconfiguration messages: SIP also performs automated queries about the status of the WSNs and their nodes. With this, we can check if a particular WSN node has reached a predetermined threshold, for instance a WSN node that is either overloaded or sending redundant information in a given period of time. In this case, a reconfiguration message is sent to this WSN node to normalize its behavior.
4.3.1. Proposed Ontology
isNeighbor(?A, ?B) ^ isNeighbor(?B, ?C) -> isReachable(?A, ?C) |
4.4. RAMSES
4.5. Implementation
4.5.1. SIP
public void sendMessageToSensors(int sensorNode) { try { mote.send(sensorNode, getMessage()); } catch (IOException ex) { Logger.getLogger(DataManager.class.getName()). log(Level.SEVERE, null, ex); } }
Select ?x1 ?value Where { ?x1 ?y1 or:Measuring . ?x1 or:value ?value . ?x1 or:hasSensorNode or:SensorNode_ }
4.5.2. RAMSES
event void Boot.booted() { call LowPowerListening.setLocalWakeupInterval(INTERVAL); call RadioControl.start(); call MainTimer.startPeriodic(INTERVAL); call Middleware.createTopic("App"); }
command void ServiceLayer.receiveSIPMessage(application_msg_t* payload) { if (payload->sipMessage == 1) { ... } else if (payload->sipMessage == 2) { ... } else if (payload->sipMessage == 3) { call ConfigurationService.setPeriodicSampling(payload->sampling); call Middleware.changePeriodicSampling(payload->sampling); } else if (payload->sipMessage == 4) { call ConfigurationService.setAggregationSize(payload->aggregation); } else if (payload->sipMessage == 5) { call ConfigurationService.setTopic(payload->topic); }
5. Experimental Evaluation
5.1. Measurement Procedure
public void Measurements(long time, int periodicSampling) { try { dataManager.stopAmalghma(); //Leds on dataManager.sendMessageToSensors(); dataManager.setPeriodicSampling(periodicSampling); dataManager.sendMessageToSensors(); Thread.sleep(500); //Time to set the sensors dataManager.startAmalghma(); //Leds off dataManager.sendMessageToSensors(); Thread.sleep(time); dataManager.stopAmalghma(); //Leds on dataManager.sendMessageToSensors(); } catch (InterruptedException ex) { Logger.getLogger(ScenarioDefault.class.getName()). log(Level.SEVERE, null, ex); } }
- Application: The application does not use any power management feature or reconfiguration service. Thus, the application starts the same way as it ends: with no changes in its behavior. This scenario is the control for comparison with other scenarios of the same application.
- Application + RAMSES: The same application of the previous scenario is executed using RAMSES. Therefore, all of the data transmitted between the WSN nodes and the reconfiguration services are transparently guaranteed to the application by the middleware, but no service is executed. Thus, no reconfiguration is carried out. The application is only responsible for collecting and transmitting data from the middleware. To do so, the entire code of the transmission and data acquisition of the original application was replaced by the middleware services. This scenario was designed to evaluate the impact of adding RAMSES in an application.
- Application + SITRUS: In this scenario, SITRUS is used in full. Thus, RAMSES uses its power management based on the low power listening interface, periodically turning the antenna on and off to avoid unnecessary power consumption, but with enough time to detect a carrier and receive or send a data package. The transmitters perform a message delivery by transmitting the full packet over and over for twice the duration of the receiver’s duty cycle period. Transmitting for twice as long increases the probability that the message will be detected by the receiver and allows the receiver to shave off the small amount of time it needs to keep its radio on.Furthermore, all of the data are sent to the SIP, so that they are stored in the semantic database, and the decision-making mechanisms for reconfiguration may be used. The reconfiguration service chosen for the applications was to change the sampling rate, from the average of the last samples collected for the same experiment. If the next collected values are the same as the average values, then the sampling rate is increased to avoid data redundancy. When the sampling rate is changed, the power management service is also triggered by changing its time period with the antenna on/off, thus ensuring greater efficiency in power consumption.
WSN Nodes | Confidence Interval | Experiments by Scenario | Experimental Time | Initial Sampling Rate Time |
---|---|---|---|---|
6 | 95% | 100 | 4 min | 250 ms |
5.2. Results
5.2.1. RadioCountToLeds Application
5.2.2. RadioSenseToLeds Application
5.2.3. Temperature Application
5.2.4. Oscilloscope Application
5.2.5. AntiTheft Application
6. Conclusions and Future Works
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Arampatzis, T.; Lygeros, J.; Manesis, S. A survey of applications of wireless sensors and wireless sensor networks. In Proceedings of the IEEE International Symposium on Intelligent Control, Mediterrean Conference on Control and Automation, Limassol, Cyprus, 27–29 June 2005; pp. 719–724.
- Hadim, S.; Mohamed, N. Middleware for wireless sensor networks: A survey. In Proceedings of the 1st International Conference on Communication System Software and Middleware, Delhi, India, 8–12 January 2006; pp. 1–7.
- Anastasi, G.; Conti, M.; Di Francesco, M.; Passarella, A. Energy conservation in wireless sensor networks: A survey. Ad Hoc Netw. 2009, 7, 537–568. [Google Scholar] [CrossRef]
- Samuel, K.D.; Krishnan, S.M.; Reddy, K.Y.; Suganthi, K. Improving energy efficiency in wireless sensor network using mobile sink. Adv. Netw. Comm. 2011, 132, 63–69. [Google Scholar]
- Andreou, P.G.; Zeinalipour-Yazti, D.; Samaras, G.S.; Chrysanthis, P.K. A network-aware framework for energy-efficient data acquisition in wireless sensor networks. J. Netw. Comput. Appl. 2014, 46, 227–240. [Google Scholar] [CrossRef]
- Liu, P.; Hu, Y.F.; Min, G.; Dai, G. Semantization improves the energy efficiency of wireless sensor networks. In Proceedings of the IEEE Wireless Communication and Networking Conference, Sydney, Australia, 18–21 April 2010; pp. 1–6.
- Berners-Lee, T.; Hendler, J.; Lassila, O. The Semantic web: A new form of web content that is meaningful to computers will unleash a revolution of new possibilities. Sci. Am. Mag. 2001, 34–43. [Google Scholar] [CrossRef]
- Gruber, T.R. Toward principles for the design of ontologies used for knowledge Sharing. Int. J. Hum.-Compu. St. 1995, 43, 907–928. [Google Scholar] [CrossRef]
- Uschold, M.; Gruninger, M.; Uschold, M.; Gruninger, M. Ontologies: Principles, methods and applications. Know. Eng. Rev. 1996, 11, 93–136. [Google Scholar] [CrossRef]
- Noy, N.F.; Mcguinness, D.L. Ontology Development 101: A Guide to Creating Your First Ontology, 2001. Available online: www.ksl.stanford.edu/KSL_Abstracts/KSL-01-05.html/ (accessed on 4 June 2015).
- Schmidt, D.C.; Buschmann, F. Patterns, frameworks, and middleware: Their synergistic relationships. In Proceedings of the International Conference on Software Engineering, Portland, OR, USA, 3–10 May 2003; pp. 694–704.
- Vinoski, S. Where is Middleware? IEEE Internet Comput. 2002, 6, 83–85. [Google Scholar] [CrossRef]
- Bernstein, P.A. Middleware: A model for distributed system services. Commun. ACM 1996, 39, 86–98. [Google Scholar] [CrossRef]
- Souto, E.; Guimarães, G.; Vasconcelos, G.; Vieira, M.; Rosa, N.; Ferraz, C.; Kelner, J. Mires: A publish/subscribemiddleware for sensor networks. Pers. Ubiquit. Comput. 2005, 10, 37–44. [Google Scholar] [CrossRef]
- Henricksen, K.; Robinson, R. A survey of middleware for sensor networks: state-of-the-art and future directions. In Proceedings of the International workshop on Middleware for Sensor Networks, Melbourne, Australia, 27 November–1 December 2006; pp. 60–65.
- Levis, P.; Madden, S.; Polastre, J.; Szewczyk, R.; Woo, A.; Gay, D.; Hill, J.; Welsh, M.; Brewer, E.; Culler, D. TinyOS: An operating system for sensor networks. In Ambient Intelligence; Weber, W., Rabaey, J., Aarts, E., Eds.; Springer: Berlin, Germany, 2005; pp. 115–148. [Google Scholar]
- Gay, D.; Welsh, M.; Levis, P.; Brewer, E.; Behren, R.V.; Culler, D. The nesC language: A holistic approach to networked embedded systems. In Proceedings of the Programming Language Design and Implementation, San Diego, CA, USA, 9–11 June 2003; pp. 1–11.
- Avancha, S.; Patel, C.; Joshi, A. Ontology-driven adaptive sensor networks. In Proceedings of the International Conference on Mobile and Ubiquitous Systems: Networking and Services, Boston, MA, USA, 22–26 August 2004; pp. 194–202.
- Eid, M.; Liscano, R.; El Saddik, A. A universal ontology for sensor networks data. In Proceedings of the International Conference on Computational Intelligence for Measurement Systems and Applications, Ostuni, Italy, 27–29 June 2007; pp. 59–62.
- Huang, V.; Javed, M.K. Semantic sensor information description and processing. In Proceedings of the 2nd International Conference on Sensor Technologies and Applications, Cap Esterel, France, 25–31 August 2008; pp. 456–461.
- Gao, L.; Bruenig, M.; Hunter, J. Estimating fire weather indices via semantic reasoning over wireless sensor network data streams. IJWesT 2014, 5, 1–20. [Google Scholar] [CrossRef]
- Sawant, S.A.; Adinarayana, J.; Durbha, S.S. KrishiSense: A semantically aware web enabled wireless sensor network system for precision agriculture applications. In Proceedings of the IEEE International Geoscience and Remote Sensing Symposium, Quebec, QC, Canada, 13–18 July 2014; pp. 4090–4093.
- Dâmaso, A.; Freitas, D.; Rosa, N.; Silva, B.; Maciel, P. Evaluating the power consumption of wireless sensor network applications using models. Sensors 2013, 13, 3473–3500. [Google Scholar] [CrossRef] [PubMed]
- Rodríguez-Molina, J.; Martínez, J.F.; Castillejo, P.; López, L. Combining wireless sensor networks and semantic middleware for an internet of things-based sportsman/woman monitoring application. Sensors 2013, 13, 1787–1835. [Google Scholar] [CrossRef] [PubMed]
- McKinley, P.; Sadjadi, S.; Kasten, E.; Cheng, B. Composing adaptive software. Computer 2004, 37, 56–64. [Google Scholar] [CrossRef]
- Yoneki, E. Mobile applications with a middleware system in publish subscribe paradigm. In Proceedings of the 3rd Workshop on Applications and Services in Wireless Networks, Bern, Switzerland, 2–4 July 2003.
- Radhika, J.; Malarvizhi, S. Middleware approaches for wireless sensor networks: An overview. Int. J. Comput. Sci. Issues 2012, 9, 224–229. [Google Scholar]
- Silva, J.R.; Delicato, F.C.; Pirmez, L.; Pires, P.F.; Portocarrero, J.M.T.; Rodrigues, T.C.; Batista, T.V. PRISMA: A publish-subscribe and resource-oriented middleware for wireless sensor networks. In Proceedings of the Tenth Advanced International Conference on Telecommunications, Paris, France, 20–24 July 2014; pp. 87–97.
- Krishnamachari, B.; Estrin, D.; Wicker, S. Modelling data centric routing in wireless sensor networks. In Proceedings of the 21th Annual Joint Conference of the IEEE Computer and Communications Societies, Nova Iorque, NY, USA, 23–27 June 2002.
- Apache Jena: A free and Open Source Java Framework for Building Semantic Web and Linked Data Applications. Available online: jena.apache.org/ (accessed on 28 April 2015).
- Lassila, S.; Swick, R. Resource Description Framework (RDF) Model and Syntax Specification. Available online: www.w3.org/TR/REC-rdf-syntax/ (accessed on 19 October 2015).
- McGuinness, D.L.; van Harmelen, F. OWL Web Ontology Language Overview. Available online: www.w3.org/TR/owl-features/ (accessed on 19 October 2015).
- Rapoza, J. SPARQL Will Make the Web Shine. Available online: www.eweek.com/c/a/Application-Development/SPARQL-Will-Make-the-Web-Shine (accessed on 19 October 2015).
- Jogi, S.S.; Vidhate, A. Survey and analysis of medium access control protocols for wireless sensor network. IOSR J. Comput. Eng. 2013, 13, 69–76. [Google Scholar] [CrossRef]
- The MICAz Mote Datasheet. Available online: www.memsic.com/products.htm/ (accessed on 22 October 2015).
- Silva, B.; Tavares, E.; Maciel, P.; Nogueira, B.; Oliveira, J.; Damaso, A.; Rosa, N. AMALGHMA—An environment for measuring execution time and energy consumption in embedded systems. In Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, San Diego, CA, USA, 5–8 October 2014; pp. 3364–3369.
- Tavares, E.; Silva, B.; Maciel, P. An environment for measuring and scheduling time-critical embedded systems with energy constraints. In Proceedings of the 6th IEEE International Conference on Software Engineering and Formal Methods, Cape Town, South Africa, 10–14 Novomber 2008; pp. 291–300.
- TinyOS Applications. Available online: www.tinyos.net/tinyos-2.x/apps/ (accessed on 22 October 2015).
- The Source Code of RadioCountToLeds Application. Available online: www.tinyos.net/tinyos-2.x/apps/RadioCountToLeds/ (accessed on 22 October 2015).
- The Source Code of RadioSenseToLeds Application. Available online: www.tinyos.net/tinyos-2.x/apps/RadioSenseToLeds/ (accessed on 22 October 2015).
- The Source Code of Oscilloscope Application. Available online: www.tinyos.net/tinyos-2.x/apps/Oscilloscope/ (accessed on 22 October 2015).
- The Source Code of AntiTheft Application. Available online: www.tinyos.net/tinyos-2.x/apps/AntiTheft/Nodes/ (accessed on 22 October 2015).
© 2015 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Bispo, K.A.; Rosa, N.S.; Cunha, P.R.F. SITRUS: Semantic Infrastructure for Wireless Sensor Networks. Sensors 2015, 15, 27436-27469. https://doi.org/10.3390/s151127436
Bispo KA, Rosa NS, Cunha PRF. SITRUS: Semantic Infrastructure for Wireless Sensor Networks. Sensors. 2015; 15(11):27436-27469. https://doi.org/10.3390/s151127436
Chicago/Turabian StyleBispo, Kalil A., Nelson S. Rosa, and Paulo R. F. Cunha. 2015. "SITRUS: Semantic Infrastructure for Wireless Sensor Networks" Sensors 15, no. 11: 27436-27469. https://doi.org/10.3390/s151127436
APA StyleBispo, K. A., Rosa, N. S., & Cunha, P. R. F. (2015). SITRUS: Semantic Infrastructure for Wireless Sensor Networks. Sensors, 15(11), 27436-27469. https://doi.org/10.3390/s151127436