Semantic middleware development for the Internet of Things
Jesús Rodríguez Molina · 2012
After the extraordinary spread of the World Wide Web during the last fifteen years, engineers and developers are pushing now the Internet to its next border. A new conception in computer science and networks communication has been burgeoning during roughly the last decade: a world where most of the computers of the future will be extremely downsized, to the point that they will look like dust at its most advanced prototypes. In this vision, every single element of our “real” world has an intelligent tag that carries all their relevant data, effectively mapping the “real” world into a “virtual” one, where all the electronically augmented objects are present, can interact among them and influence with their behaviour that of the other objects, or even the behaviour of a final human user. This is the vision of the Internet of the Future, which also draws ideas of several novel tendencies in computer science and networking, as pervasive computing and the Internet of Things. As it has happened before, materializing a new paradigm that changes the way entities interrelate in this new environment has proved to be a goal full of challenges in the way. Right now the situation is exciting, with a plethora of new developments, proposals and models sprouting every time, often in an uncoordinated, decentralised manner away from any standardization, resembling somehow the status quo of the first developments of advanced computer networking, back in the 60s and the 70s. Usually, a system designed after the Internet of the Future will consist of one or several final user devices attached to these final users, a network –often a Wireless Sensor Network- charged with the task of collecting data for the final user devices, and sometimes a base station sending the data for its further processing to less hardware-constrained computers. When implementing a system designed with the Internet of the Future as a pattern, issues, and more specifically, limitations, that must be faced are numerous: lack of standards for platforms and protocols, processing bottlenecks, low battery lifetime, etc. One of the main objectives of this project is presenting a functional model of how a system based on the paradigms linked to the Internet of the Future works, overcoming some of the difficulties that can be expected and showing a model for a middleware architecture specifically designed for a pervasive, ubiquitous system. This Final Degree Dissertation is divided into several parts. Beginning with an Introduction to the main topics and concepts of this new model, a State of the Art is offered so as to provide a technological background. After that, an example of a semantic and service-oriented middleware is shown; later, a system built by means of this semantic and service-oriented middleware, and other components, is developed, justifying its placement in a particular scenario, describing it and analysing the data obtained from it. Finally, the conclusions inferred from this system and future works that would be good to be tackled are mentioned as well. RESUMEN Tras el extraordinario desarrollo de la Web durante los ultimos quince anos, ingenieros y desarrolladores empujan Internet hacia su siguiente frontera. Una nueva concepcion en la computacion y la comunicacion a traves de las redes ha estado floreciendo durante la ultima decada; un mundo donde la mayoria de los ordenadores del futuro seran extremadamente reducidas de tamano, hasta el punto que pareceran polvo en sus mas avanzado prototipos. En esta vision, cada uno de los elementos de nuestro mundo “real” tiene una etiqueta inteligente que porta sus datos relevantes, mapeando de manera efectiva el mundo “real” en uno “virtual”, donde todos los objetos electronicamente aumentados estan presentes, pueden interactuar entre ellos e influenciar con su comportamiento el de los otros, o incluso el comportamiento del usuario final humano. Esta es la vision del Internet del Futuro, que tambien toma ideas de varias tendencias nuevas en las ciencias de la computacion y las redes de ordenadores, como la computacion omnipresente y el Internet de las Cosas. Como ha sucedido antes, materializar un nuevo paradigma que cambia la manera en que las entidades se interrelacionan en este nuevo entorno ha demostrado ser una meta llena de retos en el camino. Ahora mismo la situacion es emocionante, con una pletora de nuevos desarrollos, propuestas y modelos brotando todo el rato, a menudo de una manera descoordinada y descentralizada lejos de cualquier estandarizacion, recordando de alguna manera el estado de cosas de los primeros desarrollos de redes de ordenadores avanzadas, alla por los anos 60 y 70. Normalmente, un sistema disenado con el Internet del futuro como modelo consistira en uno o varios dispositivos para usuario final sujetos a estos usuarios finales, una red –a menudo, una red de sensores inalambricos- encargada de recolectar datos para los dispositivos de usuario final, y a veces una estacion base enviando los datos para su consiguiente procesado en ordenadores menos limitados en hardware. Al implementar un sistema disenado con el Internet del futuro como patron, los problemas, y mas especificamente, las limitaciones que deben enfrentarse son numerosas: falta de estandares para plataformas y protocolos, cuellos de botella en el procesado, bajo tiempo de vida de las baterias, etc. Uno de los principales objetivos de este Proyecto Fin de Carrera es presentar un modelo funcional de como trabaja un sistema basado en los paradigmas relacionados al Internet del futuro, superando algunas de las dificultades que pueden esperarse y mostrando un modelo de una arquitectura middleware especificamente disenado para un sistema omnipresente y ubicuo. Este Proyecto Fin de Carrera esta dividido en varias partes. Empezando por una introduccion a los principales temas y conceptos de este modelo, un estado del arte es ofrecido para proveer un trasfondo tecnologico. Despues de eso, se muestra un ejemplo de middleware semantico orientado a servicios; despues, se desarrolla un sistema construido por medio de este middleware semantico orientado a servicios, justificando su localizacion en un escenario particular, describiendolo y analizando los datos obtenidos de el. Finalmente, las conclusiones extraidas de este sistema y las futuras tareas que seria bueno tratar tambien son mencionadas.