+ All Categories
Home > Documents > UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. ·...

UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. ·...

Date post: 22-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
246
UNIVERSIDAD DE OVIEDO DEPARTAMENTO DE INFORMÁTICA TESIS DOCTORAL SOCIALIZACIÓN DE OBJETOS INTELIGENTES APLICANDO INGENIERÍA DIRIGIDA POR MODELOS EN EL MARCO DE INTERNET DE LAS COSAS Socialisation of Smart Objects using Model-Driven Engineering in the framework of the Internet of Things AUTOR Daniel Meana Llorián DIRECTOR Dr. Juan Manuel Cueva Lovelle Oviedo, junio de 2020
Transcript
Page 1: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

UNIVERSIDAD DE OVIEDO DEPARTAMENTO DE INFORMÁTICA

TESIS DOCTORAL

SOCIALIZACIÓN DE OBJETOS INTELIGENTES APLICANDO INGENIERÍA DIRIGIDA POR MODELOS

EN EL MARCO DE INTERNET DE LAS COSAS

Socialisation of Smart Objects using Model -Driven Engineering in the framework of the Internet of Things

AUTOR

Daniel Meana Llorián

DIRECTOR

Dr. Juan Manuel Cueva Lovelle

Oviedo, junio de 2020

Page 2: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 3: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

I

RESUMEN

Internet de las Cosas está cada día más integrado en la vida de las personas. A menudo surgen noticias de nuevos dispositivos que hacen más fácil la vida de las personas mediante la automatización de tareas por medio actuadores basándose en datos recopilados del entorno por medio de sensores. Estos sensores y actuadores, junto a una inteligencia que los controle y los conecte a Internet, es lo que se conoce como objetos inteligentes de Internet de las Cosas. Hay miles de ejemplos de estos dispositivos como por ejemplo los smartphones, las tablets, los smartwatches o wearables, los coches inteligentes, los electrodomésticos inteligentes, y muchos otros dispositivos presentes en el día a día de muchas personas. Sin embargo, aunque estos dispositivos están conectados a Internet no están interconectados entre sí, es decir, un dispositivo no aprovecha las ventajas de otro dispositivo para mejorar su funcionamiento o incluso para automatizar tareas de un tercer dispositivo. Se podría decir que estos dispositivos no se comunican entre sí o, dicho de otra forma, no se socializan adecuadamente.

Por otro lado, actualmente, las personas no son conocedoras del potencial que sus propios dispositivos u objetos inteligentes tienen debido a la falta de conocimientos para desarrollar soluciones que les permita automatizar tareas usando diferentes dispositivos. Internet de las Cosas es un campo de investigación inmenso en el que solo se ha arañado unas pocas de todas las posibilidades que puede aportar a la vida diaria de las personas.

En esta memoria de tesis doctoral se van a presentar diferentes soluciones de Internet de las Cosas que buscan acercar este campo a las personas. Para ello se abordarán principalmente cuatro aspectos que ayudarán a este objetivo: se intentará usar objetos inteligentes para mejorar la seguridad de las personas, se intentará usar objetos inteligentes para mejorar la habitabilidad, se intentará combinar diversos dispositivos para que colaboren en tareas comunes de una forma más eficiente que si lo hicieran por separado, y se acercarán los objetos a las personas permitiéndoles socializar entre sí usando medios de comunicación característicos de las personas, las Redes Sociales.

La seguridad de las personas se intentará mejorar mediante la integración de Visión por Computador en una plataforma de Internet de las Cosas para permitir automatizar tareas cuando una cámara IP detecte la presencia de una persona en su campo de visión, mientras que la habitabilidad se mejorará mediante el uso de Lógica Difusa para controlar de forma optima los sistemas de climatización de un espacio cerrado teniendo en cuenta los datos recopilados de diferentes sensores localizados en un objeto inteligente y consultados a través de plataformas de Internet de las Cosas, y la combinación de diversos dispositivos para colaborar en tareas comunes se abordará en una propuesta de un sistema que emula a los cinco sentidos humanos donde varios subsistemas distintos simularán cada sentido tomando diferentes datos del entorno y otro sistema central recopilará esa información para tomar decisiones basándose en todos los datos recopilados por todos los demás sistemas.

Page 4: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

II

Por último, el último aspecto que busca acercar los objetos a las personas se abordará mediante el diseño de una comunicación basada en mensajes en una red social, Twitter. A través de esta red social, los objetos inteligentes podrán intercambiar información compartiendo los datos de sus sensores y enviando ordenes a sus actuadores o a otros actuadores remotos. Además, las personas podrán formar parte de esta comunicación enviando mensajes a objetos inteligentes para controlar tareas o para consultar/solicitar información que puedan captar a través de sensores. Esta nueva vía de comunicación puede ser útil en aplicaciones que necesiten que los objetos puedan socializarse entre sí y con personas. Por ello, en esta tesis doctoral se presentará un sistema capaz de generar aplicaciones que automaticen tareas en base a datos de sensores y controlen actuadores de diferentes objetos inteligentes usando Twitter como canal de comunicación. Por otro lado, para acercar el desarrollo de estas soluciones a las personas no expertas en programación, se presentará un Lenguaje de Dominio Específico creado mediante la Ingeniería Dirigida por Modelos que permitirá generar este tipo de aplicaciones para diferentes plataformas y sin requerir conocimientos avanzados de programación.

Por tanto, a lo largo de esta memoria de tesis se presentará la investigación realizada en el campo de Internet de las Cosas, y concretamente, en el estudio de la socialización de los objetos inteligentes, ya sea entre sí para compartir información que ayude a otras tareas, como la socialización de los objetos con las personas acercando así el mundo de Internet de las Cosas a su vida diaria.

Palabras Clave: Internet de las Cosas; Objetos Inteligentes; Redes Sociales; Ingeniería Dirigida por Modelos; Lenguajes de Dominio Específico; Comunicación Persona-Máquina; Visión por Computador; Lógica Difusa

Page 5: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

III

ABSTRACT

The Internet of Things is becoming more and more integrated into people's lives. It is common to see news about new devices that make people's lives easier by automating tasks through actuators that are based on data collected from the environment through sensors. The combination of these sensors and actuators, along with an intelligence that controls them and connects them to the Internet, is what is known as intelligent objects of the Internet of Things. There are thousands of examples of these devices such as smartphones, tablets, smartwatches, smart cars, smart appliances, and many other devices present in the daily lives of many people. However, although these devices are connected to the Internet they are not interconnected, that is to say, one device does not take advantage of another device to improve its operation or to automate tasks of a third device. It is possible to say that these devices do not communicate with each other, or in other words, they do not socialize properly.

On the other hand, currently, people are not aware of the potential that their own devices or intelligent objects have due to the lack of knowledge to develop solutions that allow them to automate tasks using different devices. The Internet of Things is a huge field of research in which only a few of all the possibilities it can bring to people's daily lives have been addressed.

In this doctoral thesis report, different solutions for the Internet of Things will be presented to bring this field closer to people. This will be done by addressing four main aspects that will help to achieve this goal: trying to use smart objects to improve people's safety, trying to use smart objects to improve habitability, trying to combine different devices to collaborate on common tasks in a more efficient way than if they were done separately, and bringing objects closer to people by allowing them to socialize with each other using people's social networks as the communication channel.

People's security will be enhanced by integrating Computer Vision into an Internet of Things platform allowing to automate tasks when an IP camera detects the presence of a person in its field of view. Habitability will be improved by using Fuzzy Logic to control the climate systems of an enclosed space in an optimal way. To this end, the proposed solution will take into account data collected from different sensors located on intelligent objects and/or consulted through the Internet of Things platforms. The combination of various devices to collaborate on common tasks will be addressed in a proposal that emulates the five human senses where several different subsystems will simulate each sense by taking different data from the environment and another central system will collect that information to make decisions based on all the data collected by all the other systems.

Finally, the aspect focused on bringing objects closer to people will be addressed by designing a communication channel based on messages in a social network such as Twitter. Through this social network, intelligent objects will be able to exchange information by sharing their sensor data and sending commands to their actuators or other remote actuators. Besides, people can be part of this communication by sending

Page 6: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

IV

messages to intelligent objects to control tasks or to consult/request information that they can capture through sensors. This new way of communication can be useful in applications that require objects to socialize with each other and with people. Therefore, this doctoral thesis will present a system capable of generating applications that automate tasks based on sensor data and control the actuators of different intelligent objects using Twitter as a communication channel. On the other hand, to bring the development of these solutions closer to people who are not experts in programming, a Specific Domain Language will be presented, created through Model-Driven Engineering, which will allow the generation of this type of application for different platforms and without requiring advanced programming knowledge.

Therefore, throughout this thesis report, the research carried out in the field of the Internet of Things will be presented, and specifically, in the study of the socialization of intelligent objects, either among themselves to share information that helps other tasks, such as the socialization of objects with people, thus bringing the world of the Internet of Things closer to their daily lives.

Keywords: The Internet of Things; Smart Objects; Social Networks; Model Driven Engineering; Domain Specific Language; Human-Machine communications; Computer Vision; Fuzzy Logic

Page 7: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

V

ÍNDICE GENERAL RESUMIDO

BLOQUE I PLANTEAMIENTO DEL PROBLEMA 1

CAPÍTULO 1. INTRODUCCIÓN 5 CAPÍTULO 2. EL PROCESO DE INVESTIGACIÓN 15

BLOQUE II MARCO TEÓRICO 21

CAPÍTULO 3. INTERNET DE LAS COSAS 25 CAPÍTULO 4. OBJETOS INTELIGENTES 45 CAPÍTULO 5. INGENIERÍA DIRIGIDA POR MODELOS 55 CAPÍTULO 6. REDES SOCIALES 65 CAPÍTULO 7. INTELIGENCIA ARTIFICIAL 79

BLOQUE III SOLUCIONES PROPUESTAS Y PROTOTIPOS 95

CAPÍTULO 8. SOLUCIÓN GENERAL 99 CAPÍTULO 9. SOLUCIONES ESPECÍFICAS Y PROTOTIPOS 105

BLOQUE IV CONCLUSIONES Y TRABAJO FUTURO 191

CAPÍTULO 10. CONCLUSIONES 195 CAPÍTULO 11. TRABAJO FUTURO 203 CAPÍTULO 12. PUBLICACIONES DERIVADAS 209 CAPÍTULO 13. BIBLIOGRAFÍA 211

Page 8: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 9: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

VII

ÍNDICE GENERAL

BLOQUE I PLANTEAMIENTO DEL PROBLEMA 1

CAPÍTULO 1. INTRODUCCIÓN 5 1. DESCRIPCIÓN DEL PROBLEMA 5 2. HIPÓTESIS 9 3. OBJETIVOS 12 CAPÍTULO 2. EL PROCESO DE INVESTIGACIÓN 15 1. METODOLOGÍA DE TRABAJO 15 2. DESARROLLO TEMPORAL DE LA INVESTIGACIÓN 17 3. ORGANIZACIÓN DE LA MEMORIA DE TESIS 20

BLOQUE II MARCO TEÓRICO 21

CAPÍTULO 3. INTERNET DE LAS COSAS 25 1. DEFINICIÓN Y ORIGEN 25 2. PLATAFORMAS 27

2.1. PLATAFORMAS DE NEGOCIO 28 2.2. PLATAFORMAS DE INVESTIGACIÓN 29 2.3. PLATAFORMAS EN ESTADO BETA 30 2.4. PLATAFORMAS DE CÓDIGO ABIERTO 30

3. CAMPOS DE APLICACIÓN 31 3.1. HABITABILIDAD 31 3.2. SMART HOMES 33 3.3. SMART TOWNS 33 3.4. SMART CITIES 34 3.5. SMART EARTH 35 3.6. INDUSTRIA 4.0 36

4. TECNOLOGÍAS RELACIONADAS 37 4.1. SMART TAGS: RFID Y NFC 38 4.2. BLUETOOTH 40 4.3. ZIGBEE 41 4.4. WIRELESS SENSOR NETWORKS (WSN) 42 4.5. MQTT 42

CAPÍTULO 4. OBJETOS INTELIGENTES 45 1. CONCEPTO DE OBJETO 45 2. OBJETOS NO INTELIGENTES 48 3. OBJETOS INTELIGENTES 49

3.1. NIVEL DE INTELIGENCIA 49 3.2. LOCALIZACIÓN DE LA INTELIGENCIA 50 3.3. AGREGACIÓN DE LA INTELIGENCIA 51

4. CAMPOS DE APLICACIÓN 52 CAPÍTULO 5. INGENIERÍA DIRIGIDA POR MODELOS 55 1. CONCEPTO DE MODELO 55 2. TERMINOLOGÍA DE MDE 58

2.1. DOMINIO 59

Page 10: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

VIII

2.2. METAMODELO 59 2.3. META-METAMODELO 60 2.4. SINTAXIS ABSTRACTA, SINTAXIS CONCRETA Y SEMÁNTICA ESTÁTICA 60 2.5. LENGUAJES DE DOMINIO ESPECÍFICO 60 2.6. MODELOS FORMALES 61 2.7. SEMÁNTICA DEL ESPACIO DEL PROBLEMA 61

3. TRANSFORMACIONES ENTRE MODELOS 62 4. CARACTERÍSTICAS DE UN MODELO DE MDE 62 5. FLUJO DE TRABAJO CON MDE 63 CAPÍTULO 6. REDES SOCIALES 65 1. INTRODUCCIÓN 65 2. CONCEPTO DE RED SOCIAL 68 3. CLASIFICACIÓN 71

3.1. EN BASE A LA ESPECIALIDAD 71 3.2. EN BASE AL SUJETO DE INTERÉS 73 3.3. EN BASE A LA LOCALIZACIÓN GEOGRÁFICA 74 3.4. EN BASE AL CONTENIDO COMPARTIDO 74

4. LOS SEIS GRADOS DE SEPARACIÓN 75 5. REDES SOCIALES EN IOT 76 CAPÍTULO 7. INTELIGENCIA ARTIFICIAL 79 1. INTRODUCCIÓN 80 2. TEST DE TURING 81 3. LAS SEIS REGLAS DE LA IA 82 4. VISIÓN POR COMPUTADOR 83

4.1. CONCEPTOS GENERALES 84 4.2. TRABAJO RELACIONADO 86

5. LÓGICA DIFUSA 87 5.1. CONCEPTOS GENERALES 87 5.2. TRABAJO RELACIONADO EN EL MARCO DE INTERNET DE LAS COSAS 89

6. PROCESAMIENTO DE LENGUAJE NATURAL 89 6.1. ÁREAS DE APLICACIÓN 90 6.2. MODELOS DE CONOCIMIENTO LINGÜÍSTICO 91 6.3. NIVELES DE CONOCIMIENTO INTERNOS DEL LENGUAJE NATURAL 92 6.4. TRABAJO RELACIONADO 93

BLOQUE III SOLUCIONES PROPUESTAS Y PROTOTIPOS 95

CAPÍTULO 8. SOLUCIÓN GENERAL 99 1. MEJORAR LA SEGURIDAD DE LAS PERSONAS 101 2. MEJORAR LA HABITABILIDAD 101 3. FAMILIARIZAR A LAS PERSONAS CON EL PROCESO DE SOCIALIZACIÓN DE LOS OBJETOS 102 4. SOCIALIZACIÓN DE OBJETOS PARA LOGRAR TAREAS EN COMÚN 103 CAPÍTULO 9. SOLUCIONES ESPECÍFICAS Y PROTOTIPOS 105 1. SOCIALIZACIÓN DE OBJETOS INTELIGENTES ENTRE SÍ 105

1.1. INTELIGENCIA ARTIFICIAL APLICADA A LOS RESULTADOS DE UN PROCESO DE SOCIALIZACIÓN 106 1.2. SOCIEDAD DE OBJETOS INTELIGENTES CON FINES COMUNES 135

2. SOCIALIZACIÓN DE OBJETOS INTELIGENTES CON PERSONAS 143 2.1. REDES SOCIALES COMO CANAL DE SOCIALIZACIÓN 144 2.2. APLICACIÓN DE INTELIGENCIA ARTIFICIAL PARA SOCIALIZAR OBJETOS CON PERSONAS 180

BLOQUE IV CONCLUSIONES Y TRABAJO FUTURO 191

Page 11: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

IX

CAPÍTULO 10. CONCLUSIONES 195 1. VERIFICACIÓN DE OBJETIVOS E HIPÓTESIS 195 2. APORTACIONES 199 CAPÍTULO 11. TRABAJO FUTURO 203 1. VISIÓN POR COMPUTADOR 203 2. LÓGICA DIFUSA 204 3. REDES SOCIALES 205 CAPÍTULO 12. PUBLICACIONES DERIVADAS 209 1. ARTÍCULOS PUBLICADOS EN REVISTAS INDEXADAS EN JCR 209 2. ARTÍCULOS PUBLICADOS EN REVISTAS NO INDEXADAS EN JCR 209 3. PUBLICACIONES PRESENTADAS EN CONGRESOS CIENTÍFICOS 210 4. CAPÍTULOS DE LIBROS 210 CAPÍTULO 13. BIBLIOGRAFÍA 211

Page 12: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 13: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

XI

ÍNDICE DE FIGURAS

FIGURA 1. METODOLOGÍA UTILIZADA Y DESARROLLO TEMPORAL A GRAN ESCALA DE ESTA TESIS DOCTORAL. 16 FIGURA 2. CLASIFICACIÓN DE LOS NIVELES DE INTELIGENCIA BASADOS LA CLASIFICACIÓN DE MEYER. 50 FIGURA 3. RELACIONES ENTRE TERMINOLOGÍA DE MDE. 59 FIGURA 4. WORKFLOW DE UN SISTEMA DE LÓGICA DIFUSA. 88 FIGURA 5. METAMODELO DE LAS SOLUCIONES. 100 FIGURA 6. ARQUITECTURA DE LA PLATAFORMA MIDGAR CON EL MÓDULO DE VISIÓN POR COMPUTADOR 109 FIGURA 7. FLUJO DE TRABAJO DE MIDGAR 110 FIGURA 8. INTERFAZ DE USUARIO DE LA CÁMARA IP. 113 FIGURA 9. UBICACIÓN DE LA CÁMARA IP EN EL LABORATORIO 115 FIGURA 10. EJEMPLO DE IMÁGENES TOMADAS POR LA CÁMARA IP DE MANERA MANUAL 116 FIGURA 11. EJEMPLO DE SECUENCIA DE MOVIMIENTO CAPTURADA POR LA CÁMARA IP 116 FIGURA 12. IMÁGENES MARCADAS COMO FALSOS NEGATIVOS POR UNA MALA DETECCIÓN. 118 FIGURA 13. MUESTRA DE IMÁGENES TOMADAS MANUALMENTE CON VERDADEROS POSITIVOS 118 FIGURA 14. IMAGEN CAUSANTE DEL FALSO NEGATIVO 119 FIGURA 15. LOS CINCO LEDS QUE SIMULAN EL CONTROL DE TEMPERATURA. 125 FIGURA 16. SENSACIÓN TÉRMICA SEGÚN LA TEMPERATURA Y LA HUMEDAD. 126 FIGURA 17. DISTRIBUCIÓN DE LAS VARIABLES LINGÜÍSTICAS PARA LA SENSACIÓN TÉRMICA DEL EXTERIOR. 127 FIGURA 18. DISTRIBUCIÓN DE LAS VARIABLES LINGÜÍSTICAS PARA LA HUMEDAD EXTERIOR. 127 FIGURA 19. ARQUITECTURA DEL SISTEMA. 128 FIGURA 20. TEMPERATURAS OBTENIDAS PARA LA EVALUACIÓN. 132 FIGURA 22. NÚMERO DE HORAS DE LOS SISTEMAS ENCENDIDOS/APAGADOS. 133 FIGURA 21. ESTADOS DE LOS SISTEMAS DURANTE LA SIMULACIÓN DE UN DÍA COMPLETO. 133 FIGURA 23. RECONOCIMIENTO EFECTUADO POR EL PROTOTIPO DE LA VISTA. 139 FIGURA 24. HARDWARE IMPLICADO EN EL PROTOTIPO DEL OLFATO. 140 FIGURA 25. METAMODELO DEL DOMINIO DE LA SOLUCIÓN ESPECÍFICA. 149 FIGURA 26. COMPONENTES QUE PARTICIPAN EN LA INTERCONEXIÓN DE OBJETOS A TRAVÉS DE REDES SOCIALES.

159 FIGURA 27. PASOS DEL CICLO DE TRABAJO DE BILROST: 1. GENERACIÓN DE PROYECTOS Y 2. COMPLETADO DE

PROYECTOS. 160 FIGURA 28. EDITOR WEB GRÁFICO DE BILROST. 162 FIGURA 29. EDITOR GRÁFICO - DEVICE BOX O CAJA DEL DISPOSITIVO. 163 FIGURA 30. EDITOR GRÁFICO - SOCIAL NETWORKS BOX O CAJA DE REDES SOCIALES. 163 FIGURA 31. EDITOR GRÁFICO - OBJECTS BOX O CAJA DE OBJETOS. 164 FIGURA 32. EDITOR GRÁFICO - RULES BOX O CAJA DE REGLAS. 165 FIGURA 33. TIEMPOS EMPLEADOS POR CADA PARTICIPANTE EN COMPLETAR LA EVALUACIÓN. 173 FIGURA 34. TIEMPO MEDIO USADO PARA COMPLETAR LA TAREA EN FUNCIÓN DEL PRIMER EDITOR USADO. 174 FIGURA 35. DIAGRAMA DE CAJAS Y BIGOTES DE CADA PREGUNTA. 175 FIGURA 36. FRECUENCIAS DE LAS RESPUESTAS DE LA ENCUESTA POR PREGUNTA. 175 FIGURA 37. ARQUITECTURA DE TRES CAPAS DE SENSEQ. 186

Page 14: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 15: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

XIII

ÍNDICE DE TABLAS

TABLA 1. RESULTADOS OBTENIDOS CON LAS IMÁGENES TOMADAS MANUALMENTE 117 TABLA 2. RESULTADOS OBTENIDOS CON LAS SECUENCIAS DE IMÁGENES TOMADAS AUTOMÁTICAMENTE 119 TABLA 3. INFORMACIÓN SOBRE CADA SECUENCIA 120 TABLA 4. REGLAS DIFUSAS USADAS PARA CALCULAR EL GRADO DE VERDAD DE LA POSIBLE SENSACIÓN TÉRMICA.

129 TABLA 5. REGLAS DIFUSAS USADAS PARA CALCULAR EL GRADO DE VERDAD DE LAS POSIBLES ACCIONES QUE

REALIZAR. 130 TABLA 6. CONDICIONES AMBIENTALES DE UN DÍA COMPLETO. 131 TABLA 7. ENCUESTA REALIZADA A LOS PARTICIPANTES EN LA EVALUACIÓN. 172 TABLA 8. ESTADÍSTICA DESCRIPTIVA OBTENIDA DE LAS RESPUESTAS DE LAS ENCUESTAS. 174

Page 16: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 17: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

XV

ÍNDICE DE FRAGMENTOS DE CÓDIGO FUENTE

CÓDIGO FUENTE 1. EJEMPLO DE DEFINICIÓN DE UN ACTUADOR USANDO BSL. 143 CÓDIGO FUENTE 2. GRAMÁTICA DE BIRLOST-SPECIFIC LANGUAGE EN NOTACIÓN DE BACKUS-NAUR (BNF). 152 CÓDIGO FUENTE 3. ESQUELETO DE SINTAXIS DE LA DEFINICIÓN DEL DISPOSITIVO. 153 CÓDIGO FUENTE 4. ESQUELETO DE SINTAXIS DE LOS FILTROS EN LA DEFINICIÓN DEL DISPOSITIVO. 153 CÓDIGO FUENTE 5. ESQUELETO DE SINTAXIS QUE INDICA LAS REDES SOCIALES DEL DISPOSITIVO. 154 CÓDIGO FUENTE 6. ESQUELETO DE SINTAXIS DE LA CONFIGURACIÓN DE TWITTER COMO RED SOCIAL DEL

DISPOSITIVO. 154 CÓDIGO FUENTE 7. ESQUELETO DE SINTAXIS PARA DEFINIR LOS ACTUADORES DE UN DISPOSITIVO. 154 CÓDIGO FUENTE 8. ESQUELETO DE SINTAXIS PARA DEFINIR LOS SENSORES DE UN DISPOSITIVO. 155 CÓDIGO FUENTE 9. ESQUELETO DE SINTAXIS PARA DEFINIR UNA REGLA DE UN DISPOSITIVO. 155 CÓDIGO FUENTE 10. SINTAXIS PARA INDICAR COMO FUENTE DE DATOS UN SENSOR LOCALIZADO EN EL MISMO

DISPOSITIVO. 156 CÓDIGO FUENTE 11. SINTAXIS PARA INDICAR COMO FUENTE DE DATOS VARIOS SENSORES LOCALIZADOS EN EL

MISMO DISPOSITIVO. 156 CÓDIGO FUENTE 12. SINTAXIS PARA INDICAR COMO FUENTE DE DATOS UN SENSOR LOCALIZADO EN OTRO

DISPOSITIVO. 156 CÓDIGO FUENTE 13. SINTAXIS PARA INDICAR COMO FUENTE DE DATOS VARIOS SENSORES LOCALIZADOS EN

OTROS DISPOSITIVOS. 156 CÓDIGO FUENTE 14. SINTAXIS PARA INDICAR LA CONDICIÓN QUE DEBEN CUMPLIR LOS DATOS DE LOS SENSORES

DEL DISPOSITIVO. 156 CÓDIGO FUENTE 15. SINTAXIS PARA INDICAR LA EJECUCIÓN DE UNA ACCIÓN DE UN ACTUADOR LOCALIZADO EN

EL MISMO DISPOSITIVO. 157 CÓDIGO FUENTE 16. SINTAXIS PARA INDICAR LA EJECUCIÓN DE UNA ACCIÓN DE VARIOS ACTUADORES

LOCALIZADOS EN EL MISMO DISPOSITIVO. 157 CÓDIGO FUENTE 17. SINTAXIS PARA INDICAR LA EJECUCIÓN DE UNA ACCIÓN DE UN ACTUADOR LOCALIZADO EN

OTRO DISPOSITIVO. 157 CÓDIGO FUENTE 18. SINTAXIS PARA INDICAR LA EJECUCIÓN DE UNA ACCIÓN DE VARIOS ACTUADORES

LOCALIZADOS EN OTROS DISPOSITIVOS. 157 CÓDIGO FUENTE 19. EJEMPLO DE DISPOSITIVO DEFINIDO CON BSL. 158 CÓDIGO FUENTE 20. ESQUELETO DE UN ACTUADOR TRAS LA GENERACIÓN DEL PROYECTO. 161 CÓDIGO FUENTE 21. DEFINICIÓN DEL DISPOSITIVO RASPBERRY PI DEL EJEMPLO EN BSL. 166 CÓDIGO FUENTE 22. DEFINICIÓN DEL DISPOSITIVO ANDROID DEL EJEMPLO EN BSL. 166 CÓDIGO FUENTE 23. EJEMPLO DE IMPLEMENTACIÓN DE UN ACTUADOR. 167

Page 18: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 19: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1

BLOQUE I Planteamiento del problema

Page 20: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 21: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3

ÍNDICE DEL BLOQUE

CAPÍTULO 1. INTRODUCCIÓN 5 1. DESCRIPCIÓN DEL PROBLEMA 5 2. HIPÓTESIS 9 3. OBJETIVOS 12 CAPÍTULO 2. EL PROCESO DE INVESTIGACIÓN 15 1. METODOLOGÍA DE TRABAJO 15 2. DESARROLLO TEMPORAL DE LA INVESTIGACIÓN 17 3. ORGANIZACIÓN DE LA MEMORIA DE TESIS 20

Page 22: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 23: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

5

CAPÍTULO 1. INTRODUCCIÓN

En este primer capítulo se introducirá esta tesis doctoral presentando las bases de la investigación realizada empezando por los diferentes problemas a los que esta tesis doctoral quiere dar solución y motivaron su realización.

Una vez identificados los problemas a tratar surgen varias preguntas de investigación a partir de las cuales se plantean las hipótesis de esta tesis doctoral. Y tras esto, se presentan los objetivos que se deben cumplir para lograr demostrar las hipótesis planteadas.

1. Descripción del problema

En la actualidad, las personas viven en una sociedad que requiere la existencia de relaciones entre las personas. Todas y cada una de las personas de esta sociedad necesita de otras personas para poder avanzar en su día a día, desde que nacen, crecen, maduran, estudian, trabajan, hasta que mueren, todas las personas tienen la necesidad de tener a otras personas junto a ella que la ayuden a vivir y lograr sus objetivos. Sería impensable plantearse y aún menos lograr, una vida solitaria sin que exista contacto con ninguna otra persona en esta sociedad, y, por tanto, se podría decir que la vida de las personas se basa en la socialización. A partir de esta pequeña reflexión, puede surgir la siguiente cuestión, ¿sólo las personas necesitan relacionarse? ¿sólo las personas necesitan una sociedad? ¿es único de la naturaleza humana la socialización? Para responder a estás preguntas es conveniente consultar a la Real Academia Española (RAE) la definición del termino «sociedad» y «socialización».

Así, según (Real Academia Española, 2019) se pueden definir las palabra «sociedad», y «socialización» de la siguiente manera:

«Sociedad» según la RAE.

• Conjunto de personas, pueblos o naciones que conviven bajo normas comunes.

• Agrupación natural o pactada de personas, organizada para cooperar en la consecución de determinados fines.

• Agrupación natural de algunos animales.

«Socialización» según la RAE.

Acción y efecto de socializar.

Para entender mejor la definición de «socialización» es necesario consultar también la definición de «socializar».

«Socializar» según la RAE.

• Extender al conjunto de la sociedad algo limitado antes a unos pocos. Socializar la cultura.

Page 24: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 1: Introducción

6

• Adaptar a un individuo a las normas de comportamiento social.

• Hacer vida de relación social.

Para entender mejor la definición de «socializar» es necesario consultar también la definición de «relación».

«Relación» según la RAE.

• Conexión, correspondencia de algo con otra cosa.

• Conexión, correspondencia, trato, comunicación de alguien con otra persona.

A partir de estas definiciones se pueden realizar varias afirmaciones, que responden a las preguntas antes planteadas. El ser humano no es la única especie capaz de formar sociedades ya que su propia definición afirma la existencia de sociedades de animales y, por tanto, no solo los humanos son capaces de socializar, es decir, no solo los humanos pueden vivir basándose en relaciones sociales como indica la definición de «socializar», entendiendo las relaciones sociales como la conexión de un individuo con otro o con otra cosa como se extrae de la definición de «relación». Sin embargo, llegado a este punto, surge otra pregunta debido a la mención de la palabra «cosa» en la definición de «relación», ¿hay más «cosas» a parte de los seres vivos que puedan socializarse? ¿qué «cosas» pueden socializar? ¿es posible usar la socialización de «cosas» para otros fines?

Uno de los términos más escuchados en los últimos años es el de Internet de las Cosas (IoT por sus siglas en inglés). Esta popularidad puede deberse a varios factores entre los que se encuentra la gran cantidad de dispositivos conectados a Internet que nos rodean y que se engloban como dispositivos de Internet de las Cosas. Estos dispositivos son lo que se puede llamar «cosas» y a lo que se hace referencia en las preguntas anteriores, aunque también se conocen como «objetos inteligentes». Estos objetos o cosas son los dispositivos cotidianos que la mayoría de las personas usan en su día a día como smartphones, tablets, smartwatches o cualquier otro tipo de weareable, y muchos otros dispositivos inteligentes capaces de conectarse a Internet. Esta habilidad de conectarse a Internet les permite entablar relaciones con otros dispositivos con el fin de intercambiar información, reaccionar ante diferentes datos que surjan de esa información, etc. e incluso les permite entablar relaciones con personas aportando datos que las personas necesiten o realizando acciones que estos les indiquen. Por tanto, se podrían resolver las preguntas anteriores relativas a «cosas» indicando que no solo las personas son capaces de socializarse, sino también los objetos inteligentes de Internet de las Cosas son capaces de socializar al poder establecer conexiones con otros objetos o incluso con personas. Además, gracias a esta socialización entre objetos, se recopilan y se combinan datos que las personas pueden utilizar.

La conexión entre dispositivos o interconexión de objetos heterogéneos y ubicuos a través de Internet, normalmente con cierta inteligencia, con el fin de lograr objetivos comunes, crear aplicaciones o suministrar servicios es lo que se conoce como Internet de las Cosas o Internet de los Objetos (IoT) (Vermesan & Peter Friess, 2013). Este término está cada vez más extendido y no es extraño encontrar nuevos productos en el mercado que hagan referencia a él casi a diario. Sin embargo, las soluciones tecnológicas basadas en Internet de las Cosas no son muy variadas y se concentran principalmente en conectar objetos inteligentes a Internet y controlarlos mediante una aplicación específica para tal propósito.

Page 25: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1. Descripción del problema

7

En esta tesis doctoral, se presentarán diversas soluciones que abordan distintos aspectos de la vida cotidiana de las personas con el fin de mejorarla aplicando tecnologías de Internet de las Cosas a la vez que se trata la socialización de los objetos. Como se acaba de mencionar, las actuales soluciones tecnológicas de Internet de las Cosas no son muy variadas y, por tanto, las primeras propuestas de esta tesis doctoral abordan la aplicación de dos técnicas de Inteligencia Artificial a datos obtenidos de la socialización de diferentes objetos de Internet de las Cosas para mejorar la seguridad y para mejorar la habitabilidad.

Mejorar la seguridad. El uso de cámaras de vigilancia conectadas a Internet, más conocidas como cámaras IP, está extendido entre los usuarios para intentar mantener seguras ciertas zonas, ciudades u hogares. Sin embargo, existe un problema en esta aproximación de seguridad. Las imágenes captadas por las cámaras necesitan ser revisadas para detectar si ocurre algo fuera de lo normal o si aparece un intruso. Para mejorar la seguridad este proceso se debería automatizar de forma que, en caso de detectarse un evento anormal, como la presencia de un intruso, se realizase una tarea concreta como notificar esa presencia al personal de seguridad. Sin embargo, el proceso de automatización en el análisis de imágenes de una cámara entraña más dificultades como el asegurar precisión en los resultados de ese análisis y que no pongan en riesgo la seguridad que pretende mejorar.

Mejorar la habitabilidad. Conocer y entender las condiciones ambientales de las ciudades puede ayudar a mejorar la habitabilidad de localizaciones interiores. Lograr un ajuste adecuado de la temperatura de un espacio cerrado depende de varios factores y no solo de la temperatura actual en ese espacio, sino que también depende de las condiciones ambientales del exterior, es decir, de la temperatura exterior y de la humedad o su combinación llamada sensación térmica. Por tanto, lograr un buen ajuste de la temperatura interior no solo consiste en encender o apagar el sistema de calefacción y aire acondicionado, sino que hay que hacer cálculos más complejos a los que la lógica tradicional basada en estados binarios (si x entonces y) no se adapta adecuadamente. Por tanto, para mejorar la habitabilidad hay que buscar una mejor manera de controlar la temperatura interior teniendo en cuenta las condiciones ambientales del exterior.

Por otro lado, se abordará el proceso de socialización de los objetos inteligentes proponiendo dos soluciones distintas que faciliten la socialización entre objetos y personas. En una de ellas se buscará que los objetos puedan socializarse a través de redes sociales de personas incluyendo a estas en el proceso de socialización y en la otra solución se buscará hacer que la socialización entre personas y objetos en las redes sociales sea lo más natural posible además de establecer una red sensores relacionados entre sí bajo distintos tipos de relaciones. En ambas soluciones, se buscan solventar varios problemas comunes que se detallan a continuación y que son los siguientes: la necesidad de hardware como sensores, actuadores u objetos que conectar o donde desplegar las herramientas que se encargan de la intercomunicación, la gran variedad o heterogeneidad de objetos que existe, la dificultad existente en el desarrollo de aplicaciones, y la falta de una comunicación natural entre personas y máquinas.

Necesidad de hardware. La mayoría de los usuarios no disponen de las herramientas necesarias para conectar objetos o ni siquiera tiene objetos que conectar ya que estos son componentes hardware y no todo el mundo dispone del poder adquisitivo necesario

Page 26: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 1: Introducción

8

para adquirir diversos objetos que interconectar o los medios para facilitar esta interconexión como servidores donde desplegar soluciones a los que conectar los objetos.

Heterogeneidad de los objetos. La heterogeneidad es uno de los problemas que dificulta la comunicación entre objetos (Gama, Touseau, & Donsez, 2012) convirtiendo a la interoperabilidad entre objetos heterogéneos y ubicuos, y otros sistemas diferentes uno de los principales problemas de Internet de las Cosas diferentes (Mashal et al., 2015). Este problema se debe principalmente a las diferentes implementaciones necesarias para poder conectar varios objetos entre sí al pertenecer a diferentes fabricantes y disponer de diferentes sistemas operativos. Además, las soluciones de los fabricantes para conectar dispositivos no tienen porque seguir un estándar específico y las soluciones de otros desarrolladores tampoco son compatibles entre sí debido a la inexistencia de interfaces, estándares o protocolos comunes (Guinard & Trifa, 2009). Para solventar este problema, es necesario que los objetos que se quieran interconectar usen un sistema común que permite a los objetos comunicarse y que pueda funcionar con distintas tecnologías.

Dificultades en el desarrollo de aplicaciones. Otro de los problemas existentes en el mundo de Internet de las Cosas es el desconocimiento de los usuarios sobre como interconectar objetos en la fase de desarrollo de aplicaciones. La libertad que existe a la hora de crear esa interconexión genera que cada desarrollador utilice una vía de comunicación distinta a su antojo y que el formato de los mensajes sea también diferente según el desarrollo. Además, es para comunicar objetos, es necesario conocimientos avanzados de los lenguajes de programación de cada objeto que se quiera conectar, así como conocimientos sobre el sistema o plataforma de comunicación. Esto deriva en que se priva a los usuarios inexpertos o con pocos conocimientos técnicos de interconectar sus propios objetos o crear aplicaciones que los usen conformándose entonces con las soluciones existentes en el mercado.

Falta de una comunicación natural entre personas y máquinas. Uno de los canales de comunicación más usados en el mundo digital por las personas para comunicarse con amigos, familiares, o simplemente para estar al corriente de lo que ocurre en el mundo que los rodea son las redes sociales. En este canal de comunicación, los objetos de Internet de las Cosas no son muy activos en los aspectos de socialización con otros objetos o personas. Los objetos disponibles en las redes sociales solo se encargar de publicar información que pocas veces es entendible por las personas correctamente por no usar un lenguaje natural y rara vez se socializan activamente. Es decir, no aportan información bajo la demanda de los usuarios sino automáticamente y sin interaccionar con ellos. Por tanto, un problema a abordar sería la integración de los objetos inteligentes en las redes sociales de personas de forma que sean capaces de socializar de una forma natural para las personas.

Por último, otro de los problemas que esta tesis abordará es la dificultad para dar valor a datos aislados. Con el auge de Internet de las Cosas cada vez hay más dispositivos conectados a Internet y por tanto más información disponible para analizar y procesar. Sin embargo, cuando estos datos se toman de forma aislada puede ser que no se les otorgue el valor que realmente merecen si se les combinase con datos de otros sistemas. Este problema es extrapolable al cuerpo humano. Si se prescinde de alguno de los cinco sentidos, la información que recopilan los demás puede estar incompleta o

Page 27: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Hipótesis

9

no ser útil. Por ejemplo, si una persona escucha un sonido que va en aumento y lo combina con la información que proporciona el sentido de la vista de forma que busca la fuente de ese sonido, esa persona puede evitar un atropello derivado de un coche que se aproxima a él a gran velocidad, primero detectado con el oído que algo se aproxima y después identificando con la vista de que peligro se trata y actuando en consecuencia. Sin la información de la vista puede ser que esa persona no hubiera sido capaz de evitar el atropello y por tanto la información recopilada por el oído no hubiera sido útil.

En resumen, en esta tesis doctoral se busca acercar al público general el mundo de Internet de las Cosas. Para ello, en esta memoria se presentan soluciones que abarcan distintos ámbitos de la vida cotidiana de las personas e intenta mejorarlo mediante la mejora de la seguridad, la mejora de la habitabilidad, logrando que sea más sencillo para los usuarios el proceso de socialización con los objetos, y, por último, creando un único sistema que englobe a varios sistemas que abarquen todos estos aspectos y que combine la información de todos los sistemas aportando valor añadido.

2. Hipótesis

Internet de las Cosas es un campo en auge con muchos problemas pendientes de resolver o con muchas ideas pendientes de llevar a cabo como se ha mostrado en el apartado anterior. Ante el estudio de estos problemas e ideas han surgido una serie de preguntas de investigación a partir de las cuales se han formulado las diferentes hipótesis que esta tesis doctoral pretende contrastar.

Ante la posibilidad de que Internet de las Cosas pueda mejorar la seguridad de las personas analizando resultados obtenidos de objetos conectados entre sí, es decir, analizando resultados obtenidos durante un proceso de socialización, una de las soluciones de esta tesis doctoral abordará la posibilidad de aplicar visión por computador a las imágenes obtenidas de una cámara IP para intentar usar la cámara como un sensor de presencia que indique si un intruso ha entrado en el campo de visión de la cámara. Esta solución pretende utilizar las cámaras de vigilancia como sensores binarios que permitan automatizar tareas cuando se detectar un objeto concreto en su campo de visión. Concretamente, en la solución presentada más adelante, se intenta integrar una cámara IP en una plataforma de IoT que permita la automatización de tareas si se detecta a una persona en el campo de visión. Esta solución buscará resolver las siguientes preguntas:

¿Es posible usar cámaras IP como sensores de presencia? ¿Es posible automatizar tareas en función de imágenes de una cámara IP? ¿Es posible integrar cámaras IP en una plataforma de IoT? ¿Puede IoT mejorar la seguridad de las personas? ¿Tiene cabida la visión por computador en IoT?

Ante la posibilidad de que Internet de las Cosas pueda mejorar la habitabilidad de un espacio cerrado mediante el análisis de datos obtenidos durante un proceso de socialización, una de las soluciones de esta tesis doctoral abordará la posibilidad de aplicar lógica difusa a los datos obtenidos de sensores de temperatura y humedad situados tanto en el exterior de un espacio cerrado como en el interior con el fin de controlar el sistema de climatización del espacio cerrado de la forma más óptima

Page 28: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 1: Introducción

10

posible. Concretamente, se tomarán valores de la humedad y la temperatura exterior a partir de datos de plataformas de IoT para calcular la sensación térmica y se combinarán con la temperatura interior para decidir, aplicando lógica difusa, el momento optimo para encender o apagar la calefacción y el aire acondicionado. La Lógica Difusa permite considerar muchos más estados que la lógica tradicional que solo es capaz de ofrecer conjuntos de soluciones binarias. Con la Lógica Difusa, los ordenadores disponen de la capacidad de reaccionar ante eventos de una forma similar a como lo harían las personas al tener en cuenta más información. Esta solución buscará resolver las siguientes preguntas:

¿Es posible controlar la temperatura de un especio cerrado teniendo en cuenta las condiciones ambientales del exterior? ¿Es posible emular el comportamiento humano en la toma de decisiones sobre el control del sistema de climatización? ¿Puede IoT mejorar la habitabilidad de espacios para personas? ¿Tiene cabida la lógica difusa en IoT?

Ante el problema de la necesidad de hardware, dos de las soluciones de esta tesis doctoral, aquellas que abordan el proceso de socialización de objetos inteligentes, tratarán de solventar estos problemas mediante el uso de las redes sociales que las personas usan a diario ya que el uso de redes sociales beneficia a que las personas se familiaricen con las tecnologías de Internet de las Cosas, como ya afirmaron científicos de Ericsson (Atzori, Iera, & Morabito, 2010). La existencia de una analogía entre el uso de las redes sociales y las tecnologías de Internet de las Cosas hace que las personas vean más sencillas las tecnologías de Internet de las Cosas. Estas soluciones buscarán resolver las siguientes preguntas:

¿Es posible crear un sistema que permita a los usuarios usar objetos inteligentes sin tener acceso físico a ellos? ¿Es posible compartir objetos inteligentes con otros usuarios? ¿Es posible conectar objetos inteligentes sin necesidad de plataformas dedicadas?

Ante el problema de la heterogeneidad de los objetos, una de las soluciones de esta tesis doctoral aborda este problema planteando un sistema que permite generar aplicaciones adaptadas a distintitos dispositivos pero que les permite comunicarse entre sí por medio de un mismo canal de comunicación y usando mensajes que siguen una misma estructura. Esta solución buscará resolver las siguientes preguntas:

¿Es posible interconectar objetos heterogéneos entre sí? ¿Esta comunicación se puede realizar usando mensajes con una misma estructura y usando un mismo canal de comunicación? ¿Es posible desarrollar soluciones basadas en esta interconexión sin que la heterogeneidad afecte al desarrollo?

Ante el problema de la dificultad para desarrollar aplicaciones, una de las soluciones de esta en esta tesis doctoral aborda este problema permitiendo generar aplicaciones sin conocimientos avanzados de programación aplicando Ingeniería Dirigida por Modelos y creando un nuevo Lenguaje de Dominio Específico. De esta manera, cualquier usuario con conocimientos básicos sería capaz de generar sus propias aplicaciones acordes a sus necesidades y manteniendo una homogeneidad entre los desarrollos para cada dispositivo. Esta solución buscará resolver las siguientes preguntas:

¿Es posible facilitar la generación de aplicaciones basadas en Internet de las Cosas? ¿Es posible generalizar la generación de aplicaciones? ¿Es posible automatizar la generación de código para interconectar objetos heterogéneos y ubicuos? ¿Puede la

Page 29: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Hipótesis

11

Ingeniería Dirigida por Modelos facilitar, generalizar y automatizar la generación de aplicaciones para objetos heterogéneos y ubicuos de Internet de las Cosas?

Ante el problema de falta de una comunicación natural entre personas y máquinas, una de las soluciones de esta tesis doctoral propone abordar este problema mediante un sistema que permita integrar a los objetos de Internet de las Cosas en las redes sociales de personas aplicando procesamiento de lenguaje natural para lograr una socialización eficaz entre personas y máquinas. El sistema propuesto permitirá a las personas solicitar información usando lenguaje natural que desde una red de sensores distribuidos se puedan contestar. Además, se propone un sistema de relaciones entre los sensores que permita combinar la información de los distintos sensores de acuerdo con estas relaciones y así aportar al usuario la información que solicita a través de redes sociales. Esta solución buscará resolver las siguientes preguntas:

¿Es posible conectar los objetos inteligentes a redes sociales de personas? ¿Es posible establecer una comunicación entre objetos inteligentes y personas a través de redes sociales? ¿Es posible que esta comunicación sea en un lenguaje natural para las personas?

Ante el problema de la dificultad para dar valor a datos aislados, una de las soluciones de esta tesis doctoral propone abordar este problema mediante la creación de un nuevo sistema basado en el mismo principio que los cinco sentidos humanos. La combinación de la información de varios subsistemas para abordar fines comunes. Este nuevo sistema estaría dividido en varios subsistemas que simula cada uno de los sentidos humanos y un sexto sistema que orqueste a todos los demás y permita tomar decisiones en función de los datos recopilados por cada uno de los subsistemas. Estos datos se verían complementados con los datos de los demás subsistemas, tomando todos los datos en conjunto y no de forma aislada. Esta solución buscará resolver las siguientes preguntas:

¿La creación de un macrosistema que aglutine varios subsistemas aporta valor añadido a los datos de cada subsistema? ¿Es posible simular los cinco sentidos humanos usando tecnologías de Internet de las Cosas?

Teniendo en cuenta todas las preguntas de investigación de este apartado, surgen las hipótesis de esta tesis doctoral y que se derivan en cada una de las soluciones específicas abordadas.

Las imágenes de una cámara IP pueden ser tratadas como datos de un sensor binario mediante la aplicación de visión por computador con la suficiente precisión para automatizar o semi-automatizar tareas, integrando así la visión por computador en Internet de las Cosas.

La aplicación de la lógica difusa a datos obtenidos de plataformas de IoT permite mejorar la habitabilidad de un espacio cerrado mediante el control del sistema de calefacción y aire acondicionado, reduciendo el consumo energético, y considerando las condiciones ambientales exteriores.

Page 30: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 1: Introducción

12

Es posible facilitar la creación de aplicaciones que permitan la integración de objetos inteligentes de Internet de las Cosas en redes sociales, y que permitan la interacción entre los propios objetos y entre los objetos y las personas.

La socialización entre personas y objetos inteligentes de Internet de las Cosas a través de las redes sociales de personas usando el lenguaje natural de las personas es posible, permitiendo a las personas consultar información en una red de sensores relacionados entre sí.

La creación de un macrosistema formado por diferentes sistemas que emulan los cinco sentidos humanos permite obtener nuevos datos tras combinar los datos de cada subsistema y tomar mejores decisiones con más información en comparación con usar los datos de cada subsistema de forma aislada.

Estas cinco hipótesis se abordarán por separado en varias soluciones específicas que se presentarán como soluciones parciales pertenecientes a una solución general más abstracta. Esta solución general, marcará las pautas que las soluciones específicas deben seguir y que como solución buscará confirmar la siguiente hipótesis general de esta tesis doctoral.

El estudio de la socialización de objetos de Internet de las Cosas permite encontrar mecanismos para mejorar la seguridad, mejorar la habitabilidad, integrar los objetos inteligentes en las Redes Sociales de las personas y facilitar la comunicación entre objetos y personas, es decir, acercar las tecnologías de Internet de las Cosas a las personas.

3. Objetivos

En este apartado se presentarán los objetivos derivados a partir de las preguntas de investigación planteadas en el apartado anterior y que originaron las hipótesis de esta tesis doctoral. Estos objetivos son los que se deben cumplir para comprobar cada una de las hipótesis planteadas. Primero se presentará el objetivo principal y a continuación los objetivos parciales en los que se divide el objetivo principal.

El objetivo principal de esta tesis doctoral es el siguiente:

Desarrollar una investigación en el marco de Internet de las Cosas que aborde la socialización de los objetos inteligentes entre sí y con personas, buscando facilitar esa comunicación acercándola a la forma de socializar de las personas, mejorar la seguridad de las personas y mejorar la habitabilidad, es decir, acercar las tecnologías de Internet de las Cosas al día a día de las personas sin que necesiten conocimientos de desarrollo de software utilizando diversas técnicas como Inteligencia Artificial e Ingeniería Dirigida por Modelos.

Este objetivo principal se divide en los siguientes objetivos parciales y que se irán abordando en cada solución específica presentada.

Mejorar la seguridad de las personas. Uno de los objetivos derivados del objetivo general es el buscar la forma de mejorar la seguridad de las personas usando tecnologías

Page 31: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Objetivos

13

de Internet de las Cosas. Esto se llevará a cabo aplicando una técnica de Inteligencia Artificial a los datos procedentes de cámaras de vigilancia IP. En concreto se quiere lograr usar cámaras IP como si de sensores binarios se tratase para que permitan identificar con precisión si un intruso ha accedido a una zona protegida mediante el uso de algoritmos de Visión por Computador. A partir de las imágenes obtenidas debe poder automatizarse tareas según se detecte la presencia de una persona. Cumpliendo este objetivo se logra mejorar la seguridad de las personas en espacios cerrados a partir del análisis de los datos obtenidos en el proceso de socialización de objetos inteligentes de Internet de las Cosas, en concreto de cámaras IP y una plataforma de Internet de las Cosas.

Mejorar la habitabilidad. Uno de los objetivos derivados del objetivo general es el buscar la forma de mejorar la habitabilidad usando tecnologías de Internet de las Cosas. Esto se llevará a cabo aplicando una técnica de Inteligencia Artificial a los datos procedentes de sensores de Internet de las Cosas, concretamente datos sobre la temperatura y humedad exterior y temperatura interior de un espacio cerrado como una habitación. La habitabilidad se mejorará a partir de una gestión de la temperatura interior más inteligente, decidiendo en que momento es más oportuno encender la calefacción o el aire acondicionado, y a que potencia. Para esto se usarán algoritmos de Lógica Difusa y datos de sensores físicos y de una plataforma online de Internet de las Cosas. Cumpliendo este objetivo se logra mejorar la habitabilidad a partir de un control optimo de la temperatura interior según los datos obtenidos de las condiciones ambientales del exterior, es decir, a partir del análisis de los datos obtenidos en el proceso de socialización de objetos inteligentes de Internet de las Cosas.

Establecer relaciones sociales entre diferentes sistemas de Internet de las Cosas. Otro de los objetivos de esta tesis doctoral, es idear un sistema que permita tomar mejores decisiones a partir de los datos recopilados por diferentes subsistemas aparentemente independientes pero que mediante su socialización pueden ayudar a tomar mejores decisiones. Es decir, uno de los objetivos es la creación de un sistema capaz de imitar el comportamiento humano referente a los sentidos. Estos son capaces de recoger datos del entorno y combinándolos, las personas son capaces de tomar mejores decisiones que si solo se tuvieran en cuenta los datos de un único sentido.

Integrar objetos inteligentes en redes sociales de personas. A partir de la integración de los objetos inteligentes en las redes sociales de personas se podrán superar el siguiente objetivo. Para cumplir con este objetivo, los objetos deberán ser capaces de leer y analizar la información publicar en redes sociales de personas como Twitter y también publicar información en la misma red social.

Socializar objetos inteligentes entre sí y con personas a través de Redes Sociales. Una vez completado el objetivo anterior, se podrá abordar la socialización entre objetos y entre estos y las personas usando como vía de comunicación las Redes Sociales. Este objetivo consiste en que las personas podrán enviar ordenes a los objetos a través de redes sociales, consultar datos de estos, y solicitar datos concretos usando un lenguaje lo más cómodo posible para las personas. También se deberá abordar la comunicación entre objetos inteligentes a través de redes sociales permitiéndoles consultar datos de otros objetos y automatizar tareas enviando ordenes a otros objetos en función de los datos consultados u obtenidos por otros medios.

Page 32: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 1: Introducción

14

Facilitar la creación de aplicaciones que hagan uso de las Redes Sociales como canal de socialización. Tras superar los objetivos anteriores, hay que abordar el desarrollo de aplicaciones que permitan aprovechar las capacidades de socializar de objetos inteligentes a través de Redes Sociales. Para ello habrá que facilitar la generación de aplicaciones donde la implementación para comunicarse a través de Redes Sociales ya esté implementada independientemente de la plataforma donde se requiera ejecutar la aplicación. Para ello se deberá definir un Lenguaje de Dominio Específico aplicando Ingeniería Dirigida por Modelos a partir del cual se podrán definir modelos de aplicaciones que interconectan objetos inteligentes a través de redes sociales y generar su código.

Page 33: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

15

CAPÍTULO 2. EL PROCESO DE INVESTIGACIÓN

Una vez introducida la tesis doctoral, en este segundo capítulo se presentará la metodología que se ha usado para su desarrollo. El apartado que abordará la metodología detallará la metodología de trabajo, las líneas de investigación de la tesis, el ciclo de vida de trabajo seguido durante la realización de la tesis y finalizará con los diferentes métodos científicos utilizados. Por último, se presentará la organización de esta memoria de tesis doctoral, la cual se estructura tanto en bloques como en capítulos para ofrecer una mejor visión general del contenido al lector.

1. Metodología de trabajo

El trabajo de investigación realizado en esta tesis doctoral ha sido desarrollado en varias etapas utilizando un enfoque iterativo e incremental. En la Figura 1 que se encuentra a continuación, se muestra el marco metodológico de la investigación con referencias temporales, así como el desarrollo temporal de la investigación a gran escala.

El punto de partida de esta tesis doctoral se encuentra en el Máster Universitario de Ingeniería Web cursado en la Escuela de Ingeniería Informática de Oviedo, perteneciente a la Universidad de Oviedo. Este máster se divide en dos ramas, una rama profesional y una rama de investigación que da acceso al programa de Doctorado y donde se cursan asignaturas que cimientan los conocimientos necesarios para poder realizar investigaciones como las realizadas en esta tesis doctoral. Además, uno de los requisitos para concluir este máster por la rama de investigación es la realización de un trabajo de investigación y plasmarlo en una publicación que debe ser enviada a una revista perteneciente al índice JCR (Journal Citation Reports). Por tanto, con la realización de esta rama y la realización del Trabajo Fin de Máster (TFM) titulado «BILROST: Interconexión de objetos inteligentes a través de redes sociales» (Meana Llorián, 2016) presentando en junio de 2016. Este trabajo es el punto de partida de esta tesis doctoral, así como sienta las bases claras y sólidas para la investigación realizada.

Sin embargo, el verdadero inicio de las investigaciones realizadas en esta tesis doctoral data de abril de 2015, cuando me incorporo al grupo de investigación de la Universidad de Oviedo «Ingeniería Dirigida por Modelos MDE-RG» bajo el proyecto de investigación perteneciente al Plan Regional de Investigación «Ingeniería Dirigida por Modelos (MDE-RG FC-15-GRUPIN14-084)». Durante año y medio estuve bajo el mismo proyecto durante el cual realicé la mayor parte de las investigaciones de esta tesis doctoral junto al TFM antes mencionado.

A partir del estudio del estado del arte durante la realización del TFM, prototipos construidos y conclusiones obtenidas se da comienzo al desarrollo de esta tesis. En este punto se tiene una línea de investigación marcada iniciada por el TFM y centrada en la socialización de objetos inteligentes de Internet de las Cosas. Por tanto, se ha realizado

Page 34: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 2: El proceso de investigación

16

un profundo estudio del estado del arte para cumplir con los objetivos fijados y que ha servido como base sólida para la realización de las investigaciones aquí presentadas.

Para llevar a cabo esta tesis doctoral se ha optado por una metodología de desarrollo ágil basado en el método científico y ejecutando en paralelo diferentes investigaciones enmarcadas dentro de la línea de investigación de esta tesis doctoral, la socialización de objetos de Internet de las Cosas. Al haber estado en un grupo de investigación se ha podido realizar diversas investigaciones en paralelo. Los resultados obtenidos de cada una de las investigaciones realizadas se han enviado a congresos y revistas, principalmente revistas del índice JCR. La retroalimentación recibida de los procesos de revisión ha servido para mejorar las publicaciones enviadas y las posteriores e incluso abrir nuevos objetivos o plantear nuevo trabajo futuro dentro en la línea de investigación de esta tesis doctoral.

Ejecutar en paralelo diferentes investigaciones en esta tesis doctoral viene motivado al trabajo en el grupo de investigación, ya que esto ha provocado el trabajo en diversos

Figura 1. Metodología utilizada y desarrollo temporal a gran escala de esta tesis doctoral.

Page 35: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Desarrollo temporal de la investigación

17

proyectos con otras personas surgiendo diferentes líneas de investigación dentro de Internet de las Cosas.

En el centro de la Figura 1 se observa las cuatro fases principales de cada proyecto de investigación abordado en esta tesis. Estas cuatro fases son:

1. Investigación: En esta fase se realiza una investigación del trabajo previo, recopilando información de distintas fuentes de publicaciones científicas y se plantean los objetivos y las hipótesis de la investigación.

2. Prototipos: En esta fase se desarrolla el prototipo o los prototipos que pretenden validar las hipótesis planteadas y cumplir con los objetivos.

3. Pruebas: En esta fase se realizan diferentes pruebas usando los prototipos recopilando datos que tras analizarlos permiten validar las hipótesis planteadas.

4. Publicación de resultados: Una vez obtenidos los resultados se redacta una publicación científica en forma de artículo para revista, congreso o capítulo de libro.

Una vez finalizado el contrato del Plan Regional de Investigación inicio un periodo de docencia iniciándose con una sustitución de mes y medio en el segundo curso del Grado de Ingeniería Informática del Software de la Universidad de Oviedo mientras continuaba con las investigaciones de esta tesis doctoral. Más adelante me concedieron la Ayuda Severo Ochoa, y poco más tarde la Beca del Ministerio de Educación para la Formación del Profesorado Universitario (FPU). Disfruté la Ayuda Severo Ochoa durante dos meses hasta que la interrumpí para empezar a trabajar en mi puesto actual, Técnico en Informática del Ayuntamiento de Siero, por el que interrumpí la Ayuda Severo Ochoa, renuncié a la Beca FPU y después renuncié definitivamente a la Ayuda Severo Ochoa. Hasta este momento habían alcanzado ya 9 publicaciones de las cuales son 4 publicaciones en congresos internacionales, 1 capítulo de libro, 2 publicaciones en revistas de bajo impacto y 2 publicaciones en revistas de alto impacto pertenecientes al primer cuartil del índice JCR, además de haber cursado los complementos formativos del Programa de Actividades Transversales de Doctorado requeridas para cumplir los objetivos necesarios para completar el doctorado.

A mediados de 2017 la investigación se vio temporalmente paralizada debido a mi incorporación al mundo laboral ajeno a la Universidad de Oviedo hasta que en 2019 se ha retomado esta tesis doctoral para finalizarla con la elaboración de esta memoria.

2. Desarrollo temporal de la investigación

En este apartado se presentan los hitos y eventos más significativos surgidos en el desarrollo de esta tesis doctoral y que se muestran a gran escala en la Figura 1:

• Septiembre 2014: Inicio mis estudios en el Máster Universitario de Ingeniería Web (MIW) de la Escuela de Ingeniería Informática de Oviedo perteneciente a la Universidad de Oviedo, por la rama de investigación. Esta rama abre las puertas a la realización de un doctorado.

• Enero 2015: La Escuela de Ingeniería Informática de Oviedo me otorga el Premio Fin de Grado en el acto de la festividad de la Escuela. Este día, el director del grupo de investigación Ingeniería Dirigida por Modelos MDE-RG

Page 36: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 2: El proceso de investigación

18

se pone en contacto conmigo ofreciéndome la posibilidad de trabajar en el grupo a la vez que continúo los estudios en el Máster de Ingeniería Web.

• Abril 2015: Me incorporo al grupo de investigación MDE-RG bajo el proyecto de investigación perteneciente al Plan Regional de Investigación «Ingeniería Dirigida por Modelos (MDE-RG FC-15-GRUPIN14-084)».

• Septiembre 2015: Inicio el segundo curso en el MIW. Este curso se caracteriza por separar a los estudiantes según la rama escogida, en mi caso la rama de investigación.

• Junio 2016: Publicación del artículo «IntelliSenses: Sintiendo Internet de las Cosas» (Meana-Llorián, González García, Pelayo G-Bustelo, Cueva Lovelle, & Medina García, 2016) en el congreso internacional Proceedings of the 2016 11th Iberian Conference on Information Systems and Technologies (CISTI).

• Julio 2016: Lectura del Trabajo Final de Máster titulado «BILROST: Interconexión de objetos inteligentes a través de redes sociales» (Meana Llorián, 2016), cuya nota fue de 10, Matrícula de Honor. Este trabajo presenta las bases de un sistema que permite controlar actuadores de un objeto inteligente a través de redes sociales y publicar datos de sensores en un objeto inteligente también en redes sociales.

• Agosto 2016: Finaliza el contrato relativo al proyecto de investigación perteneciente «Ingeniería Dirigida por Modelos (MDE-RG FC-15-GRUPIN14-084)». Publicación del artículo «SenseQ: Creating relationships between objects to answer questions of humans by using Social Networks» (Meana-Llorián, González García, García-Díaz, Pelayo G-Bustelo, & Cueva Lovelle, 2016) en el congreso internacional The 3rd Multidisciplinary International Social Networks Conference on Social Informatics 2016, Data Science 2016 - MISNC, SI, DS 2016.

• Septiembre 2016: Inicio mi Doctorado en Informática de la Universidad de Oviedo. En este continué con las bases asentadas en mi TFM y por tanto centrando la tesis en IoT y Redes Sociales. El título de la tesis es «Socialización de objetos inteligentes aplicando Ingeniería Dirigida por Modelos en el marco de Internet de las Cosas». Inicio mi actividad como docente impartiendo una sustitución de mes y medio en la asignatura Comunicación Persona-Máquina en el Grado de Ingeniería Informática del Software de la Universidad de Oviedo.

• Noviembre 2016: Publicación del artículo «IoFClime: The fuzzy logic and the Internet of Things to control indoor temperature regarding the outdoor ambient conditions» (Meana-Llorián, González García, Pelayo G-Bustelo, Cueva Lovelle, & Garcia-Fernandez, 2017) en la revista Future Generation Computer Systems perteneciente al índice JCR. Completo el primer curso del Programa de Formación Transversal de las dos necesarios para completar el doctorado. El título del curso es «Taller de elaboración y evaluación de un proyecto de investigación en el ámbito de las tecnologías de la información y las comunicaciones digitales».

• Enero 2017: Publicación de dos artículos. El primero de ellos es «Midgar: Detection of people through computer vision in the Internet of Things scenarios to improve the security in Smart Cities, Smart Towns, and Smart Homes» (González García, Meana-Llorián, Pelayo G-Bustelo, Cueva Lovelle, &

Page 37: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Desarrollo temporal de la investigación

19

Garcia-Fernandez, 2017) y se publicó en la revista Future Generation Computer Systems perteneciente al índice JCR. El segundo de ellos es «SenseQ: Replying questions of Social Networks users by using a Wireless Sensor Network based on sensor relationships» (Meana-Llorián, González García, Pelayo G-Bustelo, & García-Fernández, 2017) y se publicó en la revista Data Science and Pattern Recognition (DSPR).

• Febrero 2017: Completo el segundo curso del Programa de Formación Transversal de las dos necesarios para completar el doctorado. El título del curso es «Gestión y tratamiento de datos para la investigación. Introducción al análisis cualitativo (Nivel I)».

• Marzo 2017: Publicación de dos artículos. El primero de ellos es «A review about Smart Objects, Sensors, and Actuators» (González García, Meana Llorián, Pelayo G-Bustelo, & Cueva-Lovelle, 2017) y publicó en la revista International Journal of Interactive Multimedia and Artificial Intelligence - IJIMAI. El segundo de ellos es «Bilrost: Connecting the Internet of Things through human Social Networks with a Domain-Specific Language» (Meana-Llorián, González García, Pascual Espada, Khari, & Semwal, 2017) y se publicó en el congreso internacional The Second International Conference on Research in Intelligent and Computing in Engineering, RICE-17.

• Junio 2017: Me otorgan e inicio la Ayuda Severo Ochoa.

• Julio 2017: Publicación del artículo «Social Recommender System: A Recommender System based on Tweets for points of interest» (González García, Meana-Llorián, García-Díaz, & Núñez-Valdez, 2017) en el congreso internacional The 4th Multidisciplinary International Social Networks Conference - MISNC ‘17. Me otorgan y acepto la Beca de Formación de Profesorado Universitario (FPU) del Ministerio de Educación, aunque nunca la llego a disfruta pues la rechazo antes de su inicio por motivos laborales. Interrumpo la Ayuda Severo Ochoa por unos meses para incorporarme al mundo laboral fuera de la Universidad de Oviedo.

• Agosto 2017: Me incorporo al mundo laboral fuera de la Universidad de Oviedo como Técnico en Informática del Ayuntamiento de Siero quedando la tesis temporalmente paralizada.

• Octubre 2017: Imparto clases como profesor visitante en la asignatura Programación Orientada a Objetos del primer año del Máster Universitario en Ingeniería Web de la Universidad de Oviedo.

• Enero 2018: Renuncio definitivamente a la Ayuda Severo Ochoa para seguir en mi puesto de trabajo actual en el Ayuntamiento de Siero.

• Abril 2018: Imparto clases como profesor visitante en la asignatura Diseño de Software para Dispositivos Móviles del primer año del Máster Universitario en Ingeniería Web de la Universidad de Oviedo.

• Noviembre 2018: Imparto clases como profesor visitante en la asignatura Programación Orientada a Objetos del primer año del Máster Universitario en Ingeniería Web de la Universidad de Oviedo

• Marzo 2019: Publicación del capítulo de libro «IoT Recommender System: A Recommender System Based on Sensors from the Internet of Things for Points of Interest» (González García, Meana-Llorián, García-Díaz, & Núñez-Valdez, 2019) en el libro Handbook of IoT and Big Data.

Page 38: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 2: El proceso de investigación

20

• Abril 2019: Imparto clases como profesor visitante en la asignatura Diseño de Software para Dispositivos Móviles del primer año del Máster Universitario en Ingeniería Web de la Universidad de Oviedo. Finalizadas las clases retomo la tesis doctoral para concluirla con la elaboración de esta memoria de tesis.

3. Organización de la memoria de tesis

Esta memoria de tesis doctoral está estructurada en bloques que agrupan los capítulos que están relacionados. En este apartado se presenta de forma resumida la organización de esta tesis para facilitar su lectura.

• Bloque I – Planteamiento del problema: Este bloque esta formado por dos capítulos introductorios. En el Capítulo 1 titulado «Introducción» se presentan la motivación para realizar esta tesis describiendo el problema a resolver, planteando los objetivos y marcando los objetivos. En el Capítulo 2 titulado «El proceso de investigación» se presenta la metodología general seguida, el desarrollo temporal y este mismo apartado, la organización de esta memoria.

• Bloque II – Marco Teórico: Este bloque contiene los capítulos que abordan el estado del arte y el trabajo relacionado con lo estudiado en esta tesis doctoral. Los contenidos que se abordan en este bloque son los siguientes: Internet de las Cosas (Capítulo 3), Objetos Inteligentes (Capítulo 4), Ingeniería Dirigida por Modelos (Capítulo 5), Redes Sociales (Capítulo 6) y Inteligencia Artificial (Capítulo 7).

• Bloque III – Soluciones propuestas y prototipos: Este bloque contiene las soluciones propuestas y los prototipos construidos para los problemas planteados por esta tesis doctoral dividiendo el bloque en dos capítulos. En el Capítulo 8 titulado «Solución general» se presenta la solución general de esta tesis doctoral que generaliza las soluciones específicas que se presentan en el Capítulo 9 titulado «Soluciones específicas y prototipos». A su vez, el Capítulo 9 está dividido en dos apartados que agrupan las diferentes soluciones específicas y los prototipos desarrollados agrupando en el apartado Capítulo 9.1 las soluciones que abordan la «Socialización de objetos Inteligentes entre sí» y en el Capítulo 9.2 las soluciones que abordan la «Socialización de objetos inteligentes con personas». Estas soluciones han servido, junto a los prototipos correspondientes, para probar los diferentes objetivos y verificar la hipótesis planteada.

• Bloque IV – Conclusiones y trabajo futuro: Este bloque está dividido en cuatro capítulos. En el Capítulo 10 se presentan las conclusiones que se pueden extraer de esta tesis doctoral incluyendo la Verificación de objetivos, las Aportaciones a la comunidad científica y las Publicaciones derivadas de esta tesis doctoral. En el Capítulo 11 se presenta el trabajo futuro que se puede realizar a partir de esta tesis. En el Capítulo 12 se presentan las publicaciones derivadas de esta tesis doctoral y finalmente, en el Capítulo 13 se encuentra la Bibliografía que contiene todas las referencias utilizadas en esta tesis doctoral.

Page 39: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

21

BLOQUE II Marco Teórico

Page 40: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 41: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

23

ÍNDICE DEL BLOQUE

CAPÍTULO 3. INTERNET DE LAS COSAS 25 1. DEFINICIÓN Y ORIGEN 25 2. PLATAFORMAS 27 3. CAMPOS DE APLICACIÓN 31 4. TECNOLOGÍAS RELACIONADAS 37 CAPÍTULO 4. OBJETOS INTELIGENTES 45 1. CONCEPTO DE OBJETO 45 2. OBJETOS NO INTELIGENTES 48 3. OBJETOS INTELIGENTES 49 4. CAMPOS DE APLICACIÓN 52 CAPÍTULO 5. INGENIERÍA DIRIGIDA POR MODELOS 55 1. CONCEPTO DE MODELO 55 2. TERMINOLOGÍA DE MDE 58 3. TRANSFORMACIONES ENTRE MODELOS 62 4. CARACTERÍSTICAS DE UN MODELO DE MDE 62 5. FLUJO DE TRABAJO CON MDE 63 CAPÍTULO 6. REDES SOCIALES 65 1. INTRODUCCIÓN 65 2. CONCEPTO DE RED SOCIAL 68 3. CLASIFICACIÓN 71 4. LOS SEIS GRADOS DE SEPARACIÓN 75 5. REDES SOCIALES EN IOT 76 CAPÍTULO 7. INTELIGENCIA ARTIFICIAL 79 1. INTRODUCCIÓN 80 2. TEST DE TURING 81 3. LAS SEIS REGLAS DE LA IA 82 4. VISIÓN POR COMPUTADOR 83 5. LÓGICA DIFUSA 87 6. PROCESAMIENTO DE LENGUAJE NATURAL 89

Page 42: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 43: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

25

CAPÍTULO 3. INTERNET DE LAS COSAS

En este capítulo se introducirá una de las tecnologías más importante de esta tesis doctoral, Internet de las Cosas. Se hablará de su significado y cómo surgió esta tecnología, se hará un repaso sobre las distintas plataformas de Internet de las Cosas y sobre los diferentes campos de estudio de Internet de las Cosas. Por último, se hará una breve explicación de varias tecnologías relacionadas con Internet de las Cosas, que, aunque no se apliquen en esta tesis doctoral son de gran importancia en el mundo de Internet de las Cosas.

1. Definición y origen

Internet de las Cosas, o the Internet of Things (IoT) puede ser definido como la interacción entre cosas u objetos con el fin de cooperar entre sí y crear aplicaciones o sistemas que siguen un objetivo común (Vermesan & Peter Friess, 2013). En otras palabras, IoT es la interconexión de objetos heterogéneos y ubicuos a través de Internet, y la forma de hacer más inteligentes a los objetos que rodean a las personas. Se trata de una de las tecnologías del futuro y que ya están formando parte del día a día de muchas personas. Según el consejo nacional de inteligencia de Estados Unidos (NIC - National Intelligence Council), IoT es y será una de las seis tecnologías más importantes para los intereses de los Estados Unidos hasta el 2025 (National Intelligence Council, 2008).

El concepto de Internet de las Cosas surgió como una solución a problemas existentes en las cadenas de suministro relacionados con la identificación de objetos, personas y animales. La primera vez que se mencionó el término fue en 1999 cuando fue utilizado por Kevin Ashton en una presentación para Procter & Gamble (P&G) donde trataba temas relacionados con el uso de etiquetas RFID (Radio Frequency IDentification) en las cadenas de suministro (Vermesan & Peter Friess, 2013). Kevin Ashton afirmaba 10 años, más tarde que recurrió a la palabra Internet para llamar la atención de los ejecutivos de P&G, y no era consciente de la importancia que cobraría el termino cuando lo usase la Unión Europea 10 años después (Ashton, 2009).

De lo que hablaba Ashton en su conferencia, era de la dependencia de datos del mundo real que afecta a Internet, datos que primero fueron obtenidos por las personas y luego introducidos en Internet. Cerca de los 50 petabytes de datos disponibles en Internet, son fruto de registros creados por personas de forma manual. Esto es un problema para Internet, las personas disponen de tiempo, atención y precisión de forma limitada, es decir, no son eficientes en la captura de datos del mundo real. Por tanto, es necesaria la existencia de dispositivos capaces de recopilar todos estos datos del mundo real por las personas.

Por otro lado, Asthon hablaba de que el mundo real no se basa en ideas o información. Las personas no son capaces de alimentarse a base de bits, o usar bits como combustible, etc. El mundo real es físico y por tanto está basado en cosas o things, y,

Page 44: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

26

por tanto, como las tecnologías de la información son tan dependientes de los datos originados por personas, necesitan saber más sobre cosas que sobre ideas.

Ashton sugirió el uso de la tecnología RFID, tanto etiquetas como sensores, para que los ordenadores pudieran obtener información de todas aquellas cosas que estuviera etiquetadas. Traduciendo palabras de Ashton «Los sensores y la tecnología RFID permite a los ordenadores observar, identificar y entender el mundo, sin depender de los datos introducidos por las personas.» (Ashton, 2009).

El objetivo principal de IoT es interconectar objetos heterogéneos y ubicuos, y diferentes sistemas entre sí lo que obliga a que estos objetos o sistemas dispongan de acceso a Internet (G. M. Lee & Kim, 2012). Se puede decir que la razón por la que surgió IoT fue para extender el Internet a todas las cosas (Li, Xu, & Zhao, 2014). De todas formas, no solo la conexión entre objetos o sistemas, también conocido como comunicación máquina a máquina (M2M – Machine-To-Machine) y de las que se habla en (Borgia, 2014; Hasan, Hossain, & Niyato, 2013; Lu Tan & Neng Wang, 2010), es importante para Internet de las Cosas , sino que también lo es la conexión entre objetos y personas y entre las propias personas. Estos otros dos tipos de comunicaciones se conocen como comunicación persona-máquina (H2M – Human-To-Machine), de la cual se habla en (International Telecommunication Union, 2012), y como comunicación persona-persona (H2H – Human-To-Human), de la que se habla en (Lu Tan & Neng Wang, 2010), respectivamente. Los tres tipos de comunicaciones juntos permiten compartir información entre el mundo físico y el mundo virtual.

Al hablar del objetivo principal de IoT se han mencionado otros dos términos fuertemente ligados a IoT, objetos heterogéneos y objetos ubicuos. Ambos términos son importantes en el mundo de IoT y deben ser explicados.

Los objetos heterogéneos hacen referencia a los objetos que Internet de las Cosas pretende conectar. Estos objetos son de naturaleza variada y diferentes entre sí y por tanto heterogéneos. Uno de los objetivos de IoT es conectar cualquier objeto a través de Internet logrando así que las personas obtengan mayor productividad, mejoraras en la salud, en la eficiencia, hogares más confortables, etc. (UK Government Chief Scientific Adviser, 2014). Ejemplos de estos objetos heterogéneos son microcontroladores como los Arduino, microcomputadores como la Raspberry Pi, smartphones, sensores, actuadores, coches, y un largo etcétera.

Los objetos ubicuos hacen referencia a las posibilidades ilimitadas donde los dispositivos pueden estar. Los objetos ubicuos pueden estar en cualquier lugar o en movimiento mientras están conectados a Internet. Además, la diversidad de las localizaciones posibles, así como la posibilidad de estar en movimiento, hace que estos objetos puedan sufrir desconexiones en ciertos momentos. Estos objetos ubicuos pueden encontrarse tanto dentro de casas como en máquinas inaccesibles o en movimiento, o incluso en el fondo de los océanos para ayudar en el estudio del cambio climático (Howe et al., 2010).

Además de los objetos heterogéneos y ubicuos, existe otra distinción de objetos que cobra también mucha importancia, los objetos inteligentes o Smart Objects. Estos objetos son objetos físicos con un sistema de inteligencia embebido que les da la capacidad de procesar información, comunicarse con otros dispositivos y realizar acciones en base a una acción o evento determinado. Ejemplos de estos objetos son los

Page 45: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Plataformas

27

smartphones, microcontroladores como Arduino, o cualquier otro tipo de objeto que sea capaz de procesar información y tenga acceso a Internet. En un capítulo posterior se hará una revisión a este término más en profundidad.

Las aplicaciones de Internet de las Cosas suelen seguir una arquitectura básica compuesta de tres capas o niveles en la que cada capa o nivel tiene su propia función. Estas capas son: Capa de percepción, Capa de red y Capa de aplicación (Krco, Pokric, & Carrez, 2014; Miao Yun & Bu Yuxin, 2010; Yashiro, Kobayashi, Koshizuka, & Sakamura, 2013).

• Capa de percepción: La primera capa es la capa de percepción (Perception Layer). Esta capa es la encargada de identificar los objetos y recoger información de ellos. También suele ser llamada Capa de dispositivo (Device Layer) o nivel sensible al contexto (Context-Aware Tier) y es la capa donde se encuentran desplegados los diferentes sensores, cada uno es una fuente de información y en función del tipo de sensor varía el tipo de información y el cometido al que puede ser destinada dicha información.

• Capa de red: La capa de red (Network Layer) también llamada nivel de red (Network Tier) es la capa que se encarga de comunicar las otras dos capas. Su principal función es la transmisión de datos y es donde se integran los medios de transmisión ya sean cableados o inalámbricos y los protocolos de comunicación como Bluetooth, ZigBee o WLAN entre otros.

• Capa de aplicación: La última capa es la capa de aplicación (Application Layer) o nivel de aplicación (Application Tier) y es la capa donde se localizan las aplicaciones finales. Su función es recoger la información de las capas inferiores y mostrarla al usuario a través de servicios o aplicaciones (Mashal et al., 2015). Esta capa a su vez consta de tres subcapas: capa de tecnología, capa de middleware y capa de aplicación. La subcapa de tecnología es la capa encargada de acceder a la información que requiere la aplicación. La subcapa de middleware está situada entre la tecnología y la capa de aplicación. Esta subcapa tiene como objetivo abstraer al desarrollador de las diferentes tecnologías usadas para acceder a los datos. El middleware está ganando importancia debido a su papel de simplificar el desarrollo de nuevos servicios y la integración de viejas tecnologías en ellos. Por último, la subcapa de aplicación se compone de aplicaciones que exportan toda la funcionalidad de los sistemas para el usuario final y explota las funcionalidades de la capa de red.

2. Plataformas

La definición de Internet de las Cosas habla de la interconexión de objetos a través de Internet. Sin embargo, esto no es posible sin sistemas centralizados a los que los objetos se puedan conectar y con los que se puedan comunicar para obtener información, entregar datos obtenidos o para establecer conexión con otros objetos. Para estos fines entre otros, surgen las plataformas de Internet de las Cosas.

Con el auge de IoT, el número de plataformas de IoT ha ido creciendo y actualmente existen muchas plataformas que permiten interconectar objetos y brindan diversas funcionalidades haciendo uso de estos. Las plataformas se pueden clasificar en cuatro

Page 46: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

28

grupos (González García, 2017): plataformas de negocio, plataformas de investigación, plataformas en estado beta y plataformas de código abierto.

A continuación, se detallarán los aspectos comunes que tienen las plataformas que pertenecen a cada grupo y se hablará brevemente de alguna de las plataformas con más trayectoria dentro de cada grupo. El número de plataformas crece diariamente y es posible que alguna plataforma ya no esté disponible tras la realización de esta tesis doctoral, haya cambiado de nombre o haya cambiado de naturaleza. Tampoco se mencionan todas las plataformas actuales puesto que el número crece constantemente, sobre todo las plataformas que se agrupan dentro del grupo de plataformas de negocio puesto que muchas de las empresas tecnológicas del momento están apostando por Internet de las Cosas mediante el desarrollo de sus propias plataformas.

2.1. Plataformas de negocio

De acuerdo a (González García, 2017), un grupo de plataformas de Internet de las Cosas es el grupo de plataformas de negocio cuya orientación es el mundo de negocios y, por tanto, el objetivo de estas plataformas es el de obtener beneficios económicos con ellas. Con la popularidad de IoT han ido en aumento y es el grupo con más plataformas de las aquí mencionados. Ejemplos de plataformas de este tipo son: Xively (LogMeIn, 2019), Altair SmartWorks (Altair Engineering, 2019), Thinking Things (Telefónica, 2018), blauLabs (Softtek, 2019), Electric Imp (Electric Imp, 2019), Exosite (Exosite, 2019), SensorCloud (LORD Sensing, 2019), ThingWorx (Integral PLM Experts, 2018), Azure IoT (Microsoft, 2019), AWS IoT (Amazon, 2019), Watson Internet of Things (IBM, 2019) y otras muchas plataformas que han ido surgiendo estos últimos años.

A continuación, se hablará brevemente de las plataformas más relevantes.

2.1.1. Xively Xively (LogMeIn, 2019) es una plataforma IoT de negocios conocida inicialmente

como Pachube y después como COSM. Entre sus características se encuentran diversos ajustes de privacidad, dispone de una API REST (Representational State Transfer) y facilita la creación de conexiones entre objetos mediante el uso de disparadores diseñados para usuarios sin conocimientos de programación. Sin embargo, estos disparadores están limitados a una única petición POST a una API REST por cada dispositivo, ya que el usuario tiene que indicar una petición HTTP usando el método POST donde se enviará la notificación cuando se active el disparador del objeto.

2.1.2. Altair SmartWorks SmartWorks (Altair Engineering, 2019) es una plataforma IoT de negocios orientada

a proyectos de IoT de tipo Plataforma como Servicio (PaaS) anteriormente conocida como Carrots. Las características que destacaban de Carrots eran la gran compatibilidad de microcontroladores, aunque no soportaba otro tipo de objetos como smartphones, y disponía de una API REST muy completa y documentada que permitía interaccionar completamente con el servicio. Al tratarse de una solución en la nube, el usuario necesita disponía de conocimientos de programación para crear el código fuente que permita a sus microcontroladores conectarse a la plataforma a través de su API REST. Una vez los dispositivos estaban conectados, la interconexión entre objetos se realizaba a través de formularios WEB de la propia plataforma. La actual plataforma se divide en una arquitectura formada por 3 módulos donde la herencia de Carrots se encuentra en

Page 47: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Plataformas

29

uno de ellos denominado SmartCore. Los nuevos módulos añaden funcionalidades de análisis de datos como visualización, análisis y machine learning (SmartSight) y agregación y normalización de datos junto a un servicio de data streaming (SmartEdge).

2.1.3. Thinking Things Thinking Things (Telefónica, 2018) es una plataforma de IoT de negocios propiedad

de Telefónica que ofrece no solo software sino también hardware. Se basa en un sistema modular tipo LEGO donde el usuario puede ir acoplando distintos módulos para aumentar las funcionalidades. A diferencia de otras plataformas, es un conjunto de software y hardware donde el software solo puede ser utilizado con el hardware de la plataforma. Los módulos pueden ser sensores, actuadores, módulo batería y módulo de conectividad GSM permitiendo, por ejemplo, activar un módulo enchufe cuando un módulo con sensor de presencia obtenga una detección positiva.

2.2. Plataformas de investigación

De acuerdo a (González García, 2017), un grupo de plataformas de Internet de las Cosas es el grupo de plataformas usadas para investigar en el campo de Internet de las Cosas. Algunas de estas plataformas en están en estado beta, pero tienen en común que disponen de información sobre ellas publicada en diferentes artículos de investigación y conferencias. Ejemplos de plataformas de este tipo son: Paraimpu (Pintus, Carboni, & Piras, 2012), SIoT (Atzori, Iera, & Morabito, 2011; Atzori, Iera, Morabito, & Nitti, 2012), Midgar (González García, 2017; González García, Pascual Espada, Núñez-Valdez, & García-Díaz, 2014; González García, Pelayo G-Bustelo, Pascual Espada, & Cueva-Fernandez, 2014), SenseWeb (Kansal, Nath, Liu, & Zhao, 2007), Sensorpedia (Gorman, Resseguie, & Tomkins-Tinch, 2009), etc.

A continuación, se hablará brevemente de las plataformas más relevantes.

2.2.1. Paraimpu Paraimpu (Pintus et al., 2012) es una plataforma de IoT de investigación que

actualmente vende diferentes tipos de servicios relacionados con el desarrollo de software relacionado con la plataforma. Esta plataforma fue utilizada en varias investigaciones como (Pintus, Carboni, & Piras, 2011; Pintus et al., 2012; Piras, Carboni, & Pintus, 2012). La plataforma ofrece una API para conectar dispositivos a la plataforma. El flujo de trabajo con Paraimpu comienza mediante el envío de una petición a la API donde se indica el servicio que enviará datos a la plataforma y el servicio que los recibirá. Tras esto, se debe implementar la lógica necesaria para en ambos dispositivos, tanto el que recopila los datos y se conecta a la API para transmitirlos, como el que los recibe los datos desde la plataforma mediante la API y los procesa para realizar las acciones deseadas.

2.2.2. Social IoT Social IoT o SIoT (Atzori et al., 2011, 2012) es una plataforma de IoT de investigación

que se enmarca en los que se conoce como IoT social. Fue construida sobre el núcleo de ThingSpeak y utilizada anteriormente en diferentes propuestas de investigación como (Atzori et al., 2011, 2012; Girau, Nitti, & Atzori, 2013). Ofrece una API REST con soporte para los formatos CSV, JSON y XML como formatos de intercambio de datos. El objetivo

Page 48: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

30

principal de SIoT es la creación de listas de amigos que posean objetos con los que establecer relaciones.

2.2.3. Midgar Midgar (González García, 2017; González García, Meana-Llorián, Pelayo G-Bustelo, et

al., 2017; González García, Pascual Espada, et al., 2014; González García, Pelayo G-Bustelo, et al., 2014; Sánchez-Arias, González García, & Pelayo G-Bustelo, 2017) es una plataforma de IoT de investigación que hace uso de un Lenguaje de Dominio Específico llamado Midgar Object Interconnection Specific Language (MOISL), para generar aplicaciones que interconecten objetos ubicuos y heterogéneos a través de Internet. A través de su lenguaje de dominio específico gráfico, los usuarios pueden definir el flujo de las aplicaciones conectando objetos, leyendo datos de sus servicios y/o invocando acciones en los objetos conectados.

2.3. Plataformas en estado beta

De acuerdo a (González García, 2017), un grupo de plataformas de Internet de las Cosas es el grupo de plataformas en estado beta. Lo que diferencia a este grupo de plataformas de otros grupos es que, para poder usar estas plataformas, es necesario disponer de una invitación, ya que según sus propios desarrolladores indican, se encuentran en estado beta o solo permiten el visionado de la plataforma y no su uso. Aunque también hay plataformas en estado beta en el grupo de plataformas de investigación, solo aquellas plataformas con publicaciones de carácter científico sobre ellas pertenecen a ese grupo. El grupo de plataformas en estado beta es un grupo muy cambiante puesto que en cualquier momento una plataforma puede salir de este estado ya sea por que se descontinua su desarrollo o porque pasa a formar parte de alguno de los otros grupos.

2.4. Plataformas de código abierto

De acuerdo a (González García, 2017), un grupo de plataformas de Internet de las Cosas es el grupo de plataformas en código abierto. Este grupo de plataformas de IoT abarca aquellas plataformas que permiten sus usuarios crear una red IoT en sus propios servidores, además de permitir el acceso a su código fuente para adaptarlo a las necesidades de cada uno. Ejemplos de plataformas de este tipo son: ThingSpeak (MathWorks, 2019), Kaa (KaaIoT Technologies, 2019), ThingsBoard (ThingsBoard, 2019), Thinger.io (Thinger.io, 2019) y otras muchas plataformas que han ido surgiendo estos últimos años.

2.4.1. ThingSpeak ThingSpeak (MathWorks, 2019) es una plataforma de código abierto que provee a

sus usuarios de una API que les permite almacenar y recuperar datos de diferentes objetos. Una vez se han subido los datos a la plataforma, es posible su visualización a través de gráficas y la descarga de los datos en diferentes formatos como JSON, XML y CSV. Para tratar con estos datos es necesario solicitarlos en todo momento y procesarlos por lo que es necesario que el usuario tenga conocimientos de programación para integrar su dispositivo con la plataforma.

Page 49: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Campos de aplicación

31

2.4.2. Kaa Kaa (KaaIoT Technologies, 2019) es otra plataforma de código abierto que permite a

sus usuarios conectar sus aplicaciones con otros objetos a través de la plataforma Kaa. También se integra con sistemas de gestión y análisis de datos. Aun así, al igual que con otras plataformas ya revisadas anteriormente, el usuario debe ser capaz de desarrollar el software que se conecta a la plataforma y hace uso de los objetos. Es decir, requiere de lenguajes de programación de sus usuarios.

3. Campos de aplicación

La llegada de Internet de las Cosas y su aplicación en diferentes campos ha abierto la puerta a nuevas tecnologías en diversos ámbitos de la vida de las personas, desde tecnologías de IoT aplicada en sus propias casas, conocido como Smart Homes; hasta en la industria, conocido como Industrial Internet of Things (IIoT o Industria 4.0); pasando por IoT aplicado a los pueblos o municipios, conocido como Smart Towns; a las ciudades, conocido como Smart Cities; e incluso al mismo medio ambiente, conocido como Smart Earth. El objetivo principal es lograr un mundo inteligente, que se pudiera llamar Smart World, a partir de la mejora de la habitabilidad de las ciudades, la automatización de los hogares, la mejora de los procesos industriales, el mantenimiento de la identidad cultura de los pueblos, y el establecimiento de una comunicación entre las edificaciones humanas y la naturaleza.

En la literatura actual existen muchos ejemplos de aplicación de Internet de las Cosas a diferentes ámbitos para lograr fines similares como la mejora de la vida de las personas, aunque aplicadas tecnologías de formas distintas. Cada autor usa su propio nombre para referirse a estos campos de aplicación, pero coinciden en el uso y/o finalidad, lograr un mundo más inteligente, fácil y habitable.

En este apartado se hablará de los campos de aplicación de IoT ya introducidos en párrafos anteriores. Pero antes de esto, será necesario definir el término habitabilidad ya que en todos los campos de aplicación se busca una mejora de la habitabilidad. Por tanto, a continuación, se definirá habitabilidad y se hablará de los diferentes campos de aplicación de IoT.

3.1. Habitabilidad

Según Real Academia Española, la definición de habitabilidad es «Cualidad de habitable, y en particular la que, con arreglo a determinadas normas legales, tiene un local o una vivienda.» (Real Academia Española, 2019). Esta definición hace referencia a la definición de habitable, «Que puede habitarse.» (Real Academia Española, 2019); y esta a su vez, hace referencia a la definición de habitar «Vivir, morar.» (Real Academia Española, 2019). De estas tres definiciones se puede concluir que hablar de habitabilidad es hablar de manera de vivir y por tanto la mejora de la habitabilidad es la mejora de la forma de vivir de las personas.

Existen seis principios de habitabilidad que se pueden aplicar al campo del transporte público (T. Allen & Kack, 2017) que se pueden extrapolar a otros ámbitos de aplicación aunque no todos los principios son aplicables a todos los ámbitos de IoT si son una forma de identificar principios que seguir para lograr una mejora de la habitabilidad.

Page 50: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

32

El primero de los principios según (T. Allen & Kack, 2017) refiriéndose al transporte público estadounidense, es el ofrecer mas opciones de transporte con el fin de reducir los costes del transporte actual, reducir la dependencia de petróleo, mejorar la calidad del aire, reducir la emisión de gases de efecto invernadero y por tanto promover la salud pública. Por tanto, el primer principio es posible extrapolarlo a la búsqueda de opciones para mejorar la salud de las personas reduciendo la contaminación.

El segundo de los principios según (T. Allen & Kack, 2017) es el promover viviendas equitativas y asequibles con el fin de ampliar las opciones de vivienda con eficiencia energética para personas de todas las edades, razas, etnias e ingresos logrando así incrementar la movilidad y reducir el coste combinado de vivienda y transporte. Este segundo principio es posible extrapolarlo a la promoción de viviendas eficientes más respetuosas con el medio ambiente.

El tercero de los principios según (T. Allen & Kack, 2017) es mejorar la competitividad económica mediante el acceso a centros de empleo, mayores oportunidades educativas, y satisfacer necesidades básicas de los trabajadores. Este tercer principio es más complicado de extrapolar, pero se podría interpretar como la promoción de nuevos empleos y mejora de los ya existentes mediante nuevas tecnologías que los hagan mas sencillos y confortables.

El cuarto de los principios según (T. Allen & Kack, 2017) es apoyar a las comunidades existentes, prestando atención a un desarrollo orientado al tráfico, uso de la tierra con conciencia, mejora de las inversiones en obras públicas y proteger los paisajes rurales. Este cuarto principio se puede extrapolar como a la toma de conciencia de la importancia del medio rural y a un crecimiento optimo y sostenible de la población.

El quinto de los principios según (T. Allen & Kack, 2017) es la coordinación de políticas y aprovechamiento de las inversiones de manera que las políticas sean capaces de coordinarse para aprovechar las inversiones y planificar un futuro creciente donde se haga uso de una energía inteligente como la energía renovable localmente generada. Este quinto principio se puede extrapolar como la apuesta por invertir de manera inteligente en energías renovables.

El sexto y ultimo de los principios de habitabilidad según (T. Allen & Kack, 2017) es la toma en consideración de todas las comunidades y barrios para mejorar las características únicas de cada uno de estos, invirtiendo en vecindarios saludables, seguros y transitables, tanto rurales como urbanos. Este sexto y ultimo principio se puede extrapolar como la búsqueda de mejoras en los vecindarios para obtener barrios seguros, con hábitos de vida saludables, y donde los ciudadanos puedan pasar su tiempo.

Estos seis principios no hablan de Internet de las Cosas, pero presentan campos donde su aplicación es importante. A partir de estos principios es fácil llegar a la necesidad de crear hogares inteligentes o Smart Homes donde se automaticen los hogares para mejorar la eficiencia energética, pueblos inteligentes o Smart Towns donde se preserve el medio rural y su patrimonio, ciudades inteligentes o Smart Cities donde se reduzca la contaminación, se usen energías renovables y se invite a sus ciudadanos a seguir vidas saludables, IoT aplicado a la industria o IIoT donde se puedan crear más empleos y hacer mas sencillos los actuales y un cuidado inteligente del medio ambiente o Smart Earth donde se apliquen tecnologías de IoT para cuidar el entorno.

Page 51: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Campos de aplicación

33

En definitiva, todos estos principios sirven para lograr un mundo más inteligente y mas confortable para todos, un mundo al que se le pueda llamar Smart World.

3.2. Smart Homes

Las casas inteligentes o Smart Homes (Hribernik, Ghrairi, Hans, & Thoben, 2011), también conocidas como hogares inteligentes o Intelligent Homes son uno de los campos de aplicación de Internet de las Cosas más cercanos a los ciudadanos. El objetivo principal de las casas inteligentes es la mejora de la habitabilidad de los hogares encajando en varios de los principios antes presentados, aportando para ello, diferentes sistemas de automatismo y de monitorización de manera que sea posible controlar la mayor cantidad de aspectos del hogar de forma remota desde cualquier dispositivo como smartphones. Así, sus habitantes pueden automatizar elementos según diferentes datos obtenidos de la monitorización o según sus intereses, logrando de esta manera que se pueda alcanzar un ahorro eléctrico y, por tanto, económico. El propósito de las Smart Homes se puede resumir como el proveer servicios a sus habitantes (Ding, Cooper, Pasquina, & Fici-Pasquina, 2011).

Suelen estar basadas en redes de sensores y actuadores (WSAN) para interconectar los diferentes tipos de objetos de un hogar o dispositivos llegando a poder controlar las puertas y las ventanas a través de smartphones o etiquetas inteligentes como RFID (Radio Frequency IDentification) o NFC (Near Field Communication), a automatizar el sistema de luces, a ahorrar en calefacción mediante el uso de diferentes sensores y sistemas inteligentes, a automatizar el control de riego, entre muchas otras posibilidades.

3.3. Smart Towns

Otro campo de aplicación de IoT son los pueblos inteligentes o Smart Towns. Aunque se pueda pensar que el concepto de Smart Towns es parecido al de Smart City, no es así, son conceptos diferentes.

El concepto de Smart Town puede ser definido como pequeñas ciudades o pueblos con un gran valor cultural y patrimonial, que necesitan que ese valor sea protegido, preservado y revitalizado. Sin embargo, tampoco hay que olvidarse de que también necesitan mejorar su habitabilidad y sostenibilidad. Para lograr todos estos objetivos se aplican tecnologías de Internet de las Cosas (Song, 2013).

Una de las diferencias entre Smart Cities y una Smart Towns es el tamaño siendo estas últimas más pequeñas en densidad de población. Las Smart Towns son lo que se suele considerar poblaciones rurales. Según los datos presentados por la División de Población del Departamento de Asuntos Económicos y Sociales de las Naciones Unidas en la revisión de 2018 de las perspectivas de la urbanización mundial anual (United Nations, 2018), el 55% de la población mundial vive en zonas urbanos dejando un 45% a las zonas rurales. Si se comparan con los datos más antiguos registrados por las Naciones Unidas correspondientes al año 1950, las zonas rurales han pasado de contar con el 70% de la población al actual 45% y se espera que, en el año 2050, solo el 32% de la población viva en áreas rurales. Estos datos ejemplifican la importancia de preservar los valores culturales y el patrimonio de estas zonas rurales.

Page 52: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

34

Una Smart Town busca proteger y expandir su valor cultural y su patrimonio para evitar que caigan en el olvido sus construcciones, sus monumentos, sus paisajes, su folclore, sus tradiciones y un largo etcétera de valores de su pasado (Jara et al., 2015). Todos estos aspectos son los que componen la identidad de cada pueblo y por tanto es necesaria su preservación. Para lograrlo, las Smart Towns son capaces de compartir sus paisajes, registrar su tradición y folclore, y la forma de preparar sus platos típicos, monitorizar las condiciones de un determinado lugar que necesita de condiciones especiales como una biblioteca o un museo, o proteger sus monumentos y edificios (Jara et al., 2015). La aplicación de tecnologías de IoT puede ayudar a lograr estos objetivos (Song, 2013).

3.4. Smart Cities

Una Smart City o ciudad inteligente, es una ciudad que busca facilitar la vida diaria y mejorar de la habitabilidad (S. Mitchell, Villa, Stewart-Weeks, & Lange, 2013) de las personas mediante la automatización de tareas repetitivas y la creación de nuevos servicios para los ciudadanos (Clarke, 2013). Para ello cuenta con diferentes tipos de sensores distribuidos a lo largo de la ciudad con los que pueden recopilar datos y que posteriormente son usados por estos nuevos servicios. Estos sensores se interconectan gracias al uso de redes de comunicaciones ubicuas, redes de sensores (WSN – Wireless Sensors Network), redes de sensores y actuadores (WSAN – Wireless Sensors Actuators Network) y sistemas inteligentes.

La meta de las Smart Cities es hacer un mejor uso de los recursos públicos e incrementar los servicios ofrecidos a sus ciudadanos reduciendo a su vez el gasto público. Ejemplo de servicios son la automatización y optimización del alumbrado público, optimización de la red de transporte, monitorización de diferentes aspectos de las áreas públicas para mejorar la seguridad, el mantenimiento, la salud de las estructuras, la gestión de la basura, la calidad del aire, el ruido producido, el tráfico, etc. (Hao, Lei, Yan, & ChunLi, 2012; Zanella, Bui, Castellani, Vangelista, & Zorzi, 2014).

Actualmente, no hay una clasificación formal de las Smart Cities y por ello, diferentes autores usan diferentes criterios para clasificarlas. A continuación, se hablará de varias clasificaciones basadas en diferentes criterios.

Una de las clasificaciones disponibles en la literatura actual, considera seis puntos diferentes para clasificar una Smart City, a saber, Smart Economy, Smart People, Smart Goverment, Smart Mobility y Smart Living (Ben Letaifa, 2015). Cada uno de estos puntos se divide a su vez en cuatro o seis subpuntos que forman la nota final de una ciudad para ese punto. Entre las características de una ciudad que se tienen en cuenta están el espíritu innovador, el espíritu emprendedor, la productividad, la cualificación de los ciudadanos, la creatividad, el sistema de transporte, la polución, las condiciones de salud, las facilidades educativas, etc. Esta primera clasificación tiene en cuenta muchas y muy variadas cualidades que una ciudad puede tener.

Otra de las clasificaciones disponibles en la literatura actual, considera 250 indicadores que se pueden medir y comprar para obtener la clasificación de ciudades inteligentes (Caragliu, Del Bo, & Nijkamp, 2011). Esos indicadores son relativos a temas como la demografía, aspectos sociales y económicos, educación, cultura, etc.

Page 53: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Campos de aplicación

35

En varias ciudades de Europa se han realizado varios proyectos de Smart City debido al hecho de que la Unión Europea se esfuerza constantemente en mejorar el crecimiento del área inteligente de las áreas metropolitanas (Caragliu et al., 2011). Entre los proyectos acometidos dentro de la Unión Europea, se encuentra el proyecto denominado SmartSantander (Sanchez et al., 2014). En este proyecto se propone una arquitectura para aplicar Internet de las Cosas en las ciudades inteligentes y expone los diferentes servicios ofertados. Otro ejemplo de Smart City es la ciudad Padua de Italia (Cenedese, Zanella, Vangelista, & Zorzi, 2014; Zanella et al., 2014). La Universidad de Padua está experimentando con una red de sensores inalámbrica con mas de 300 nodos (Casari et al., 2009). Con este proyecto, han apoyado la adopción de soluciones de Open Data and Information and Communications Technology (ICT) en la administración pública. Mediante este proyecto han obtenido diversos datos como datos medioambientales, han supervisado el nivel de ruido y obtenidos datos de las luces de la calle.

3.5. Smart Earth

Smart Earth o Tierra inteligente hace referencia a la acción de monitorizar la Tierra por medio de sensores heterogéneos y ubicuos distribuidos en cualquier tipo de entorno con el fin de obtener mediciones de las cualidades físicas del propio entorno, y de esta manera, conectar el entorno con el mundo digital. Esta conexión se realizaría a través de la conexión de distintos objetos como puentes, presas, túneles, edificios, carreteras o cualquier otra cosa que se quiera monitorizar y que se encuentra en el entorno (Hao et al., 2012). Por tanto, el concepto de Smart Earth consiste en obtener datos de la Tierra para cuidarla y monitorizarla en busca de indicios de posibles desastres futuros.

En el párrafo anterior, se hace referencia al mundo digital y la búsqueda por conectar el entorno con este mundo. Al Gore ya definió el concepto de Tierra digital o Digital Earth en 1998 siendo entonces vicepresidente de Estados Unidos. Según (Gore, 1998), se define Digital Earth como una nueva era de innovación tecnológica para capturar, almacenar, procesar y mostrar información sobre el planeta. Al Gore indicaba que las tecnologías necesarias para lograr este objetivo son: la ciencia computacional para procesar los datos obtenidos, las imágenes por satélite para obtener fotografías de buena calidad, las redes de banda ancha para conectar objetos con servidores usando redes de alta velocidad, Internet para interconectar diferentes objetos, y los metadatos para obtener aún más información. Por tanto, se puede decir que Digital Earth fue el origen de lo que hoy se conoce como Smart Earth y que fusiona Internet de las Cosas y Digital Earth (S. Wang, 2011).

Existen diversas investigaciones en este campo entre las que se pueden destacar sistemas de monitorización del cambio climático y de oceanografía operacional para obtener datos en tiempo real mediante sensores heterogéneos (Howe et al., 2010). En esta investigación, los autores han desarrollado un sensor inteligente capaz de mantenerse sumergido para observar el océano. En otra investigación (S. Wang, 2011), hablan sobre como lograr una Tierra más inteligente aplicando Minería de datos a datos compuesta por la localización y los datos de los objetos identificados como carreteras, países, u océanos entre otros.

Otro ejemplo de uso de Smart Earth es el uso de sensores, pero el monitoreo ambiental. Por ejemplo, el uso de sensores en el desastre del Deepwater Horizon en

Page 54: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

36

2010 en el Golfo de México podría haber ayudado a controlar el vertido de petróleo, a analizar el grado de salinidad del agua y a comprobar el estado de la propia plataforma petrolífera para evitar problemas mayores (Bröring, Maué, Malewski, & Janowicz, 2012).

Smart Earth, busca por un lado datos para prevenir posibles accidentes y/o ayudar cuando curran, y, por otro lado, trata de mejorar la relación de las personas con el planeta Tierra mediante la identificación de problemas derivados de actos humanos y poder así obtener soluciones a estos problemas y a cuidar de manera correcta el planeta.

3.6. Industria 4.0

Industria 4.0 o Internet de las Cosas Industrial (IIoT – Industrial Internet of Things) es la combinación de Internet de las Cosas con la industria de acuerdo con el reporte del Grupo de trabajo de Industria 4.0 del Ministerio Federal de Educación e Investigación Alemán (Working Group Industrie 4.0, 2013). El termino Industria 4.0 se usa para referirse a la siguiente revolución industrial (Hermann, Pentek, & Otto, 2016).

El número de aplicaciones de IoT dedicadas a la industria ha ido en aumento en los últimos años (Xu, He, & Li, 2014), aunque no es algo novedoso en el mundo de Internet de las Cosas ya que el propio origen de IoT se remonta a la industria. Como se comenta al principio de este capítulo, IoT surge en 1999 durante una presentación de Kevin Ashton donde menciona el termino con el fin de solventar problemas en las cadenas de suministro (Ashton, 2009). Es espera que el auge de Industria 4.0 siga en aumento ya que el uso de IoT ofrece nuevas soluciones para transformar los sistemas de transporte y manufacturación (Xu et al., 2014) ahorrando costes, mejorando la eficiencia y reduciendo el tiempo de los procesos.

El interés sobre el Internet de las Cosas se refleja en el crecimiento en diferentes tipos de industrias como la agricultura, la alimenticia, la farmacéutica y la minera, entre otras muchas. La tecnología de IoT que más presencia tiene en el mundo industrial es RFID ya que permite mejorar la eficiencia de las cadenas de suministro (E.W.T. Ngai, Karen K. L. Moon, Fredrick J. Riggins, & Candace Y. Yi, 2008)] mediante la sustitución de los tradicionales códigos de barras que requerían ser escaneados manualmente por sensores que sean capaces de leer etiquetas de identificación RFID automáticamente y así obtener información en tiempo real de todo el proceso industrial con un coste similar (Sun, 2012). Aunque, no solo es posible monitorizar un proceso industrial con RFID dentro de un recinto controlado con sensores, sino que también es posible durante el transporte localizando el propio transporte y monitorizándolo (Xu et al., 2014). Por ejemplo, se puede predecir la ruta de un objeto que está siendo transportado y el tráfico que tendrá el transporte durante la ruta con el fin de optimizar esa ruta. Como se puede observar, IoT empieza a tener un papel fundamental en la industria logística.

Según (Hermann et al., 2016) IIoT tiene cuatro componentes claves: Cyber-Physical Systems, Internet of things, Internet of Services y Smart Factory.

Un componente importante de la Industria 4.0 es la fusión del mundo físico y el mundo virtual la cual puede ser posible gracias a los sistemas ciber-físicos o Cyber-Phusical Systems (CPS). Los CPS son integraciones de procesos computaciones y físicos, es decir, a través de computadores y redes es posible monitorizar y controlar procesos físicos.

Page 55: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Tecnologías relacionadas

37

El segundo componente de IIoT es Internet de las Cosas o Internet of Things, puesto que permite a los objetos interaccionar entre sí y cooperar para alcanzar metas comunes. En este contexto, los CPS se pueden entender como objetos de Internet de las Cosas, por tanto, IoT puede ser definido dentro del contexto de IIoT como una red en la que los CPS cooperan entre sí a través de un sistema de direccionamiento único (usando tecnologías de identificación como etiquetas RFID).

El tercer componente de IIoT es Internet de servicios o Internet of Services (IoS), ya que permiten a los vendedores de servicios ofrecer sus servicios a través de Internet. IoS está formado por participantes, una infraestructura de servicios, modelos de negocio y los propios servicios. Estos servicios se ofrecen a través de Internet es incluso se combinan para formar otros servicios con valor añadido que pueden ofrecer varios proveedores y se puede acceder a ellos a través de varios canales. Es la integración de IoT y IoS en el proceso de fabricación lo que ha iniciado la cuarta revolución industrial (Hermann et al., 2016).

El cuarto y ultimo componente clave según (Hermann et al., 2016) es la fabrica inteligente o Smart Factory. Estas fábricas se definen como fabricas sensible al contexto que ayudan a las personas y a las máquinas en la ejecución de sus tareas. El ser sensibles al contexto significa que tienen en cuenta información obtenida del contexto como la posición y el estado de un objeto. De esta manera, los sistemas realizan sus tareas basándose en información que proviene tanto del mundo físico como del mundo virtual. Esto es posible con sistemas trabajando en segundo plano, haciendo referencia al hardware de la Smart Factory, capaces de comunicarse e interaccionar con el entorno. Basándose en la definición dada para CPS e IoT, Smart Factory puede ser definido como una fábrica donde los CPS se comunican a través de IoT y ayudan a las personas y a las máquinas en la ejecución de sus tareas.

Una vez identificados los cuatro componentes clave, es posible enumerar los seis principios de diseño de Industria 4.0 según (Hermann et al., 2016). Estos son la interoperabilidad, los CPS, las compañías y las personas tienen que poder comunicarse a través de IoT y IoS; la virtualización, los CPS deben ser capaces de monitorizar procesos físicos de manera virtual; la descentralización, los CPS deben ser capaces de tomar decisiones por cuenta propia; la capacidad de funcionar en tiempo real, los datos obtenidos deben ser recogidos y procesados en tiempo real; la orientación a servicios, los servicios de las compañías, CPS y personas deben estar disponible a través de IoS para ser utilizados por otros participantes; y la modularidad; los sistemas deben ser capaces de adaptarse a cambios en los requisitos mediante el reemplazo o ampliación de módulos individuales.

4. Tecnologías relacionadas

Internet of Things también abarca un conjunto de tecnologías cuyo objetivo es lograr la interconexión e interoperabilidad de objetos heterogéneos y ubicuos a través de Internet. Las tecnologías que abarca IoT van desde las más clásicas como TCP/IP hasta protocolos construidos para su uso en Internet de las Cosas como Message Queue Telemetry Transport (MQTT). Ocurre algo parecido con el hardware pues dentro del mundo de IoT se encuentra desde el más común computador o smarpthone hasta

Page 56: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

38

procesadores diseñados especialmente para funcionar en entornos complicados pasando por tecnologías de etiquetado de «cosas» como RFID o NFC. Además, en los últimos años ha crecido la disponibilidad de hardware especifico para Internet de las Cosas gracias al abaratamiento de sensores y a la mejora de las redes inalámbricas.

En este apartado, se hará una revisión a diversas tecnologías relacionadas con IoT como RFID, NFC, ZigBee, WSN, MQTT.

4.1. Smart tags: RFID y NFC

Una de las tecnologías relacionadas con IoT son las etiquetas inteligentes basadas en RFID o en NFC, (Smart Tags en inglés). Estas etiquetas se basan en comunicaciones inalámbricas por radio frecuencia y tienen un papel muy importante dentro de Internet de las Cosas, la identificación de objetos, logrando así que los objetos puedan existir, no solo en el mundo real sino también en el mundo digital.

Ambos tipos de etiquetas necesitan un lector para recuperar la información de identificación que en ellas se almacena. En este sentido, las etiquetas NFC tienen una pequeña ventaja respecto a las etiquetas RFID puesto la mayoría de los smartphones de gama media-alta del mercado disponen de un lector de NFC, ya que es esta tecnología en la que se basan los pagos móviles. Esta no es la única diferencia entre RFID y NFC puesto que aunque sean tecnologías similares ya que ambas permiten comunicaciones sin contacto, la lectura de etiquetas NFC, como explica (Madlmayr, Langer, Kantner, & Scharinger, 2008), requiere que el lector esté «casi» en contacto con la etiqueta puesto la distancia necesaria para ser leída la etiqueta es de centímetros. Sin embargo, esto también posibilita la creación de aplicaciones de distinta índole donde es necesaria una mayor seguridad en las comunicaciones como los pagos móviles, mientras que el uso de RFID suele ser solo la identificación de objetos, personas, animales, etc.

En los siguientes subapartados se hablará un poco más sobre RFID y NFC.

4.1.1. Radio Frequency Identification (RFID) Radio Frequency Identification (RFID) es una de las tecnologías claves de Internet de

las Cosas. IoT surgió como solución a un problema en las cadenas de suministro a través del uso de etiquetas (tags) RFID (Ashton, 2009), por tanto, RFID es una de las tecnologías que originó el nacimiento de Internet de las Cosas. Esta tecnología permite una lectura rápida, automática y sin contacto, de datos de identificación almacenados en etiquetas RFID (Jia, Feng, Fan, & Lei, 2012) mediante un lector especializado haciendo uso de radio frecuencias, es decir, por medio de una comunicación inalámbrica (Finkelzeller, 2003).

A través de lectores RFID, las personas pueden identificar, rastrear y monitorizar cualquier objeto que esté etiquetado con una etiqueta RFID de manera automática (Jia et al., 2012). Estas etiquetas contienen transpondedores (dispositivos receptores y transmisores de señales) que emiten mensajes legibles por los lectores RFID.

La tecnología RFID tiene múltiples usos, pero uno de los más extendidos es el seguimiento de objetos etiquetados. Mediante el uso de la tecnología RFID es posible unir el mundo real con mundo digital al transferir datos de uno a otro. Los datos de identificación que se transmiten pueden ir acompañados de datos adicionales como la hora, la ubicación u otros datos provenientes de otros sensores que logren la trazabilidad del objeto etiquetado (Weinstein, 2005).

Page 57: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Tecnologías relacionadas

39

El uso de RFID no solo aporta trazabilidad, sino que, además, se obtienen entre otras ventajas las siguientes (Jia et al., 2012): se logra una mayor automatización puesto que no es necesaria una lectura manual ni una visión directa con las etiquetas al usar radio frecuencia, esto deriva en un ahorro de tiempo de lectura ya que la radio frecuencia y la no necesidad de visión directa permite la lectura simultánea de varias etiquetas, y se logra asegurar la integridad de la información puesto que esta está almacenada en la etiqueta y no le afectan causas externas como daños superficiales.

Por tanto, un sistema de RFID está formado por al menos tres actores principales: las etiquetas (tags) que contienen la información, los lectores que leen esa información y el software encargado de integrar los datos con las aplicaciones finales.

Las etiquetas RFID suelen ser tarjetas dotadas de un microchip que almacena los datos y un circuito impreso que hace el papel de antena emisora de señales de radio frecuencia. Pueden adherirse a cualquier objeto y soportan duras condiciones (humedad, polvo, suciedad, etc.). En función de su fuente de energía pueden ser de dos tipos, etiquetas activas o pasivas. Las activas tienen su propia fuente de energía mientras que las pasivas recogen la energía del campo electromagnético creado por el lector (Sun, 2012). Por tanto, las etiquetas activas son capaces de transmitir señales más fuertes que pueden ser leídas desde distancias mayores (hasta 100 metros) en comparación con las etiquetas pasivas que requieren estar cerca del lector. Al contar con su propia fuente de energía, las etiquetas activas también tienen mayores dimensiones y son más costosas que las etiquetas pasivas.

Los lectores RFID son los dispositivos que se comunican con las etiquetas RFID a través radio frecuencia. Estos crean un campo de radiofrecuencia que detecta las ondas emitidas por un transpondedor o dispositivo transmisor de señales y enviar datos a este. En este campo, ese transpondedor sería una etiqueta RFID que al entrar en el campo de radiofrecuencia generado por el lector emite la información almacenada.

El software se encarga de recoger, filtrar y tratar los datos obtenidos de las etiquetas a través de los lectores. Este software suele trabajar en tiempo real y transmite la información ya procesada a otros sistemas de información existentes.

4.1.2. Near Field Communication (NFC) La tecnología de campo cercano o Near Field Communication (NFC) fue desarrollada

por Philips y Sony en 2002, y al igual que la tecnología RFID, la comunicación entre dos dispositivos compatibles se realiza por medio de radio frecuencias, concretamente opera en la frecuencia 13.56 MHz (Coskun, Ozdenizci, & Ok, 2015). Esta tecnología se basa en inducción lo que obliga a que ambos dispositivos estén muy cerca, «casi en contacto», a menos de 20 cm el uno del otro (Chavira, Nava, Hervas, Bravo, & Sanchez, 2007).

Cada actor de la comunicación tiene un nombre específico: el dispositivo que inicia la comunicación recibe el nombre de iniciador o iniciator y se encarga tanto de iniciar la comunicación como de controlarla, mientras que el dispositivo situado en el otro extremo de la comunicación recibe el nombre de objetivo o target y es el que responde al iniciador (Piras et al., 2012).

También es posible clasificar a los dispositivos NFC según su fuente de energía al igual que se clasifican los dispositivos RFID. Si la fuente de energía está en el propio dispositivo

Page 58: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

40

se denominan dispositivos activos mientras que si toman la energía de otro dispositivo se denominan dispositivos pasivos. Normalmente, el iniciador es un dispositivo activo y el objetivo depende de su modo de funcionamiento pudiendo ser tanto un dispositivo activo como pasivo.

Hay tres modos de funcionamiento distintos en la tecnología FNC: modo lectura/escritura (reader/writer), modo de igual-a-igual (peer-to-peer), y modo emulación de tarjeta (card emulation) (Coskun, Ok, & Ozdenizci, 2012). Para explicar mejor los tres modos de funcionamiento se puede pensar en tres ejemplos partiendo de tres actores distintos: una etiqueta NFC, un smartphone con capacidades NFC y un lector NFC. En ejemplo para el primer modo de funcionamiento, modo reader/writer, el smartphone actúa como el dispositivo activo y la etiqueta NFC como el dispositivo pasivo. En el segundo ejemplo, modo peer-to-peer, hay dos smartphones en el que uno actúa como el dispositivo activo y el otro como el dispositivo pasivo. Por último, el ejemplo del modo de emulación de tarjeta (card emulation), el smartphone actúa como dispositivo pasivo y el lector de NFC como dispositivo activo (Coskun et al., 2015).

4.2. Bluetooth

Bluetooth es una tecnología de intercambio de información de manera inalámbrica a través de radiofrecuencias, concretamente opera en la banda ISM de los 2.4 GHz, en una distancia corta y que reemplaza a los cables de muchos periféricos de distintos dispositivos como smartphones o PCs. Fue creada por Ericcson Mobile Communications en 1994.

El nombre procede el rey danés y noruego Harald Blåtand, pero durante la traducción al inglés se cambio el apellido por Bluetooth. El nombre fue propuesto por Jim Kardach, quien había desarrollado un sistema que permitía a los teléfonos móviles de la época comunicarse con los ordenadores sin usar cables y unificando la comunicación inalámbrica. Fue este valor de unificar lo que le hizo proponer el nombre puesto que Harald Bluetooth fue conocido por unificar las tribus noruegas, suecas-danesas y convertirlas al cristianismo. El logo combina las runas que se corresponden con el

nombre Harald Bluetooth, las runas Hagall ( ) y Berkana ( ).

Esta tecnología dispone de dos topologías de red: piconet y scatternet (J.-S. Lee, Su, & Shen, 2007). En la primera de ellas, piconet, existe un dispositivo maestro y varios dispositivos esclavos donde el maestro sirve el contenido y se usa su reloj para sincronizar cada esclavo. La segunda tipología de red, scatternet, es un grupo de dos o más redes picones que trabajan al mismo tiempo. Un dispositivo que usa la tipología scatternet podría ser el maestro de solo una red piconet pero podría ser el esclavo de varias redes piconet (J.-S. Lee et al., 2007).

En 2010 se presentó un nuevo enfoque de la tecnología Bluetooth centrada en dispositivos con restricciones energéticas. A este nuevo enfoque se le llamó BLE (Bluetooth Low-Energy) o Bluetooth 4.0. Gracias a este avance, surgieron muchos nuevos dispositivos que requieren poco gasto energético y pequeñas comunicaciones. Para diferenciar la versión anterior de esta nueva versión, se renombró la versión anterior como Bluetooth Classic y a esta nueva versión como Bluetooth Smart (Chang, 2014) aunque de forma temporal ya que actualmente se conoce como BLE. Esta nueva

Page 59: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Tecnologías relacionadas

41

versión introdujo nuevos perfiles de funcionamiento y aplicaciones como el poder usar la conexión Bluetooth para acceder a Internet. El objetivo de esta version es «to run for a very long time on a coin-cell battery» (Collotta & Pau, 2015), que traducido quiere decir que el objetivo de esta versión es poder hacer que los nuevos dispositivos funcionen durante mucho tiempo con una pila de botón. Mientras que la versión clásica de Bluetooth dispone de 79 canales separados por un 1 MHz, BLE dispone de 40 canales separados por 2 MHz, pero ambas versiones siguen operando en la banda ISM de los 2.4 GHz (Collotta & Pau, 2015; Ferro & Potortì, 2005).

Existen varias propuestas que combinan Bluetooth e Internet de las Cosas. Por ejemplo, se puede usar Bluetooth en el desarrollo de aplicaciones web para interaccionar con objetos inteligentes (Espada et al., 2015). En esta propuesta, los autores desarrollaron un nuevo framewok que permitía a las aplicaciones web interaccionar con dispositivos cercanos a través de Bluetooth. Otra propuesta relacionada con IoT se basa en buscar el ahorro energético mediante la propuesta de un enfoque de lógica difusa para mejorar el consumo de energía de una Smart Home (Collotta & Pau, 2015).

4.3. ZigBee

ZigBee es un estándar inalámbrico de baja velocidad. Fue diseñado por la ZigBee Alliance compuesta por Philips, Motorola, Honeywell, Invensys y Mitsubishi Electric, para ser una solución de bajo coste y de bajo consumo energético (Evans-Pughe, 2003). Algunos usos de ZigBee puede ser la automatización de edificios, el control remoto, sistemas de seguridad, etc. La razón por la que fue creado era que el Bluetooth era inadecuado para la automatización de edificios y control industrial.

La capa física y la capa de control de acceso a los medios de ZigBee se basan en el estándar IEEE 802.15.4 WAN (Wireless Personal Area Network) (“IEEE 802.15.4 Standard Specification,” n.d.).

Existen tres bandas de frecuencias distintas según la región (Ondrej, Zdenek, Petr, & Ondrej, 2006):

• Banda global: banda ISM de 2,4 GHz distribuida en 16 canales y con una velocidad de datos de 250 kb / s.

• Banda de Estados Unidos y Australia: banda de 915 MHz distribuida en 10 canales y con una velocidad de datos de 40 kb / s.

• Banda de Europa: banda de 868 MHz distribuida en un solo canal y con una velocidad de datos de 20 kb / s.

La arquitectura de ZigBee está lista para dos tipos de dispositivos:

• FFD (Dispositivo de función completa): este tipo de dispositivos aprovechan todas las funcionalidades de ZigBee.

• RFD (Dispositivo de función reducida): este tipo de dispositivos tiene varias limitaciones como recursos limitados y no admite funciones avanzadas como el enrutamiento. Debido a eso, estos dispositivos son una solución de bajo costo.

Existen varias aplicaciones que combina IoT con ZigBee. Un ejemplo es la creación de un modelo de simulación basado en terrenos 3D para medir como se comportar ZigBee en el marco de Internet de las Cosas (Lin, Leu, Li, & Wu, 2013). En esa investigación

Page 60: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 3: Internet de las Cosas

42

llegaron a la conclusión de que la consideración de obstáculos y rutas en 3D puede influir en el rendimiento. También hay aplicaciones comerciales donde se usa ZigBee (Wheeler, 2007). En ese artículo, sus autores explican el estándar y mencionan ejemplos de aplicaciones y posibles líneas futuras.

4.4. Wireless Sensor Networks (WSN)

Todas las tecnologías presentadas hasta ahora como tecnologías relacionadas con Internet de las Cosas tenían algo en común, son tecnologías usadas en distintas redes para interconectar objetos inteligentes entre sí. Estas redes se suelen llamar Wireless Sensor Networks (WSN), aunque también son conocidas como Wireless Sensor Actuator Networks (WSAN). El uso principal de estas redes es la interconexión de sensores inteligentes para recoger datos y monitorizar (Xu et al., 2014). Entre sus aplicaciones se incluyen monitorizar el medio ambiente, la salud, procesos industriales, tráfico de vehículos, y muchas otras (W. He & Xu, 2014; Li, Xu, & Wang, 2013).

Las redes WSN se componen de dos tipos de nodos principalmente (Yick, Mukherjee, & Ghosal, 2008). Un tipo de estos nodos son los sensores genéricos o multipropósito cuya tarea es tomar mediciones del entorno a través de un hardware específico capaza de medir diferentes atributos del entorno como la luminosidad, la temperatura, la humedad, la presión atmosférica, etc. El otro tipo de nodos que forman las WSNs son los nodos que permiten transmitir los datos de los sensores, es decir, los nodos cuya función es hacer de puerta de enlace o de puente. Estos nodos son más potentes ya que requieren de mayor capacidad computacional para procesar los datos y disponen de mejores baterías entre otras mejoras.

Según (Yick et al., 2008) existen cinco tipos de WSNs según su ubicación: redes terrestres, redes subterráneas, redes submarinas, redes multimedia, y redes móviles. Y se pueden distinguir dos categorías de aplicaciones de WSNs: seguimiento y monitorización.

4.5. MQTT

MQTT o MQ Telemetry Transport (Message Queue Telemetry Transport) es un protocolo de intercambio de mensajes cliente/servidor ligero y extremadamente simple, diseñado para dispositivos con limitaciones, bajo ancho de banda, alta latencia o para redes no confiables. Reduce el uso de direcciones IP en el flujo de mensajes en IoT en beneficio del direccionamiento basado en nombre (Yokotani & Sasaki, 2016).

Es uno de los protocolos más viejos de comunicaciones M2M introducido en 1999 y desarrollado por Andy Stanford-Clark de IBM y Arlen Nipper de Arcom Control Systems Ltd. (Bandyopadhyay & Bhattacharyya, 2013).

MQTT provee tres modos de funcionamiento según el nivel de confiabilidad requerido (Yokotani & Sasaki, 2016): El primer modo es QoS0 y no se asegura la transmisión, el segundo modo es QoS1 y se asegura la transmisión de un modo similar a como lo hace HTTP, y QoS2 el es tercer modo que asegura el servicio en aplicaciones.

Mientras que HTTP es un protocolo simétrico, MQTT sigue una arquitectura asimétrica para ser más liviano ya que no es necesaria la comunicación basada en petición/respuesta, sino que se basa en subscripción a «tópicos». Los clientes de la

Page 61: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Tecnologías relacionadas

43

comunicación se pueden suscribir a varios «tópicos» y recibir mensajes publicados en cada uno de ellos (Naik, 2017).

Otra diferencia respecto a HTTP es la arquitectura asíncrona de MQTT. En la mayoría de las comunicaciones del mundo de Internet de las Cosas, existen muchos dispositivos no inteligentes distribuidos por el mundo que se comunican con servidor con la inteligencia necesaria. Esta comunicación no requiere de sincronía ni de que el servidor conteste a los dispositivos, y por eso, MQTT es un protocolo recomendado para las comunicaciones en IoT (Yokotani & Sasaki, 2016).

Page 62: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 63: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

45

CAPÍTULO 4. OBJETOS INTELIGENTES

Los objetos inteligentes o Smart Objects están muy ligados a Internet de las Cosas. La definición mostrada en el capítulo de Internet de las cosas incluye la palabra objetos y, por tanto, es necesario tratar qué es un objeto y por qué es importante en Internet de las Cosas. Los Smart Objects e Internet de las cosas son dos conceptos que van unidos y no se pueden separar. La interconexión de objetos los puede hacer inteligentes o expandir su inteligencia mediante la conexión de múltiples objetos, pero, para poder interconectar objetos es necesario disponer de una red que permite la conexión de objetos de todo tipo, es decir, de objetos heterogéneos, así como ubicuos, dicho de otra manera, es necesaria una red de IoT.

Un objeto puede ser cualquier dispositivo o cosa sin tener en cuenta su nivel de inteligencia, por lo tanto, se pueden clasificar en dos tipos en función de si disponen de esa inteligencia o no, los objetos inteligentes, conocidos como Smart Objects o Intelligent Products, y los objetos sin inteligencia que podemos denominar como Not-Smart Objects. En el mundo de Internet de las Cosas podemos encontrar tanto objetos de un tipo como de otro.

En este capítulo se presenta el marco teórico sobre los objetos inteligentes, explicando que son, dando especial importancia a las diferencias entre objetos inteligentes y objetos no inteligentes, y se presentará una de las clasificaciones presentes en la literatura actual y que se ha tomado como clasificación válida en todas las investigaciones que engloban esta tesis doctoral.

1. Concepto de objeto

La palabra «objeto» hace referencia a cualquier dispositivo, ya sea inteligente o no. Por este motivo, se usa constantemente en la literatura científica, en esta tesis doctoral y en todas las investigaciones enmarcadas en esta tesis. Cuando se habla de interconexión de objetos como en el caso de la definición de IoT, se hace referencia a la interconexión de diferentes tipos de dispositivos, véase, la interconexión entre objetos inteligentes, entre objetos que carecen de inteligencia, o la interconexión entre objetos inteligentes y objetos no inteligentes.

Sin embargo, aunque esto parezca claro, en la literatura hay diversos problemas debido a la confusión entre los términos «objeto» y «cosa», ya que los diferentes autores lo usan indistintamente, y la diferencia entre ambos términos es muy ambigua. Esto no solo ocurren con el castellano, sino que también ocurre con el inglés con los términos «object» y «thing».

Debido a esto, este primer apartado de este capítulo se centra en los significados de estas palabras que tantas veces aparecen en esta tesis doctoral y en investigaciones relacionadas. A continuación, se presentan la definición que diferentes fuentes dan a las

Page 64: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 4: Objetos Inteligentes

46

palabras «objeto» y «cosa» y las definiciones en inglés que se dan a las palabras «object» y «thing» dentro del contexto de esta tesis doctoral.

1.1.1. Definiciones según la Real Academia Española Según (Real Academia Española, 2019) se pueden definir las palabras «objeto» y

«cosa» de la siguiente manera:

«Objeto» según la Real Academia Española (RAE).

Cosa.

«Cosa» según la RAE.

• Lo que tiene entidad, ya sea corporal o espiritual, natural o artificial, concreta, abstracta o virtual.

• Objeto inanimado, por oposición a ser viviente.

Tanto en la definición de «cosa» como en la definición de «objeto» se incluye el otro termino, así «objeto» se define como «cosa» y «cosa» se define como «objeto».

1.1.2. Definiciones según WordReference Según (WordReference.com LLC, 2019) se pueden definir las palabras en castellano

«objeto» y «cosa», y las palabras en inglés «object» y «thing» de la siguiente manera:

«Objeto» según WordReference.

Lo que posee carácter material e inanimado; cosa:

«Cosa» según WordReference.

Ser inanimado, en contraposición con los seres animados.

En el caso de las definiciones en castellano, «objeto» incluye en su propia definición el término «cosa» y hace referencia a aquello inanimado al igual que la definición de «cosa».

«Object» según WordReference.

Anything that can be seen or touched and is for the most part stable or lasting in form and is usually not alive.

«Thing» según WordReference.

• An object, usually not a person or animal.

• An object not specifically named or designated.

En el caso de las definiciones de los términos en inglés, «object» incluye en su propia definición el termino «thing» y viceversa.

1.1.3. Definiciones según Oxford Según (Oxford University Press, 2019) se pueden definir las palabras en castellano

«objeto» y «cosa», y las palabras en inglés «object» y «thing» de la siguiente manera:

Page 65: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1. Concepto de objeto

47

«Objeto» según Oxford.

Cosa material inanimada, generalmente de tamaño pequeño o mediano, que puede ser percibida por los sentidos.

«Cosa» según Oxford.

• Palabra con que se designa todo aquello que existe o tiene entidad ya sea material o inmaterial, real o imaginario, concreto o abstracto (objetos, seres vivos, pensamientos, sensaciones, emociones, acciones, sucesos, etc.) y que puede ser concebido como una unidad independiente de otra; a menudo se usa en sustitución de una palabra que no se quiere decir o no se conoce.

• Palabra con que se designa todo aquello que es concreto y real, por oposición a lo abstracto e ideal.

En las definiciones aportadas por Oxford para los términos en castellano, la definición de «objeto» incluye el término «cosa» y hace referencia a aquello que existe, que se puede sentir, es decir, aquello que es real; al igual que hace la definición de «cosa».

«Object» según Oxford.

A material thing that can be seen and touched.

«Thing» según Oxford.

• An object that one need not, cannot, or does not wish to give a specific name to.

• An inanimate material object as distinct from a living sentient being.

En las definiciones aportadas por Oxford para los términos en inglés, ambas definiciones se hacen referencia entre sí además de añadir el adjetivo «material» a ambos términos indicando que se hablan de objetos o cosas tangibles.

1.1.4. Definiciones según Cambridge Según (Cambridge University Press, 2019) se pueden definir las palabras «object» y

«thing» de la siguiente manera:

«Object» según Cambridge.

A thing that you can see or touch but that is not usually a living animal, plant, or person.

«Thing» según Cambridge.

Used to refer in an approximate way to an object or to avoid naming it

Tanto en la definición de «thing» como en la definición de «object» se incluye el otro termino, así «object» se define como «thing» y «thing» se define como «object».

1.1.5. Definición aceptada en el marco de Internet de las Cosas En el apartado anterior se ha visto como la definición de los conceptos «objeto» y

«cosa» son bastante ambiguos y dependen de la fuente que se consulte. En el universo

Page 66: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 4: Objetos Inteligentes

48

de discurso de esta tesis doctoral y de todas las investigaciones realizadas durante su realización enmarcadas en el mundo de Internet de las Cosas, no se utiliza ni «cosa» ni «thing», y se usa como definición de «objeto» u «object» la siguiente definición:

«Cualquier dispositivo electrónico que pueda ser conectado a Internet y pueda, bien recoger datos, como puede ser un sensor, o bien ejecutar una acción que pueda ser realizada por un objeto, comúnmente llamado actuador.» (González García, 2017).

2. Objetos no inteligentes

Durante la introducción a este capítulo, se ha hecho referencia a una clasificación de los objetos en el marco de Internet de las Cosas. Esa clasificación distingue dos tipos de objetos: los objetos inteligentes o Smart Objects y los objetos no inteligentes o Not-Smart Objects. Esto quiere decir que el término objeto u object engloba ambos tipos de objetos y por tanto se hace necesario saber distinguir ambos tipos.

Los objetos no inteligentes o Not-Smart Objects, son dispositivos que necesitan de otro dispositivo para poder funcionar. En este concepto se engloban los sensores y los actuadores.

Los sensores son dispositivos capaces de medir parámetros físicos mediante el uso de células sensibles (WordReference.com LLC, 2019) como la fluctuación de luz mediante un fotorresistor o la temperatura mediante un termistor; y detectar llamar, sonidos, movimientos o cualquier otra cualquier otra alteración del entorno. Resumiendo, son elementos físicos específicos que permiten medir una determinada magnitud física o detectar cambios en el entorno que los rodea. Sin embargo, necesitan la ayuda de otro dispositivo para procesar la información recopilada puesto que solo son capaces de recoger datos. Estos dispositivos son los Smart Objects y se verán en el siguiente apartado.

Por otro lado, se encuentran los actuadores que al contrario de los sensores no recogen datos, sino que realizan acciones simples como puede ser enviar un mensaje de texto, aunque lo más normal es que estas acciones sean mecánicas como encender o apagar un LED o mover un brazo robótico. Los actuadores se pueden dividir en dos grupos: dispositivos mecánicos que permiten realizar acciones sobre el propio dispositivo u otro dispositivo como son los motores, servomotores o bombas; y acciones que se pueden realizar sobre un objeto concreto como puede ser en un smartphone el activar la luz de la cámara o hacerlo vibrar, o como puede ser el acto de encender o apagar un LED. Al igual que los sensores, los actuadores no pueden funcionar por sí solos, sino que necesitan de otro dispositivo que los controle y les indique como deben funcionar y en qué condicione., es decir, necesita estar conectados o formar parte de Smart Objects.

Los dispositivos que son capaces de hacer lo que los sensores y actuadores no pueden y necesitan, son los objetos Inteligentes o Smart Objects. Por ejemplo, un objeto inteligente puede ser un microcomputador Raspberry Pi, ya que este es capaz de procesar los datos recogidos por los sensores que tenga conectados y realizar acciones bajo ciertas condiciones con los actuadores de los que disponga. Por tanto, se puede interpretar que los objetos inteligentes están formados por objetos no inteligentes. La principal diferencia entre un objeto inteligente y uno que no lo es, es que el objeto

Page 67: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Objetos Inteligentes

49

inteligente es capaz de funcionar de manera inteligente y autónoma bajo determinadas condiciones, además de poder interactuar con su entorno o con otros dispositivos gracias a disponer de un sistema operativo embebido en su interior y contar con diversos actuadores, sensores o incluso ambos (Hribernik et al., 2011).

3. Objetos Inteligentes

Al igual que la definición de «objeto», la definición de objetos inteligentes o Smart Objects depende del autor. Para esta tesis doctoral, se ha seleccionado una de las definiciones de la literatura formada a partir de otras definiciones la literatura. Por lo tanto, se una definición de Smart Objects es la siguiente:

«Un Smart Object, también conocido como Intelligent Product, es un elemento físico, identificable a lo largo de su vida útil, que interactúa con el entorno y otros objetos, y que puede actuar de manera inteligente según unas determinadas situaciones, mediante una conducta autónoma. Además, los Smart Objects poseen un sistema informático incrustado y frecuentemente poseen sensores o actuadores. Esto les permite comunicarse con otros objetos, ser capaces de procesar su información, obtener datos del entorno o de realizar un evento.» (González García, 2017).

Los objetos inteligentes o Smart Objects son conocidos también con el nombre de productos inteligentes o Intelligent Products, y alguna definición difiere en cierta medida de la citada anteriormente. Según (Ventä, 2007), Intelligent Products son solo los objetos capaces de monitorizar constantemente, reaccionar y adaptarse al entorno que los rodea, manteniendo una comunicación activa y con un óptimo rendimiento (Ventä, 2007).

Algunos ejemplos de objetos inteligentes que nos rodean diariamente son los teléfonos inteligentes, más conocidos como smartphones, tabletas o tablets, televisiones inteligentes o Smart TVs, o incluso algunos dispositivos como ciertos modelos de cafeteras o algunos modelos de coches son objetos inteligentes. Otro tipo de ejemplos de objetos inteligentes son los microcontroladores como Arduino ya que permite realizar prototipos de casi cualquier idea sin necesidad de una gran inversión de dinero gracias a su gran adaptabilidad a proyectos e investigaciones de todo tipo. Podría decirse que cualquier objeto conectado a Internet (G. M. Lee & Kim, 2012) y capaz de manejar información (Meyer, Främling, & Holmström, 2009) puede ser considerado un objeto inteligente o Smart Object.

De acuerdo con (Meyer et al., 2009) y como se puede ver en la Figura 2, los Smart Objects pueden clasificarse en base a tres dimensiones. Esta clasificación permite diferenciar los distintos Smart Objects según las cualidades de su inteligencia ya que cada dimensión se corresponde con una cualidad de la inteligencia siendo el nivel de inteligencia, la localización de esta y su nivel de agregación.

3.1. Nivel de inteligencia

La primera dimensión que permite clasificar un objeto es el nivel de inteligencia del objeto. Esta dimensión describe como de inteligente puede ser un objeto y consta de tres niveles:

Page 68: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 4: Objetos Inteligentes

50

• Gestión de Información: Capacidad de un objeto para manejar la información recopilada por sensores, lectores, o cualquier otra técnica. Es el nivel de inteligencia más básico que un Smart Object debe tener para poder considerarse objeto inteligente. Por tanto, se puede afirmar que cualquier objeto inteligente es capaz de gestionar la información que recibe ya que en caso contrario sería un objeto no inteligente.

• Notificación de eventos: Habilidad de un objeto para notificar a su propietario cuando se cumplan ciertas condiciones o se produzca un evento concreto como la detección de llamas, un descenso inusual de la temperatura, entre otros. El disponer de este nivel de inteligencia, no otorga aún el libre albedrío.

• Toma de decisiones: Es el nivel más alto de inteligencia que puede tener un objeto. Para que un objeto tenga este nivel de inteligencia, es necesario poseer los dos niveles anteriores y la capacidad de tomar decisiones por si mismo sin cualquier tipo de intervención, es decir, dispone de libre albedrío.

3.2. Localización de la inteligencia

La segunda dimensión es la localización de la inteligencia. Según (Meyer et al., 2009), solo hay dos localizaciones posibles, la inteligencia localizada en la red y la inteligencia localizada en el objeto. Sin embargo, como indica (González García, 2017), existe una tercera posibilidad, la combinación de las dos localizaciones, es decir, la inteligencia combinada de la red y del objeto. Por tanto, esta dimensión consta de tres niveles:

• Inteligencia en el objeto: Los objetos cuya inteligencia se ubica en los propios objetos son capaces de procesar la información por sí mismos, es decir, no necesitan la intervención de ningún agente externo para ser inteligentes. Las plataformas que poseen objetos con este nivel son conocidas como

Figura 2. Clasificación de los niveles de inteligencia basados la clasificación de Meyer.

Page 69: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Objetos Inteligentes

51

plataformas embebidas o embedded platforms (Ramparany & Boissier, 2002).

• Inteligencia en la red: Los objetos cuya inteligencia se ubica en la red no disponen de una inteligencia propia y, por tanto, dependen completamente de un agente externo inteligente. Este agente puede ser una plataforma a la que el objeto está conectado, comúnmente conocidas como portales o portal platforms (Ramparany & Boissier, 2002); un servidor externo donde está en ejecución los agentes inteligentes; u otro objeto cuya función sea la de tomar decisiones o disponga de la inteligencia necesaria.

• Inteligencia combinada: En este nivel se ubican los objetos que, aunque dispongan de inteligencia propia son capaces de usar la inteligencia alojada en un agente externo, es decir, tiene una inteligencia que combina la inteligencia del objeto con la inteligencia en la red. Las plataformas de objetos con este nivel de inteligencia son conocidas como plataformas sustitutas o surrogated platforms (Ramparany & Boissier, 2002). Este nivel no está descrito por (Meyer et al., 2009) pero si le hace una mención en un gráfico de ejemplo.

3.3. Agregación de la inteligencia

La tercera dimensión que permite clasificar un objeto es la agregación de la inteligencia. Esta dimensión describe como se distribuye la inteligencia en los objetos puesto que la inteligencia puede estar repartida por las diferentes partes que forman un objeto. En función del nivel de agregación de la inteligencia de un objeto se puede decir si un objeto inteligente es indivisible o si cada parte es independiente de las otras. Por ejemplo, es posible crear Smart Objects usando un microcomputador Raspberry Pi conectado a un microcontrolador Arduino y ambos con sensores y actuadores conectados. Los objetos no inteligentes como los sensores y los actuadores no tienen inteligencia por si mismos por lo que no pueden ser separados de la Raspberry Pi o del Arduino. Sin embargo, sí se podría desconectar el microcontrolador Arduino del microcomputador Raspberry Pi y que ambos dispositivos sigan funcionando de manera «inteligente» e independiente. Existen tres niveles de agregación posibles, inteligencia en el elemento, inteligencia en el contenedor e inteligencia distribuida.

• Inteligencia en el elemento: Un objeto con este nivel de agregación no puede ser dividido en partes más pequeñas sin perder la inteligencia. Es decir, a este nivel pertenecen los objetos capaces de gestionar información, tomar decisiones y manejar notificaciones; y en caso de contener otros componentes, estos no pueden ser separados como objetos individuales. Ejemplos de este primer nivel son los smartphones ya que están compuestos de sensores y actuadores, pero no pueden separarse de este para funcionar ya que están embebidos.

• Inteligencia en el contenedor: Un objeto con este nivel de agregación debe poder gestionar información, tomar decisiones, manejar notificaciones y, además, debe ser consciente de los componentes que lo forman de manera que trabaja como un enlace entre esos componentes y la red y/o inteligencia, y puede perder la conexión con los componentes sin afectar a la inteligencia del objeto. Un ejemplo de este segundo nivel puede ser una placa Arduino

Page 70: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 4: Objetos Inteligentes

52

con varios sensores conectados. Los sensores solo tienen la capacidad de medir variables físicas, y el Arduino se encarga de recoger los datos y procesarlos. Sin embargo, si se desconecta alguno de los sensores, el Arduino sigue funcionando, aunque se reduzca su funcionalidad.

• Inteligencia distribuida: Un objeto con este nivel de agregación es un objeto que forma parte de los otros dos niveles. Es decir, tanto el elemento como el contenedor tienen inteligencia y ambos son capaces de negociar para tomar la mejor decisión en función del sistema completo. Este nivel no lo menciona Meyer en su clasificación pero se he introducido debido a que la experiencia ha demostrado que pueden existir sistemas con la inteligencia distribuida (González García, 2017). Un ejemplo podría ser un Smart Object compuesto a su vez por otros Smart Objects como un microcomputador Raspberry Pi con dos microcontroladores Arduinos conectados. En este caso, cada microcontrolador Arduino tiene su propia inteligencia y puede tomar sus propias decisiones, aunque en ocasiones es posible que solicite información sobre el otro Arduino a la Raspberry Pi para realizar alguna acción concreta.

Dentro del mundo de Internet de las Cosas y concretamente, en el marco de las investigaciones realizadas durante la realización de esta tesis doctoral, sean parte de esta o paralelas, la dimensión más relevante de esta clasificación de los Smart Objects es la localización de la inteligencia. Dentro de esta dimensión, cabe resaltar los objetos que tienen la inteligencia en la red ya que estos objetos, junto a Internet de las Cosas, pueden lograr que la red pase de solo ser un medio de transporte de datos a disponer de inteligencia. Esto implicaría que los objetos conectados a ella puedan ser inteligentes, e incluso ser aún más inteligente en el caso de que ya lo sean.

4. Campos de aplicación

En el día a día de las personas es muy frecuente encontrarse con objetos inteligentes o Smart Objects. En el capítulo anterior, dedicado a Internet de las Cosas, se han mostrado ejemplos de como los objetos inteligentes están presentes en la vida diaria. Sin embargo, no hay que asociar los Smart Objects a Internet de las Cosas ya que, aunque sea frecuente ver ambos términos juntos, hay ejemplos de uso de Smart Objects que no hace uso de Internet de las Cosas.

Dentro del ámbito comercial, es posible encontrar diferentes sistemas que faciliten la gestión la fabricación de productos (McFarlane, Sarma, Chirn, Wong, & Ashton, 2003). También se pueden usar los Smart Objects para mejorar la distribución y la gestión de los productos en las cadenas de suministro mediante la monitorización continua de los productos durante todo su ciclo de vida (Meyer et al., 2009; Wong, McFarlane, Ahmad Zaharudin, & Agarwal, 2002). En la primera publicación, los autores describen en que partes del flujo de trabajo de las cadenas de suministro se podrían utilizar diferentes Smart Objects como lectores para averiguar el estado de un producto, monitorizarlo o acceder a su historial. En la segunda publicación, se presenta un ejemplo de estantería inteligente para comercios que notifica cuando se está agotando alguno de los productos que se sitúan en sus baldas. La aplicación de objetos inteligentes en el ámbito comercial es muy útil para las empresas, ya que les permite mejorar sus flujos de trabajo y evitar problemas como la falta de suministros.

Page 71: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Campos de aplicación

53

Continuando con los posibles usos de los objetos inteligentes, otro posible uso consiste en la monitorización del uso de productos alquilados para solicitar el pago de una cantidad acorde a la utilización real del producto, e incluso añadir sobrecargos a modo de sanción por un uso indebido por parte del usuario (Kortuem, Kawsar, Fitton, & Sundramoorthy, 2010). Este sistema beneficia tanto al arrendador como al arrendado pues permite al arrendador detectar un uso indebido y compensarlo, y permite al arrendado pagar solamente por la utilización real del producto.

Los objetos inteligentes también pueden ser usados para mejorar la seguridad en el trabajo, por ejemplo, es posible el uso de un sistema que avise a los trabajadores cercanos sobre el almacenaje incorrecto o inseguro de materiales químicos (Kortuem et al., 2010). Este sistema sería muy útil puesto que permitiría controlar el almacenaje de sustancias peligrosas y evitar diversos problemas e incluso desastres químicos.

Otro campo que también se puede beneficiar del uso de los Smart Objects es el campo de la medicina. Un ejemplo de uso de Smart Objects encontrado en la literatura es un sistema capaz de monitorizar pacientes con problemas (Akyildiz, Su, Sankarasubramaniam, & Cayirci, 2002) ya que se podrían conectar marcapasos con centros de vigilancia y así detectar fallos cardiacos o fallos en el marcapasos inmediatamente. Este tipo de sistemas pueden llegar a salvar la vida a muchas personas.

Page 72: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 73: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

55

CAPÍTULO 5. INGENIERÍA DIRIGIDA POR MODELOS

En los años 60 surge un concepto que todavía hoy en día afecta los desarrolladores. Se trata de la crisis del software. Este concepto surgió en la primera conferencia de la Organización del Tratado del Atlántico Norte (OTAN) sobre desarrollo de software (Naur & Randell, 1968). Los problemas de esta crisis son la baja calidad del software desarrollado, el incumplimiento del presupuesto y la planificación, y un aumento en el coste de mantenimiento del proyecto.

Estos problemas ya fueron descritos en los años 70 por Edsger W. Dijkstra (Dijkstra, 1972) y aún hoy en día siguen presentes aún que se han propuesto metodologías cuyo objetivo es solventar estos problemas reduciendo la complejidad esencial1 y la complejidad accidental2. Según (The Standish Group International, 2015) en su CHAOS REPORT del 2015, en ese año, solo el 36% de los proyectos de software finalizaban de manera satisfactoria y un 19% no se completaban.

Una de las soluciones que han surgido para solventar los problemas de la Crisis del Software fue la industrialización y automatización del proceso de desarrollo del software. Uno de los intentos más populares de industrialización del software fue la Ingeniería Dirigida por Modelos o Model-Driven Engineering (MDE), un enfoque para diseñar y desarrollar software basado en el uso de modelos como se muestra en (Hailpern & Tarr, 2006; Seidewitz, 2003; Selic, 2003a).

El objetivo de MDE es incrementar la productividad y reducir el tiempo de desarrollo acercando el proceso de desarrollo al dominio del problema a través de la creación de uno o más modelos e incrementando el nivel de abstracción para que sea más fácil de entender por las personas, por ejemplo, haciendo uso de los lenguajes de dominio específico. Por tanto, MDE trata de resolver la complejidad del diseño y desarrollo del software moderno (Selic, 2008), permitiendo la generación de código o diagramas mediante procesos automáticos o por lo menos semiautomáticos (Selic, 2003b).

MDE tiene varias ventajas como la automatización ya que a través de ella se acelera la productividad y la calidad. Mediante la automatización se pueden generar aplicaciones completas a partir de un modelo e incluso verificar los propios modelos de manera automática. La automatización implica una mejora en la calidad del software desarrollado y, por tanto, a través de ella se intenta solucionar los problemas de la Crisis del Software.

1. Concepto de modelo

Antes de comenzar a hablar de Ingeniería Dirigida por Modelos, conviene aclarar que significa la palabra «modelo», ya que MDE hace referencia a trabajar con ellos. Para ello, como ya se ha hecho en capítulos anteriores, se presentarán las distintas

1 Complejidad que depende de las características derivadas de los requisitos funcionales. 2 Complejidad relacionada con la misma acción de programar y escribir código.

Page 74: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 5: Ingeniería Dirigida por Modelos

56

definiciones del término en castellano «modelo» y del término en inglés «model», según varias fuentes de información.

«Modelo» según la RAE (Real Academia Española, 2019).

• Arquetipo o punto de referencia para imitarlo o reproducirlo.

• En las obras de ingenio y en las acciones morales, ejemplar que por su perfección se debe seguir e imitar.

• Representación en pequeño de alguna cosa.

• Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja, como la evolución económica de un país, que se elabora para facilitar su comprensión y el estudio de su comportamiento.

• Figura de barro, yeso o cera, que se ha de reproducir en madera, mármol o metal.

• Persona u objeto que copia el artista.

«Modelo» según WordReference (WordReference.com LLC, 2019).

• Arquetipo digno de ser imitado que se toma como pauta a seguir.

• Representación a escala reducida de alguna cosa.

• Objeto, aparato o construcción realizada conforme a un mismo diseño:

• Figura de barro, yeso o cera que se reproduce en un material más sólido.

• En arte, persona u objeto que copia el artista.

«Model» según WordReference (WordReference.com LLC, 2019).

• A standard or example of something that can be used for imitation or comparison.

• A copy, usually in miniature, to show appearance of something

• Person or thing that serves as a subject for an artist.

• A style of a particular product, as a car, machine, etc.

• A simplified representation of a system or of some event or action, as in the sciences, proposed by scientists to explain or describe the event or action.

«Modelo» según Oxford (Oxford University Press, 2019).

• Cosa que sirve como pauta para ser imitada, reproducida o copiada.

• Persona que merece ser imitada por sus buenas cualidades.

• Producto industrial que se fabrica en serie y responde a unas características de la serie.

• Representación de un objeto a pequeña escala.

• Representación de una categoría o tipo de cosas definidas por ciertas características.

• Esquema teórico que representa una realidad compleja o un proceso complicado y que sirve para facilitar su comprensión.

Page 75: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1. Concepto de modelo

57

«Model» según Oxford (Oxford University Press, 2019).

• A three-dimensional representation of a person or thing or of a proposed structure, typically on a smaller scale than the original.

• A thing used as an example to follow or imitate.

• A simplified description, especially a mathematical one, of a system or process, to assist calculations and predictions.

• A particular design or version of a product.

«Model» según Cambridge (Cambridge University Press, 2019).

• Something that a copy can be based on because it is an extremely good example of its type.

• A particular type of machine, which is slightly different from machines of the same type.

• Something that represents another thing, either as a physical object that is usually smaller than the real object, or as a simple description that can be used in calculations.

• Something such as an object, plan, or set of rules that is used to show what something else is like or how it works.

• A way of doing something that can be used as an example or can be copied.

• Someone or something that is an extremely good example of its type, esp. when a copy can be based on it.

Tras analizar las definiciones de las distintas fuentes, se ve claramente que no ocurre lo mismo que ocurría en el capítulo anterior con las distintas definiciones de «objeto» o «cosa», puesto que en este caso las definiciones casi no varían entre las fuentes e idiomas. Haciendo una síntesis de todas las definiciones, los modelos son puntos de referencia de los que partir, a los que imitar o en los que basarse.

Ejemplo de esto es lo siguiente: Durante el proceso de construcción de edificios es posible identificar modelos ya que, durante las fases de diseño previas a la construcción, se realizan miniaturas a escala del edificio, modelos del edificio, para comprobar como debería ser el resultado final. En la ingeniería tradicional es necesario diseñar previamente estos modelos especializados para ver el resultado final y ayudar a entenderlo mejor a través de la abstracción (Selic, 2003c). Así, el uso de modelos permite analizar aspectos concretos de un sistema complejo sin el gasto y esfuerzo de crear el sistema completo como saber si su construcción es viable (Selic, 2003b).

El concepto de modelo es un concepto histórico, ya usado en la antigua Grecia y posteriormente en Roma. El mismísimo Marco Vitruvio Polión o Vitruvius en latín, arquitecto romano del siglo I a.C., discutió sobre el uso de modelos para diseñar edificios y maquinaria (Rowland, Howe, & others, 2001). Un ejemplo del uso real de modelos en la arquitectura, fue la construcción en 1418 de la Catedral de Santa María del Fiore de Florencia, concretamente la construcción de su cúpula también llamada Cúpula de Brunelleschi (King, 2013). Esta catedral llevaba en proceso de construcción más un siglo cuando solo quedaba por construir la cúpula. Para su construcción se realizó un concurso público donde se requería a los participantes la construcción a escala de su propuesta y así poder estudiar si era factible. La construcción de la cúpula no era una tarea sencilla pues debía ser una cúpula muy grande y se requería que no tuviese arcos

Page 76: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 5: Ingeniería Dirigida por Modelos

58

arbotantes que la sujetasen. La cúpula ganadora fue obra de Filippo Brunelleschi, orfebre y relojero, y de quien la cúpula cogió el nombre. El modelo de cúpula construido por Brunelleschi fue realizado en madera, ladrillo y mortero y gracias a tamaño, los miembros del jurado pudieron inspeccionar como sería la cúpula por dentro. Esta propuesta revolucionó la arquitectura y hoy en día es la cúpula mas grande del mundo con 43 metros de diámetro.

El uso de modelos sirve indicar que se quiere y como se debe hacer, permitiendo, además, identificar fácilmente y sin altos costes, posibles defectos que se deben corregir o mejoras que se pueden realizar. Sin el uso de modelos podría darse el caso de que se tengan que desperdiciar numerosas unidades de vehículos que tengan defectos de diseño y hasta su fabricación no se han descubierto. Incluso puede provocar el derribo de edificios ya construidos por localizar defectos no detectados previamente y que con un modelo hubiesen sido identificados y corregidos.

La primera fase en la construcción de un proceso de ingeniería o arquitectura suele ser el dibujo sobre plano y tras este, la realización de un modelo a escala con materiales más sencillos y económicos que los finales. Por ejemplo, en el caso de la cúpula de Brunelleschi, para el modelo a escala se usaron materiales como madera, ladrillo y mortero. En la actualidad, los materiales que se utilizan suelen ser compuestos plásticos, a veces impresos con impresoras 3D que permiten disponer de un modelo en poco tiempo y con un gasto bajo. Los modelos a escala permiten observar los detalles del proyecto mucho que mejor que sobre unos planos, mostrando como será el resultado final, si cumple con los requisitos planteados y si es posible realizar alguna mejora de diseño o corregir fallos.

En el campo de la informática, el uso de modelos es similar al de otras disciplinas con la diferencia de que los modelos usados en el desarrollo de software son modelos digitales. Los modelos permiten abstraer al observador de manera que se centre en la información relevante y así poder afrontar la complejidad del software moderno (Poels & Dedene, 1997; Selic, 2007).

Todo esto hace que la definición de modelo en el universo de discurso del software sea una definición adaptada a partir de las anteriores. Por tanto, se puede definir modelo software como «Descripción en un lenguaje de modelado o lenguaje natural de una vista determinada de un objeto o sistema, perteneciente al mundo virtual o real, que abstrae sus conceptos relevantes y que sirve como punto de referencia para reproducirlo» (González García, 2017).

El uso de modelos en la informática dio paso al nacimiento de la Ingeniería Dirigida por Modelos. MDE es uno de los intentos más populares de industrialización del software, un enfoque para diseñar y desarrollar software basado en el uso de modelos. MDE intenta, a través de la industrialización y la automatización del proceso del desarrollo del software, solventar los problemas del desarrollo del software ya mencionados anteriormente.

2. Terminología de MDE

Alrededor de toda tecnología hay una terminología asociada cuyo conocimiento es necesario. La Ingeniería Dirigida por Modelos tiene una terminología propia compuesta

Page 77: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Terminología de MDE

59

que es necesario explicar de manera conjunta pues todos los términos guardan relación entre sí. En la Figura 3, simplificación de una figura de (González García, 2017), se muestran de manera resumida, las relaciones de los principales conceptos de la terminología de MDE. A continuación se definen los elementos más de la terminología de MDE según (García-Díaz, 2011; González García, 2017).

2.1. Dominio

El punto de partida de la Ingeniería Dirigida por Modelos es el dominio. El dominio delimita el campo de conocimiento sobre el que se trabaja. Hay dos tipos de dominios: los dominios tecnológicos y los dominios profesionales. Los dominios tecnológicos hacen referencia a la tecnología de desarrollo de software, y los dominios profesionales hacen referencia a los conceptos que manejará la aplicación.

Para aplicar MDE es necesaria la existencia de un dominio que a su vez puede estar formado por otros dominios más pequeños o subdominios.

2.2. Metamodelo

El metamodelo permite describir de manera formal los conceptos más relevantes del dominio. Son fundamentales para lograr la automatización del proceso de desarrollo de software (Seidewitz, 2003). El metamodelo es una especificación del propio lenguaje de modelado que define como es el modelo, es decir, el metamodelo es el modelo del lenguaje de modelado, y permite verificar de forma formal, el modelo definido con ese lenguaje.

Un metamodelo es también un modelo que puede ser expresado en un lenguaje de modelado. Cuando este lenguaje es el mismo lenguaje que el definido por el metamodelo, se dice que el metamodelo es un metamodelo reflexivo (Seidewitz, 2003) o supermetamodelo. Dentro de este tipo de metamodelos, existe también el metamodelo mínimo reflexivo que representa a los metamodelos cuyo lenguaje de modelado tiene lo elementos mínimos necesarios, y, por tanto, si se eliminase uno de los elementos sería imposible modelar o expresar cualquier estado esencial.

Figura 3. Relaciones entre terminología de MDE.

Page 78: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 5: Ingeniería Dirigida por Modelos

60

2.3. Meta-metamodelo

El meta-metamodelo es una abstracción superior al metamodelo que facilita la reutilización de los metamodelos y los hace interoperables y portables. Un meta-metamodelo es una especificación del propio metamodelo y permite su verificación, es decir, el meta-metamodelo es el modelo del metamodelo. Disponer de un meta-metamodelo permite la existencia de diferentes metamodelos por cada dominio a tratar, pero manteniendo esos metamodelos un modelo común, el meta-metamodelo. De esta manera es posible realizar operaciones sobre los metamodelos, como transformaciones automáticas, validaciones, búsquedas, etc.

Normalmente, los meta-metamodelos son reflexivos, aunque en ocasiones pueden tener un metamodelo que se denominaría meta-meta-metamodelo. Este nuevo modelo también podría tener su metamodelo denominándose meta-meta-meta-metamodelo, y así sucesivamente. Sin embargo, esto no suele ser útil y añade capas redundantes a la arquitectura.

2.4. Sintaxis abstracta, sintaxis concreta y semántica estática

Los metamodelos están formados por una sintaxis abstracta, centrada en los elementos a nivel conceptual, y por una semántica estática, centrada en cómo se representa los conceptos. Por tanto, un metamodelo solo tendrá una sintaxis abstracta invariable, pero puede tener varias sintaxis concretas que se rigen por reglas impuestas por la semántica estática, y que representan los mismos conceptos.

La sintaxis abstracta de un lenguaje es la especificación formal en la que se basa dicho lenguaje. Es decir, define las construcciones, las propiedades y los conectores que el lenguaje puede poseer. Por tanto, la sintaxis abstracta de un lenguaje define su estructura. También se pueden definir reglas del lenguaje en el propio metamodelo para evitar la mala práctica de validar modelos en los generadores de código, y así conseguir detectar anomalías cuanto antes simplificando el resto de las tareas.

La sintaxis concreta de un lenguaje define la notación, textual o gráfica, que los usuarios del lenguaje usarán para crear modelos del dominio. En el mejor de los casos, cada concepto del dominio y del lenguaje se corresponden con una representación en la sintaxis concreta mediante la notación específica correspondiente.

La semántica estática contiene el significado del lenguaje y se usa para asegurar que los modelos están bien construidos a través de comprobaciones semánticas en los mismos. Esta basada en la sintaxis abstracta y establece reglas que debe cumplir la sintaxis concreta.

2.5. Lenguajes de Dominio Específico

Un lenguaje de dominio específico, DSL o lenguaje de modelado es un lenguaje cuyo objetivo es expresar los conceptos de un dominio determinado (van Deursen, 1997; van Deursen, Klint, & Visser, 2000). Un DSL está compuesto por la estructura, términos, notaciones, sintaxis, semántica y reglas de integridad que permiten expresar un modelo. Es decir, es una representación de la sintaxis concreta que permite definir modelos de un dominio determinado. Ejemplos de lenguajes de modelado son UML, SQL Schema y Business Process Managment and Notation (BPMN).

Page 79: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Terminología de MDE

61

Por tanto, un lenguaje de dominio específico es un lenguaje creado específicamente para solucionar un problema específico de un dominio concreto. Cualquier solución de dominio específico tiene como elemento principal un DSL.

2.6. Modelos formales

Una vez definida toda la terminología anterior, es momento de definir modelos formales. Los modelos formales son el punto de partida en la automatización de las posibles transformaciones a niveles inferiores de abstracción. Por ejemplo, partiendo de un modelo definido con un lenguaje de dominio específico gráfico se puede generar automáticamente una aplicación Java).

Los modelos o modelos formales son instancias de los metamodelos representadas mediante una sintaxis concreta. Además, tienen que respetar la semántica estática del metamodelo para que las construcciones sean coherentes dentro del dominio establecido.

Los modelos describen en su lenguaje de modelado, una vista determinada de un objeto o sistema del mundo abstrayendo sus conceptos relevantes y que sirve de referencia para poder reproducirlo.

Cuando el modelo ya se ha definido y está codificado en un soporte de almacenamiento para poder transmitirlo a otro lugar o procesarlo, se denomina modelo serializado. El formato XML es un ejemplo de seríalización. A partir de la serialización del modelo se debe poder reproducir el modelo definido en el destino. Por tanto, el modelo serializado contiene todos los datos relevantes del modelo definido. El proceso de serialización es muy frecuente en escenarios donde se haga uso de lenguajes de dominio específico gráficos. De esta manera es posible persistir modelos definidos por el usuario.

2.7. Semántica del espacio del problema

Dentro del problema a resolver, existe el concepto de semántica del espacio del problema. Este concepto hace referencia a que cada concepto de los modelos tiene un significado dentro del dominio del problema, y, por tanto, cada vez que se añada un nuevo elemento al modelo, se añade nuevo significado.

Gracias al uso de lenguajes de dominio específico, todos los conceptos del lenguaje se mapean directamente a conceptos del dominio que se esta modelando, logrando así evadir interpretaciones erróneas. Esto no ocurre en los lenguajes de propósito general o general purpose languages (GPLs).

La semántica o significado de un DSL debe ser suficientemente intuitivo o se debe documentar correctamente para que los usuarios que definen modelos sepan que conceptos del dominio o espacio del problema están usando. Es decir, tiene que ser posible asocial los elementos del lenguaje con conceptos del dominio de forma sencilla.

Page 80: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 5: Ingeniería Dirigida por Modelos

62

3. Transformaciones entre modelos

La transformación entre modelos es el proceso de convertir de un modelo a otro del mismo sistema. Las transformaciones entre modelos son llamadas model transformation o mapping. Son tareas importantes en el ámbito de la Ingeniería Dirigida por Modelos y para llevarlas a cabo existen diferentes lenguajes que permiten obtener uno o varios modelos de destino a partir de uno o varios modelos de origen.

Realizar transformaciones requieren poseer conocimientos sobre la sintaxis abstracta y la semántica estática de ambos modelos, tanto del de origen como del de destino. Existen tres técnicas de transformaciones entre modelos según (Sendall & Kozaczynski, 2003): manipulación directa del modelo, representación intermedia y transformación soportada por el lenguaje.

3.1.1. Manipulación directa del modelo La primera de las transformaciones se realizada a través de la manipulación directa

del modelo (Direct model manipulation o pull). Se basa en acceder a la representación interna del modelo y manipularla mediante el uso de una API que lo permita. Estas transformaciones se realizan mediante el uso de un lenguaje de programación de propósito general por lo que son más difíciles de escribir, comprender y mantener (Sendall & Kozaczynski, 2003).

3.1.2. Representación intermedia La segunda de las transformaciones se realiza haciendo uso de una representación

intermedia (Intermediate representation) en un formato estándar como XML. El uso de un formato estándar permite usar posteriormente herramientas externas para procesar y transformar el modelo. Consiste en realizar una exportación del modelo origen a ese formato estándar obteniendo la representación intermedia que luego se transforma mediante una herramienta al modelo destino.

Este tipo de transformaciones permite realizar transformaciones por lotes (batch mode), lo que permite automatizar el proceso aunque aumente la dificultad del procesamiento y puede provocar problemas de violación de reglas (Sendall & Kozaczynski, 2003).

3.1.3. Transformación soportada por el lenguaje La última de las transformaciones consiste en el uso de un lenguaje que permita

realizar las transformaciones al modelo. Es decir, se trata de una transformación soportada por el lenguaje. Se hace uso de un lenguaje que contenga un conjunto de construcciones o mecanismos para expresar, componer y aplicar las transformaciones de manera explícita. Por tanto, se hace uso de un lenguaje de dominio específico creado específicamente para resolver este problema.

4. Características de un modelo de MDE

Para que la Ingeniería Dirigida por Modelos sea un éxito y no sea rechazada, los modelos usados deben cumplir una serie de características según (Selic, 2003c). Estas

Page 81: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

5. Flujo de trabajo con MDE

63

características son: alto nivel de abstracción, comprensibilidad, precisión, ser predictivo y ser económico.

La primera característica que debe cumplir un modelo es el permitir subir el nivel de abstracción de manera que se logre independizar el trabajo de software de la implementación tecnológica sobre la que se vaya a sustentar. Es decir, la abstracción hace a los modelos independientes de la tecnología y de sus evoluciones, logrando así que sean más fáciles de especificar, entender y mantener, y que ofrezcan información más compresible y manejable. El subir el nivel de abstracción también ayuda a ocultar detalles irrelevantes haciendo que el modelo sea más fácil de entender, llegando incluso a poder ser definido por los expertos del dominio sin ayuda de desarrolladores. Sin embargo, la abstracción del software puede acarrear que se abstraiga la complejidad y no se perciba correctamente. Por tanto, es importante que al realizar abstracciones no se oculte la complejidad esencial del sistema ya que sino se podría llegar a subestimar el desarrollo realizado (Harel, 1992).

La segunda característica es la comprensibilidad, es decir, la facilidad para ser entendido sin suponer un importante esfuerzo mental. Mediante la característica anterior, la abstracción, un modelo representa el contenido de forma más sencilla y entendible que por ejemplo mediante un lenguaje de programación que suelen ser inexpresivos y requieren de conocimientos. El que un modelo sea compresible implica que la gente sin conocimientos de desarrollo de software, pero sí con conocimientos en el dominio, pueda identificar el modelo al verlo.

La tercera característica es la precisión del modelo. Los modelos deben representar el sistema modelado con precisión, es decir, una representación a través de un modelo siempre equivale al mismo sistema. Un modelo impreciso puede derivar en la creación de aplicaciones que no satisfagan los objetivos perseguidos.

La cuarta característica de que debe tener un modelo es ser predictivo, es decir, a partir del modelo se debe poder predecir el sistema que se está modelando. Por ejemplo, se deben de poder encontrar fallos en el sistema final a partir de un modelo del dicho sistema. En el caso de una construcción como un puente, a partir de un modelo matemático se puede saber la carga máxima que soportará dicho puente. La capacidad de ser predictivo está ligada a la precisión del modelo.

La quinta y última características es el precio del modelo. Un modelo debe ser mucho más económico que llevar a cabo el sistema final ya que sino carecería de sentido la creación de dicho modelo, puesto que sería más rentable construir el sistema final y desecharlo si no es válido para volver a empezar que usar el modelo.

5. Flujo de trabajo con MDE

Para poder trabajar con MDE, es necesario seguir un flujo de trabajo concreto hasta conseguir todo lo necesario para que un usuario pueda define los modelos que posteriormente se procesarán generando la aplicación final. Los pasos de este flujo de trabajo comienzan con la identificación del dominio y finalizan con la definición de la sintaxis concreta que usarán los usuarios para construir modelos. A continuación se detallan los pasos del flujo de trabajo que se debe seguir para aplicar MDE según (González García, 2017).

Page 82: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 5: Ingeniería Dirigida por Modelos

64

1. Definir y acotar el dominio del problema. Los dominios identificados pueden ser subdivididos a su vez en otros dominios más pequeños. Se parte de este paso porque para trabajar con MDE es necesaria delimitar el campo de conocimiento del problema que se quiere resolver.

2. Escoger el meta-metamodelo que se utilizará para definir el metamodelo. Realizar este paso, permite que el metamodelo que se defina sea reutilizable, interoperable y portable. Como ya se ha comentado en un capítulo anterior, un meta-metamodelo es una instancia de una abstracción que define como debe ser le metamodelo.

3. Definir el metamodelo describiendo de manera formal los conceptos del dominio.

4. A partir del metamodelo se define la sintaxis abstracta que especifica la estructura del lenguaje con el que más adelante se podrán definir modelos; se define la semántica estática basada en la sintaxis abstracta que especifica las reglas que debe cumplir la sintaxis concreta.

5. Se definen los Lenguajes de Dominio Específico que se requieran como representación de la sintaxis concreta, es decir, basados en la sintaxis abstracta y cumpliendo las reglas de la semántica estática.

6. Usando el DSL resultante, ya sea textual o gráfico, los usuarios pueden definir el modelo que será procesado para generar la aplicación final.

Siguiendo este flujo de trabajo se construyen las herramientas necesarias para que los usuarios, expertos en el dominio sin conocimientos de programación, puedan crear aplicaciones a partir de los modelos que ellos mismos generen. Esto es así gracias a que el metamodelo está formado por elementos conocidos por los expertos del dominio y para generar aplicaciones, los usuarios solo requieren conocimientos sobre los conceptos del metamodelo, es decir, sobre el dominio.

Page 83: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

65

CAPÍTULO 6. REDES SOCIALES

Los seres humanos se han relacionado entre si desde su misma existencia, incluso antes de tener la capacidad del habla, lo ancestros de las personas de hoy en día establecían relaciones sociales entre sí ya sea para cazar, pescar, cultivar o con fines reproductivos. Las relaciones sociales son necesarias para la supervivencia de las especies. El concepto de redes sociales lleva existiendo desde los primeros momentos de la existencia humana ya que este concepto hace referencia a como se relaciona un ser humano con el resto de su especie.

Fue en el sigo XX cuando esta socialización innata en el ser humano es llevada a la red de redes, a Internet, dando como resultado a las Redes Sociales Online o simplemente, Redes Sociales. Esta creación pudo ser llevada a cabo con la llegada de los servicios WEB a Internet.

Esta nueva forma de socializar permite que la que gente pueda comunicarse con personas de otras partes del planeta a través de Internet, es decir, permiten mantenerse en contacto, aún estando a miles kilómetros de distancia, con cualquier persona de cualquier parte del mundo. La capacidad de establecer vínculos a través de Internet ha hecho que aparezcan nuevos vínculos con personas que sin Internet no hubiera sido posible comunicarse o simplemente, mantener una relación social. Un resultado de este fenómeno son los grados de distancia que separan a una persona de otra. Debido a las redes sociales, todas las personas están conectadas por un máximo de seis grados de distancia, es decir, a través de un máximo de seis saltos de personas según sus relaciones se puede llegar a encontrar un vínculo con cualquier persona del planeta.

Inicialmente, las redes sociales se crearon para comunicarse con personas conocidas a través de Internet. Sin embargo, las redes sociales se han ido especializando en distintos ámbitos y en la actualidad hay redes sociales de temáticas muy diversas para fines muy dispares. Por ejemplo, existen redes sociales destinadas a la búsqueda de empleo, a la búsqueda de pareja, a reunir personas afines a un tema para intercambiar opiniones, etc.

A través de las redes sociales, las personas comparten toda clase de información, como donde han estado de vacaciones, que música escuchan, que gustos tienen, cuales son sus opiniones sobre un tema, etc. Toda la información almacenada en las redes sociales es una representación de una «sabiduría colectiva» a partir de la cual es incluso posible realizar predicciones de resultados del mundo real (Asur & Huberman, 2010).

1. Introducción

Las redes sociales son una de las piezas más importante para lograr la convergencia entre el mundo real y el mundo digital en la Web 2.0 (Blackstock, Lea, & Friday, 2011). En la literatura también se les conoce como Redes Sociales Online, Online Social Networks (OSNS), Social Network Sites (SNS) y Social Networking Sites (SNS). Este último

Page 84: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

66

termino hace énfasis en el establecimiento de relaciones, incluso con desconocidos, y, por tanto, según (boyd & Ellison, 2007) no es el más apropiado para hacer referencia a las redes sociales. En esta tesis se hace referencia a ellas como Redes Sociales por ser el término coloquial usado en el día a día

A través de las redes sociales, las personas puede estar en contacto y compartir diversas cosas con gente que conocen y confían en la vida real (boyd & Ellison, 2007; Guinard, Fischer, & Trifa, 2010), como familiares, amigos, compañeros de trabajo, etc. Entre la información que puede compartir se encuentra su información personal y las actividades que realizan diariamente. Por tanto, los usuarios de las redes sociales pueden estar al día acerca de la información personal de otros usuarios con las que tienen relaciones sociales y saber que actividades realizan (Morris, Teevan, & Panovich, 2010). Sin embargo, no solo es posible contactar con personas conocidas y de confianza, sino que también existe la posibilidad de encontrar y socializar con personas con intereses comunes y gustos similares (Teutle, 2010).

Facebook es la red social más famosa desde el nacimiento de las redes sociales online (Heidemann, Klier, & Probst, 2012) y se ha convertido en la herramienta más popular para la comunicación social (Ross et al., 2009).En esta red social, las relaciones se basan en amistades dentro de la red social. Estas amistadas son mayoritariamente gente que se conoce en la vida real y que posteriormente se añaden como amigos en la red social. Las relaciones sociales de una persona se pueden modelar en forma de grafo, y a la vez, el mapa global de todas las relaciones de todos los usuarios de la red social fue denominado por Mark Zuckerberg como Grafo Social (C. McCarthy, 2010). En este grafo los nodos serían las personas o usuarios de la red social y las relaciones entre usuarios las aristas que unen los nodos del grafo.

Una gran parte de la socialización encontrara en Internet está ligada a las redes sociales debido a que la mayoría de ellas permiten el intercambio de mensajes, ya sea en tiempo real o no; la generación de contenidos creados por los usuarios; acceder a los perfiles de las relaciones en la red social; compartir contenidos de diversa índole con esas relaciones; etc. Todos los días se realizan millones de publicaciones en las redes sociales de todos los ciudadanos que las utilizan y comparten sus opiniones, sus estados de ánimo, sus curiosidades, sus anécdotas y sus experiencias la ciudad donde se encuentren (Doran, Gokhale, & Dagnino, 2013).

En 2011, la red social más usadas en ámbitos académicos, según el número de artículos publicados usando dicha red social, era Facebook seguida de MySpace (Richter, Riemer, & vom Brocke, 2011). Actualmente, también es muy frecuente encontrarse artículos científicos donde se haga uso de Twitter debido a diversas características que la diferencian del resto de redes sociales. Mientras que las relaciones entre usuarios de las redes sociales suelen basarse en la reciprocidad, es decir, un usuario tiene que aceptar una invitación de otro usuario para establecer una relación. Este es el sistema que utiliza por ejemplo Facebook. Twitter basa las relaciones de sus usuarios en seguir a otros usuarios y en ser seguido por otros usuarios sin la necesidad de reciprocidad (Kwak, Lee, Park, & Moon, 2010). Los usuarios son libres para seguir a cualquier otro usuario sin que este último siga al primero. Otra característica importante de Twitter como servicio de microblogging es su naturaleza de funcionamiento en tiempo real. Además, Twitter cuenta con un lenguaje de marcado especializado que permite añadir

Page 85: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1. Introducción

67

cierta información semántica a los mensajes y hacer más fácil el desarrollo de prototipos.

Tanto Twitter como Facebook son una fuente de información muy importante cuando se pretende obtener una «sabiduría colectiva» pues a partir de ellas se recopilan muchos datos sobre personas y/o eventos, incluso en tiempo casi real. Entre esta información se encuentran las relaciones entre las personas que usan las redes sociales, la información que comparten los diferentes usuarios, y los atributos de dichos usuarios como su edad, su sexo, sus creencias, su actitud, etc. (Garton, Haythornthwaite, & Wellman, 2006). Por ejemplo, a través de la información recopilada de Twitter en tiempo real es posible extraer información sobre eventos de tráfico al aplicar a los mensajes en Twitter procesado de lenguaje natural (Anantharam, Barnaghi, Thirunarayan, & Sheth, 2015).

Hay estudios que abalan que esta información o «sabiduría colectiva» proveniente de las redes sociales permite realizar predicciones en áreas tan importantes como la salud, por ejemplo la predicción de epidemias de gripe (Ginsberg et al., 2009; Lampos, De Bie, & Cristianini, 2010); los negocios, por ejemplo la predicción del éxito de una película en la taquilla (Mishne, Glance, & others, 2006); la economía, por ejemplo predicciones sobre las tendencias en el mercado de valores (Bollen, Mao, & Zeng, 2011); e incluso en áreas como la política, por ejemplo tendencias en la opinión pública (O’Connor, Balasubramanyan, Routledge, & Smith, 2010). Sin embargo, hay que tener cuidado con estas predicciones pues son solo de la población con acceso a las redes sociales, y por tanto es posible decir que la muestra es aleatoria y sin sesgos (Metaxas, Mustafaraj, & Gayo-Avello, 2011).

Por tanto, las redes sociales no solo se usan para socializar o establecer relaciones con otras personas, sino que también se usan en otros ámbitos como el académico, o para otros fines como su uso como indicador de rendimiento de la realidad, como fuente de investigación de mercados, o como fuente de datos para recomendar productos.

En el ámbito académico, se usan con frecuencia las redes sociales para investigar gracias a su facilidad de uso, velocidad y alcance (Asur & Huberman, 2010; boyd & Ellison, 2007). Entre las investigaciones surgidas que se pueden encontrar en la literatura, hay diversos estudios que combinan las redes sociales con el mundo de Internet de las Cosas basándose en una deducción echa por científicos de Ericsson, quienes afirmaron que la existencia de analogías entre el uso de tecnologías de Internet de las Cosas y los hábitos diarios en las redes sociales, facilitaba que las personas se familiarizaran con el mundo de Internet de las Cosas (Atzori, Iera, & Morabito, 2014).

Muchas de las propuestas realizadas se centran en aportar a los objetos inteligentes capacidades de socialización con el fin de establecer relaciones entre los propios objetos definiendo el término Internet de las Cosas Social (SIoT) (Atzori et al., 2011, 2014, 2012).

Sin embargo, no solo se han creado nuevas redes sociales para aplicar en el marco de Internet de las Cosas, sino que se han utilizado las ya existentes.

Por ejemplo, en (Costa, Duran-Faundez, Andrade, Rocha-Junior, & Peixoto, 2018) proponen usar la información que los usuarios publican en Twitter para detectar y clasificar eventos ocurridos en una Smart City y ajustar los esfuerzos de una red de sensores según la información recopilada. Es decir, hacen uso de Twitter como si sus

Page 86: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

68

usuarios fueran más sensores situados dentro de Smart Cities. También en (Sakaki, Okazaki, & Matsuo, 2010) se han utilizado los usuarios como sensores pero para lograr la detección de terremotos. Otro ejemplo de uso de Twitter en el marco de Internet de las Cosas es el que se muestra en (Cacho et al., 2016). Los autores usan las opiniones de Twitter para ayudar a tomar decisiones inteligentes sobre el destino para hacer turismo.

Como ya se dijo anteriormente, las redes sociales pueden servir como indicador de rendimiento de la realidad (Asur & Huberman, 2010). Un ejemplo de ello es el estudio donde se concluye que el 21% de los adultos de Internet se involucraron en las campañas electorales de las elecciones de noviembre de 2010 de EEUU usando Facebook o MySpace y el 2% usando Twitter durante en los meses previos a las elecciones (Smith, 2011).

La cantidad de usuarios que usan las redes sociales influyen directamente en la cantidad de datos que estas tienen sobre la población. Al disponer de un volumen tan grande de datos, las redes sociales pueden ser usadas como fuente de investigación de mercados (Heidemann et al., 2012). Un ejemplo de ello es el uso de las redes sociales por parte de la empresa automovilística Fiat (Heidemann, 2010). A través de las redes sociales, obtuvo diseños gratuitos para su modelo Fiat 500. Llego a recibir más de 170.000 conceptos de diseños sin coste alguno gracias a la integración de los clientes en el proceso de desarrollo del modelo. También es posible que gracias a las redes sociales los anuncios publicitarios creados se puedan llegar a convertir en virales y también es posible recoger datos generados por los usuarios de estas, para analizaros y obtener inteligencia de mercado (Richter et al., 2011). Esto dio lugar al concepto de Empresa 2.0, que describe el uso del software social en el contexto empresarial, llamándose a software social a todo aquel que es generado en Internet como las propias redes sociales, los blogs, las wikis, etc.

Incluso es posible usar toda la información disponible de un usuario, usarla para obtener datos sobre la personalidad del usuario basándose en la teoría psicológica «Modelo de los cinco grandes», y usarla para realizarle recomendaciones de productos que le deberían interesar (Buettner, 2017).

Las redes sociales son una parte fundamental de la vida diaria de las personas (Chard, Caton, Rana, & Bubendorfer, 2010). Las redes sociales pueden incluso ayudar a las personas que se trasladan de localización, a conocer y asentarse en nuevos entornos sociales (Richter et al., 2011). Muchas redes sociales ayudan a estar en contacto continuo con otras personas ya conocidas mientras que otras redes sociales permiten conocer gente nueva basándose en los intereses, opiniones, ideas, inquietudes, etc. de ambas partes (boyd & Ellison, 2007).

2. Concepto de Red Social

El concepto de red social es difícil de definir puesto que el concepto como tal hace referencia a una estructura social en la vida real compuesta por varias personas y organizaciones que mantienen alguna relación entre sí según algún criterio como relación de carácter profesional, una amistad, un parentesco, etc. Sin embargo, en lo que a esta tesis doctoral se refiere, se entienden como redes sociales aquellas que se pueden denominar redes sociales online, es decir, aquellas redes sociales cuya actividad

Page 87: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Concepto de Red Social

69

se realiza en Internet. Las redes sociales online son el mismo concepto que las redes sociales tradicionales pero trasladado a Internet. Para definir el concepto de Red Social, se muestran a continuación distintas definiciones de distintas fuentes consultadas. Aunque existen diferentes definiciones, tienen muchos puntos en común.

La definición de 2007 de boyd y Ellison es la primera que se muestra:

«Definimos las redes sociales como servicios basadas en la Web que permite a los individuos construir un perfil público o semipúblico dentro de un sistema acotado, crear una lista de otros usuarios con los que comparte una conexión, ver y recorrer esa lista de conexiones, ver la lista de conexiones y las acciones de otros usuarios dentro del sistema. La naturaleza y la nomenclatura de estas conexiones podría variar de un sitio a otro.» (boyd & Ellison, 2007).

Esta primera dice antes de nada que una red social debe ser un servicio Web y después menciona varias características que debe tener cualquier red social, véase, permitir la creación de un perfil, interactuar con otros usuarios, ver la lista de usuarios con los que tiene relación un usuario y las acciones realizadas de por estos usuarios. En resumen, esta definición se centra en la interacción con otros usuarios y en ser visible a otros usuarios y que otros usuarios lo sean, es decir, una analogía a salir por la calle un día cualquiera.

Otra de las definiciones encontradas es la definición de Schneider, Feldmann, Krishnamurthy y Willinger de 2009:

«Las OSNs forman comunidades en la red entre personas con los mismos intereses, mismas actividades, mismas inquietudes y/o mismas amistades. La mayoría de las OSNs están basadas en la Web y permite a los usuarios subir sus perfiles (texto, imágenes, y video) e interactuar con otros usuarios de diversas maneras.» (Schneider, Feldmann, Krishnamurthy, & Willinger, 2009).

En esta definición se indica que una red social está en la red, es decir, en Internet, y crea comunidades de usuarios. También indica que deben permitir la subida de distintos tipos de contenido al perfil de un usuario y permitir interactuar con otros usuarios.

Otra definición de redes sociales en el ámbito de esta tesis es la aportada por Leskovec, Rajaraman y Ullman en el decimo capítulo de su libro «Mining of Massive Datasets» de 2014:

«Las características esenciales de una red social son:

1. Tiene que haber una colección de entidades que participan en la red, normalmente personas, pero pueden ser cualquier otra cosa.

2. Hay al menos una relación entre entidades de la red. En Facebook o similares, esta relación se llama “amigos”. En ocasiones la relación es de todo o nada, es decir, dos personas son amigos o no lo son. Sin embargo, en otros ejemplos de redes sociales, las relaciones tienen distintos grados. Estos grados pueden ser discretos, por ejemplo, amigos, familia, conocidos, etc. como en Google+; o pueden ser números reales; por ejemplo, el promedio de días que dos personas pasan hablando entre sí.

3. Existe un supuesto de no aleatoriedad o localidad. Las relaciones tienden a agruparse, es decir, si la entidad A está relacionada con la entidad B y con la

Page 88: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

70

entidad C, entonces la probabilidad de que las entidades B y C estén relacionadas son altas.» (Leskovec, Rajaraman, & Ullman, 2014).

La definición anterior identifica tres características que las redes sociales deben tener resumiéndose en que tiene que haber entidades relacionándose entre sí de forma no aleatoria, es decir, por motivos justificados como gustos comunes, objetivos compartiros, etc.; ya sean personas u otros «objetos». Cabe resaltar que esta definición no se cierra a redes sociales de solo personas por lo que una red social de objetos de Internet de las Cosas como la presentada por Atzori (Atzori et al., 2011, 2012) entra en esta definición.

Además de las definiciones ya mostradas, a lo largo de la literatura revisa para el desarrollo de las investigaciones asociadas a esta tesis doctoral, se han encontrado otras pequeñas definiciones de otros autores como las siguientes cuatro definiciones:

«Una red social puede ser una red de computadores que conecta a personas u organizaciones. Así como una red de computadores es un conjunto de máquinas conectadas por un conjunto de cables, una red social es un conjunto de personas (u organizaciones u otras entidades sociales) conectadas por un conjunto de relaciones sociales, como amistad, compañeros de trabajo, o intercambio de información.» (Garton et al., 2006).

«La estructura de una red social es esencialmente una organización virtual dinámica con relaciones de confianza inherentes entre amigos.» (Chard et al., 2010).

«Las redes sociales son comunidades virtuales y plataformas de comunicaciones, donde las personas pueden crear y compartir opiniones, ideas y experiencias libremente.» (Bai, Liu, Sun, & Fang, 2015).

«La idea subyacente de las redes sociales es que los usuarios pueden actuar de forma independiente y crear una identidad virtual propia mediante la configuración de un perfil de usuario. Tras esto, el motivo central de uso de las redes sociales es la creación y el uso de relaciones, tanto ya existentes como nuevas. Por lo tanto, los usuarios pueden crear una red personal que consiste en cientos de conexiones directas e indirectas con amigos, conocidos, compañeros y otros usuarios afines.» (Heidemann et al., 2012).

En la primera de las últimas definiciones, usa una analogía entre las redes sociales y las redes de computadores para explicar que una red social es, en definitiva, un conjunto de usuarios y sus relaciones con otros usuarios.

La segunda definición define a una red social, como una organización de relaciones, es decir, al conjunto de relaciones virtuales entre amigos es a lo que llama red social

La tercera definición define a las redes sociales como lugares virtuales donde los usuarios puede compartir contenido libremente, dejando de lado las relaciones en las que se centran las definiciones anteriores.

Por último, en la cuarta definición se hace hincapié en la existencia de relaciones de usuarios y en la existencia de un perfil virtual asociado a cada usuario.

La última definición que se debe citar es una definición realizada a partir de los matices de todas las definiciones expuestas en este capítulo y realizada por C. González

Page 89: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Clasificación

71

García en su tesis doctoral del 2017. Esta definición define lo que es una red social de una forma más detallada:

«Una red social, o más bien una red social online (OSN), es una red virtual online dinámica que permite crear una identidad virtual, normalmente basada en la del mundo real, para socializar con otras entidades, conocidas previamente o no, y que pueden ser personas, empresas u otros medios, con unos intereses, actividades, trasfondos y/o amistades en común, con el fin de crear una Red Social Online navegable e interactuable mediante la creación, compartición y comentario de contenidos (texto, imágenes, videos, ...) libremente, y que permite crear conexiones con las personas, creando lazos, grupos y/o comunidades, siendo esta su principal finalidad.» (González García, 2017).

3. Clasificación

Elegir una de las distintas formas de clasificar las redes sociales es difícil puesto existe distintas clasificaciones según diferentes parámetros como su especialidad, el sujeto de interés, la localización geográfica, o según el contenido compartido. A continuación se detallan estas diferentes clasificación según lo expuesto por (González García, 2017).

3.1. En base a la especialidad

En esta clasificación se dividen a las redes sociales en dos grupos distintos según si fueron diseñadas para un propósito concreto, es decir, son especialistas en un área, o son más genéricas. Por tanto, dentro de esta clasificación, las redes sociales se pueden dividir en redes sociales horizontales y redes sociales verticales.

3.1.1. Redes sociales horizontales Se denominan redes sociales horizontales a aquellas que no han sido creadas para

un propósito concreto, es decir, no tienen una única temática y sus usuarios son libres de compartir cualquier tipo de contenido sin restricciones salvo el cumplimiento de la legalidad vigente. La principal función de estas redes sociales es la de relacionar personas. Las redes sociales más usadas están dentro de este grupo como Facebook3 o Twitter4, y las difuntas Tuenti y Google+.

3.1.2. Redes sociales verticales Se denominan redes sociales verticales a aquellas que están especializadas en una

temática concreta, es decir, se han creado para un propósito fijo y sus usuarios las usan para intereses comunes. Dentro de este grupo hay muchos tipos de redes sociales según el propósito que tengan:

3.1.2.1.Profesionales

Las redes sociales verticales con temática profesional son aquellas destinadas a establecer relaciones entre diferentes actores del mercado laboral. Permiten establecer relaciones entre profesionales, entre profesionales y empresas, y entre empresas. Un

3 https://www.facebook.com 4 https://twitter.com

Page 90: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

72

ejemplo de estas redes sociales para todo tipo de profesionales es LinkedIn5. Pero no solo se relacionan profesionales relacionados con el mundo empresarial, también existen redes sociales para investigadores, es decir, profesionales de la investigación, como ResearchGate6 o Academia7.

3.1.2.2.Aficiones-Inquietudes

Otras redes sociales verticales son aquellas centradas en las aficiones o inquietudes de sus usuarios.

En el caso de redes sociales centradas en las aficiones, se pueden encontrar redes sociales dedicadas al deporte o a un deporte concreto, a la música, a los videojuegos, etc. Ejemplos redes sociales dedicadas a aficiones serían los siguientes: Last.FM8 y MySpace9 dedicadas a la música, Wipley10 dedicada a los videojuegos, Funcook11 dedicada a recetas de cocina, Moviehaku12 dedicada al cine y a las series, Moterus13 para compartir experiencias moteras, y otras muchas redes sociales más para diferentes aficiones o hobbies.

Dentro de este grupo también se pueden incluir aquellas redes sociales dedicadas a inquietudes de sus usuarios. Por ejemplo, la red social PatientsLikeMe14 se usa para relacionar a personas con una misma enfermedad o patología.

3.1.2.3.Mixtas

Existen también redes sociales verticales mixtas que fusionan las redes sociales verticales profesionales y las dedicadas a las aficiones de sus usuarios permitiendo a sus usuarios combinar ambos contenidos. Estas redes sociales se pueden entender como redes sociales donde los usuarios puedan compartir u obtener información sobre sus aficiones y a la vez contratar servicios relacionados con esas aficiones. Por ejemplo, Finect15 está centrada en temas relacionados con la bolsa y el mercado y sus usuarios pueden contratar servicios de asesoría en ella.

3.1.2.4.Basadas en la identidad

Al igual que las redes sociales verticales cuya temática son las aficiones de los usuarios, también existen redes sociales verticales cuyo público objetivo es aquel que comparte una identidad ya sea cultural, de género u orientación sexual.

Las redes sociales para personas con la misma identidad cultural han surgido debido al efecto de la globalización y al hecho de no querer perder la identidad cultural. La red social BlackPlanet16 es un ejemplo de red social dedicada a personas afroamericanas.

5 https://www.linkedin.com 6 https://www.researchgate.net 7 https://www.academia.edu 8 http://last.fm 9 https://myspace.com 10 https://www.wipley.es 11 https://funcook.com 12 https://moviehaku.com 13 https://www.moterus.es 14 https://www.patientslikeme.com 15 https://www.finect.com 16 https://www.blackplanet.com

Page 91: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

3. Clasificación

73

Otras redes sociales de este tipo pero que ya no existen era AsianAve17 para personas asiatico-americanas y MiGente.com18 dirigida a la comunidad hispana.

También existen redes sociales dirigidas a personas del colectivo LGTBI, es decir, redes sociales basadas en la orientación sexual o identidad de género. Glee19 (Gay, Lesbian & Everyone Else) fue una red social de este tipo antes de su cierre.

3.1.2.5.Movimientos sociales

Otras redes sociales similares a las anteriores son aquellas centradas en una o más preocupaciones sociales. Por ejemplo, Care220 es una red social enfocada en activistas interesados en la ecología y el activismo social.

3.1.2.6.Viajes

Las redes sociales verticales cuya temática son los viajes permiten a sus usuarios preparar viajes, realizar comentarios sobre ellos, aportar experiencias, dar y recibir consejos de otros viajeros, etc. En definitiva, estas redes sociales se centran en los viajes a diferentes lugares y en algunos casos en conectar a las personas que han estado en los mismos sitios o quieran reunirse para visitarlos. Algunos ejemplos de estas redes sociales son TripAdvisor21, minube22, TravellersPoint23, Trover24, Everplaces25, etc.

3.1.2.7.Citas

Por último, existen redes sociales centradas en ayudar a las personas a encontrar pareja, o al menos en ayudar a tener citas a través de amigos que el usuario tenga en otras redes sociales que actúen como intermediarios, sistemas de búsqueda aleatoria, etc. Ejemplos de redes sociales de este tipo son BeautifulPeople26 y la ya cerrada red social Badoo27.

3.2. En base al sujeto de interés

Otra forma de clasificar las redes sociales es en función del sujeto de interés. Dentro de esta clasificación se puede diferenciar aquellas centradas en los seres humanos, como interacciones entre ellos, sus gustos y los de las personas con quien tienen algún tipo de relación, sus intereses, hobbies, actividades que realizan; y aquellas que se centran en el contenido que se publica y no en quién lo publica, de forma que las relaciones entre usuarios permiten acceder a más o menos contenido.

Las redes sociales centradas en las relaciones entre seres humanas se denominan Redes Sociales Humanas, siendo un ejemplo de estas Facebook, y las redes sociales

17 https://en.wikipedia.org/wiki/AsianAve 18 https://en.wikipedia.org/wiki/MiGente.com 19 https://en.wikipedia.org/wiki/Glee.com 20 http://www.care2.com 21 https://www.tripadvisor.es 22 https://www.minube.com 23 https://www.travellerspoint.com 24 http://trover.com 25 https://everplaces.com 26 https://www.beautifulpeople.com 27 https://es.wikipedia.org/wiki/Badoo

Page 92: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

74

centradas en el contenido se denominan Redes Sociales de Contenido, siendo ejemplos de estas Flickr28, Instagram29 y Twitter.

3.3. En base a la localización geográfica

También se pueden clasificar las redes sociales según su interés por la localización geográfica de los usuarios. Por tanto, existen dos tipos de redes sociales dentro de esta clasificación, las Redes Sociales Nómadas y las Redes Sociales Sedentarias.

Las Redes Sociales Nómadas son aquellas que dependen de la localización geográfica de sus contenidos, es decir, los contenidos son localizables ya sea porque sus usuarios se desplazan, porque son localizaciones visitadas por los usuarios, por las ubicaciones de las publicaciones de los usuarios, etc. Ejemplo de red social de este tipo es Foursquare donde los usuarios indican donde se encuentran con el fin de ganar puntos descubriendo lugares.

Las Redes Sociales Sedentarias son aquellas que se basan en los contenidos que se publican en ellos y/o en las relaciones entre los usuarios sin importar la localización de ninguno de ellos. Estas redes sociales son las más típicas como Facebook, Twitter, etc.

3.4. En base al contenido compartido

Por último, otro método de clasificar las redes sociales se según el tipo de contenido que se comparte en ellas. Contenidos hay de muchos tipos diferentes, por tanto, a continuación, solo se presentan unos pocos:

• Fotos: Redes sociales enfocadas a la fotografía con capacidades para almacenar, ordenar, buscar y compartir fotografías. Su uso ha crecido en la última década debido al auge de los Smartphones con buenas cámaras fotográficas. Algunos ejemplos de estas redes sociales son Flickr, Instagram, Pinterest30, Snapchat31, etc.

• Música: Redes sociales enfocadas a la música que permiten reproducir, clasificar, compartir e incluso buscar música. Algunos ejemplos de estas redes sociales son Last.FM, MySpace, etc.

• Vídeo: Redes sociales enfocadas a los vídeos que permiten subir vídeos, buscarlos, visualizarlos, compartirlos, etc. Ejemplos de estas redes sociales son dailymotion32, YouTube33, Flickr, Pinterest, Periscope34, Vine35, etc. Al igual que las redes sociales de fotografías, su crecimiento ha ido en crecimiento debido al auge de los Smartphones.

• Documentos: Redes sociales enfocadas en compartir y comentar diferentes tipos de documentos de diversa índole como por ejemplo publicaciones científicas como es el caso de ResearchGate.

28 https://www.flickr.com 29 https://www.instagram.com 30 https://www.pinterest.com 31 https://www.snapchat.com 32 https://www.dailymotion.com 33 https://www.youtube.com 34 https://www.periscope.tv 35 https://vine.co

Page 93: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Los seis grados de separación

75

• Presentaciones: Redes sociales que permiten compartir presentaciones y aportan herramientas para visualizarlas o trabajar con ellas. Un ejemplo de estas redes sociales es SlideShare36.

• Noticias: Redes sociales enfocadas en la creación de noticias y en compartirlas. Un ejemplo de estas redes sociales es Meneame37.

• Lectura: El ultimo tipo de redes sociales son las enfocadas a la lectura. Estas redes sociales permiten a los usuarios opinar o dejar reseñas sobre los libros que han leído. Ejemplos de estas redes son anobii38 y LibraryThing39. También hay redes sociales enfocadas a la lectura que permiten crear libros o relatos y compartirlos con el fin de recibir críticas y comentarios sobre ellos. Ejemplo de estas redes es Wattpad40.

4. Los seis grados de separación

En 1929, el escritor Frigyes Karinthy proponía que los habitantes de la Tierra están muy cerca los unos de los otros. En el capitulo Chain-Links (Karinthy, 1929), propuso que cualquier persona seleccionada entre los 1.500 millos de habitantes de la tierra en aquel entonces, podría ponerse en contacto con cualquier otra persona a través de su red de contactos sin utilizar más de 5 personas. A esta hipótesis se le denominó «Los seis grados de separación»

No fue hasta 1967 cuando se ideó una manera de probar esta teoría. Stanley Milgram, psicólogo social, creó un experimento al que llamó Small World Experiment (Milgram, 1967) y que consistía en estudiar la probabilidad de que dos estadounidenses cualesquiera de las ciudades de Boston, Omaha y Wichita se conocieran entre sí, y de esta manera obtener el número de nexos entre estas personas. Para ello elegían a personas al azar de estas ciudades y les entregaban un paquete con información de la persona a la que deberían llegar a través de conocidos. Nunca debían ponerse en contacto directo si no la conocían personalmente y debían entregar el paquete a una persona conocida que pudiera conocer más fácilmente a esa persona. Para contabilizar los nexos, cada paquete contenía 15 hojas de trazabilidad. Cada persona las tenía que rellenar con sus nombres, remitir una a los investigadores y transmitir las demás a la siguiente persona. Como resultado obtuvieron cadenas de entre 5 y 7 intermediarios, con una media de 5.2 grados, mientras que sus expectativas eran de cientos de intermediarios.

A partir de la teoría de «Los seis grados de separación» han ido apareciendo distintas investigaciones relacionadas.

Una de estas investigaciones se centró en los nexos que existen entre los actores a partir de una base de datos de películas. Esta investigación, denominada The Oracle of Kevin41, fue concebida por Brett Tjaden de la Universidad de Virginia y usaba Internet

36 https://www.slideshare.net 37 https://www.meneame.net 38 https://www.anobii.com 39 https://www.librarything.com 40 https://www.wattpad.com 41 https://oracleofbacon.org

Page 94: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 6: Redes Sociales

76

Movie Database (IMDB)42 como base de datos. Más adelante, en 1999, Patrick Reynolds reconstruyó el proyecto (Reynolds, 2018) y lo mantiene hasta el día de hoy, aunque ya no hace uso de la base de datos IMDB sino que hace uso de Wikipedia. Este proyecto consiste en utilizar al actor Kevin Bacon, acto escogido al azar para realizar la investigación, y calcular el número de personas que le conectan a otro actor partiendo de la hipótesis de que no hay mas de seis grados de separación entre Kevin Bacon y otro actor de otra película (Hopkins, 2004). El número obtenido se le conoce como el número de Bacon. Un caso similar, y el que inspiró la investigación anterior es el número de Erdős (Oakland University, 2015). Esta investigación, parte un autor de publicaciones matemáticas, Paul Erdős, y analiza la «distancia colaborativa» entre este autor y otro cualquiera.

La red social Facebook también realizó, en el año 2011, un estudio para probar la teoría de los seis grados de separación. En el estudio Anatomy of Facebook, se usaban todos los usuarios registrados en Facebook durante el estudio, aproximadamente 721 millones de personas equivalente a más del 10% de la población mundial, para poner a prueba la teoría de los seis grados de separación (Backstrom, Boldi, Rosa, Ugander, & Vigna, 2012; Ugander, Karrer, Backstrom, & Marlow, 2011). En la realización del estudio obviaron a las personas famosas obteniendo como resultando una media de amigos de 100 personas por usuario, el 99.6 % de los usuarios de la red social están conectados por 5 grados de separación, el 92% de los usuarios están conectadas por tan solo 4 grados de separación, y si se limitaban a un único país el resultado obtenido es que la media de separación entre usuarios es de 4 saltos o 3 grados. Por tanto, Facebook es una red social casi completamente conectada.

5. Redes Sociales en IoT

Las redes sociales son usadas por un gran número de personas y es un aspecto fundamental en la vida del siglo XXI. Por tanto, no es de extrañar que existan diversos estudios alrededor de ellas, e incluso que sus propios creadores y/o desarrolladores realicen estudios aprovechando el acceso del que disponen a tanta información de tantos usuarios. Un ejemplo de esto es el caso de Facebook, donde se realizo, entre otras investigaciones, un estudio que buscaba determinar las diferencias entre las personas amantas de los gatos y las personas amantes de los perros (Adamic, Burke, Herdağdelen, & Neumann, 2016) a partir de las películas, los libros, las series que les gustan, los sentimientos que expresan en la red social, etc.

Sin embargo, no solo se estudian las redes sociales a las que acceden los usuarios sino o la manera de socializar de las personas, sino que hay investigaciones que persiguen obtener una comunicación persona-máquina (H2M) efectiva y sencilla (Choi, Park, Ko, Moon, & Lee, 2009). Un enfoque seguido en estas últimas es la utilización de las redes sociales como canal de comunicación con los objetos. El uso de redes sociales en el marco de Internet de las Cosas ofrece distintos beneficios como se verá a continuación.

En primer lugar, se presenta el trabajo de (Blackstock et al., 2011), donde sus autores presentan los beneficios de usar redes sociales en la Web of Things (WoT), termino

42 https://www.imdb.com

Page 95: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

5. Redes Sociales en IoT

77

usado para referirse al uso de servicios web dentro del marco de IoT. En este trabajo, también se hace un análisis de los contenedores de aplicaciones que algunas redes sociales ofrecen a los desarrolladores como un servicio. Para ese análisis, los autores desarrollan aplicaciones que integran objetos inteligentes en Facebook. Por otro lado, durante esta investigación, no se llega a proponer un sistema de comunicación para interconectar objetos inteligentes usando las redes sociales como si lo harán otros trabajos.

En segundo lugar, el trabajo de (Kranz, Roalter, Michahelles, & Michahelles, 2010) desarrolla la posibilidad de que los objetos publiquen en Twitter información procedente de sus sensores y actuadores, es decir, otorgan a los objetos la capacidad de publicar información en las redes sociales. De manera similar, pero en sentido contrario, hay investigaciones que permiten el acceso a los objetos a través de Twitter a través de lo que los autores denominan Social Access Controller (SAC) (Guinard et al., 2010). Este controlador se basa en una API REST que los objetos exponen para que se pueda acceder a ellos y controlarlos. Por tanto, el uso que esta investigación hace de Twitter se basa principalmente en la lectura de mensajes de la red social por parte de un servidor central que a través de una arquitectura REST controla los dispositivos, es decir, no se comunican los objetos entre sí a través de redes sociales.

La combinación de inteligencia artificial con redes sociales e Internet de las Cosas es otro campo de investigación interesante. Por ejemplo, es posible procesar los mensajes en Twitter haciendo uso de Procesamiento de Lenguaje Natural y extraer información de diversa índole (Anantharam et al., 2015) como información sobre el tráfico, el transporte público, el tiempo, la seguridad pública, etc.

Incluso los propios habitantes de una ciudad pueden se útiles como sensores humanos que aporten información complementaria sobre las ciudades (Doran et al., 2013), integrándose así a los propios ciudadanos en las Smart Cities. Hay varios ejemplos de investigaciones sobre los «sensores humanos». Las personas pueden ayudar a la detección de terremotos, a la localización de su epicentro y a identificar la trayectoria de los tifones (Sakaki et al., 2010). Incluso, Twitter puede ser una fuente de información para ayudar a los políticos a tomar decisiones e iniciativas en el contexto del turismo inteligente (Cacho et al., 2016). Este último estudio, se puso a prueba durante la FIFA World Cup de 2014 obteniendo que es posible identificar la nacionalidad y el lenguaje de los mensajes en Twitter, así como puntos de aglomeración y concentración de visitantes. Con estos datos, los autores del estudio sugieren que los datos recopilados de Twitter pueden ayudar a la gestión de los destinos turísticos de forma inteligente.

Page 96: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 97: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

79

CAPÍTULO 7. INTELIGENCIA ARTIFICIAL

Los seres humanos nacen sin ninguna inteligencia, como una «tabula rasa» que se rellenará con la experiencia a lo largo de los años. Son capaces de aprender y crear conocimiento a partir de las experiencias vividas a lo largo de los años volviéndose poco a poco más inteligentes. En el momento de nacer, los seres humanos son una de las especies más desvalidas y se acaban convirtiendo en la especie más inteligente del planeta gracias a su capacidad de aprender a partir de las experiencias, de leer, escuchar, estudiar, etc. en resumen, a partir de vivir. Además de la capacidad de aprender, otra de las características que permite que los seres humanos sean criaturas inteligentes es la capacidad de pensar, soñar, crear ideas, etc. Tanto la habilidad de aprender como la de pensar, están asimiladas como algo intrínseco de la propia especie, son acciones que se realizan todos los días desde que se nace hasta que se muere, y son las que nos hace considerarnos una especie inteligente.

En la actualidad hay un termino tecnológico que está muy de moda, la Inteligencia Artificial. En cada actualización de los sistemas operativos de los dispositivos que nos rodean hablan de la incorporación de Inteligencia Artificial, ya sea en forma de asistente virtual, como Siri, Google Assistant, Alexa, Cortana, etc., en forma de automatización de tareas, en procesamiento de fotos en función del contexto, etc. Esto nos lleva a varias preguntas, ¿son realmente estos dispositivos o sistemas operativos inteligentes? ¿pueden las máquinas aprender? ¿pueden las máquinas pensar?

En los últimos años han aparecido ejemplos de máquinas capaces aprender, de retener nueva información, de crear nueva información a partir de diferentes estímulos. Un ejemplo de estas nuevas máquinas son los coches autónomos. Estos vehículos son capaces de identificar peatones, coches, y distinta información de la carretera, gracias a los avances realizados en el campo del reconocimiento de objetos. Este tipo de sistemas se basan en el aprendizaje. No se programa un vehículo para que reconozca todas las personas del mundo, sino que se le «enseña» a distinguir una persona en una imagen.

Aún siendo capaces las maquinas de aprender, ¿son también capaces de pensar? ¿son capaces de pensar como deben actuar para ser confundidas con personas? El padre de la informática, Alan Turing, ya realizó la siguiente pregunta, ¿sería capaz una máquina de hacer creer a una persona con la que está hablando, de que en realidad se trata de otra persona y no de una máquina? Alan Turing diseñó el primer experimento para determinar si una máquina era realmente inteligente, el Test de Turing.

A lo largo de este capítulo se hablará del origen del término Inteligencia Artificial, se explicará el Test de Turing y se profundizará en las distintas ramas relacionadas con el contenido de esta tesis doctoral: Visión por computador, Lógica Difusa y Procesamiento de Lenguaje Natural.

Page 98: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

80

1. Introducción

Tradicionalmente, se entiende por ordenadores o computadores a máquinas que solo procesan código binario, es decir, ceros y unos. Aunque, estos dos dígitos no se son visibles ya que los desarrolladores de código no usan código binario sino abstracciones que en última instancia son «convertidos» a estos ceros y unos para ser ejecutados por las máquinas. Cuando se desarrolla un programa, se está definiendo una serie de instrucciones que el computador debe realizar ante una entrada y que provoca una salida. Por tanto, las máquinas no parecen ser autónomas, sino que su funcionamiento se basa en procesar programas junto a datos de entrada y ofrecer datos de salida, todo ello haciendo uso de código binario al más bajo nivel.

Sin embargo, los primeros científicos informáticos, como Alan Mathison Turing, John von Neumann y Norbert Wiener, no se conformaban con que las máquinas solo fuesen capaces de procesar ceros y unos según instrucciones ya prestablecidas, sino que querían lograr que las máquinas fueran capaces de aprender, surgiéndose así el concepto de Inteligencia Artificial (IA) o Artificial Intelligence (AI). Querían que los computadores tuviesen programas que contuvieran inteligencia, que les permitiese aprender, controlar su entorno, obtener la capacidad de autocopiarse, tratando así de modelar el cerebro humano, imitar el aprendizaje humano y simular la evolución biológica (M. Mitchell, 1998).

El inicio de la investigación en Inteligencia Artificial se remonta posiblemente a 1947, tras la Segunda Guerra Mundial, siendo Alan Turing el primer investigador en este campo. Turing publicó en 1950 un estudio abordando la posibilidad de que las máquinas puedan pensar (Turing, 2009). A partir este artículo surge el Test de Turing al presentar The Imitiation Game, semilla del Test. Más adelante se hablará sobre este famoso test. En este artículo (Turing, 2009), Turing también sugiere el procedimiento para crear un sistema de inteligencia artificial basándose en el aprendizaje del ser humano, es decir, empezando por una máquina más «tonta», una máquina infantil que aprende hasta convertirse en una máquina adulta.

Sim embargo, no fue hasta 1955 que se acuña el término Inteligencia Artificial por John McCarthy, Marvin L. Minsky, Nathaniel Rochester y Claude E. Shannon. En el proyecto de investigación de verano de Dartmouth (J. McCarthy, Minsky, Rochester, & Shannon, 2006; Russell & Norvig, 2016), se propuso realizar una estancia de investigación de dos meses para iniciar la investigación en el aprendizaje y otros tipos de inteligencia y comprobar si los ordenadores serían capaces de simularlo. Es decir, se propuso una estancia de investigación sobre Inteligencia Artificial.

La Inteligencia Artificial tiene distintas acepciones según quien lo defina. Según John McCarthy (J. McCarthy, 2001), se define como la ciencia e ingeniería que buscar hacer a las maquinas inteligentes, capaces de analizar y comprender el lenguaje humano, resolver problemas y alcanzar metas como lo hacen los seres humanos. Sin embargo, otros autores defienden que el objetivo de la Inteligencia Artificial no es hacer inteligentes a las máquinas sino «instalar» la mente de un ser humano dentro de un computador.

Page 99: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Test de Turing

81

2. Test de Turing

¿Podría una máquina hacer creer a una persona con la que está hablando desde otro cuarto que se trata de otra persona y no de una máquina? ¿Puede una máquina hacerse pasar por una persona sin que la otra se de cuenta? Esta pregunta ya se la hizo Alan Turing en 1950 pensando en la posibilidad de que las máquinas fuesen capaces de pensar.

Para responder a esta pregunta, Turing propuso usar una versión adaptada del juego The Imitation Game (Saygin, Cicekli, & Akman, 2000; Turing, 2009). Originalmente, en el juego participan tres actores, concretamente, tres personas. El jugador «A» es un hombre, el jugador «B» es una mujer, y el jugador «C» puede ser de cualquier sexo, ejerce el papel de interrogador, está separado de los otros jugadores sin contacto visual y solo puede comunicarse con ellos a través de texto. La mecánica del juego consiste en que el jugador «C» hace preguntas a los otros dos jugadores para determinar el sexo de cada uno, es decir, cual es el hombre y cual es la mujer. Durante el juego, el jugador «C» conoce a los otros jugadores como «X» e «Y» y finaliza cuando decida si «X» es «A» e «Y» es «B» o viceversa.

Partiendo de este juego, ¿qué pasaría si se sustituyese uno de los jugadores por una máquina? ¿sería esta capaz de confundir al interrogador evitando que distinga entre el humano y la máquina? Por tanto, surge una nueva variante del juego de la imitación donde se sustituye a uno de los jugadores «A» o «B» por una máquina y el jugador «C» debe identificar cual es el humano y cuál es la máquina. La máquina, por tanto, debe tratar de imitar el comportamiento de un ser humano, dando respuestas usando lenguaje natural al igual que un humano. A partir de esta nueva variante surge el Test de Turing (Saygin et al., 2000).

Sin embargo, como el propio Turing indica en sus publicaciones, conseguir que una máquina logre imitar a una persona es muy difícil pues existen muchos y variados puntos de vista desde donde lograr esa imitación, como, por ejemplo, el teológico, el matemático, las diferentes discapacidades, el punto de vista de las personas reacias a conocer el problema a resolver (Head-in-the-sand), el punto de vista de las memorias expresado por Ada Lovelace (Fuegi & Francis, 2003), entre otros.

Turing, apoyándose en la tesis de Ada Lovelace, según la cual una persona es capaz de «inyectar» una idea en una máquina, planteó la hipótesis la posibilidad de inyectar todo el conocimiento necesario para que la máquina sea capaz de jugar al juego de la imitación (The Imitation Game) si se dispusiera del espacio necesario. Por tanto, el problema restante consiste en resolver cómo programar las máquinas para que superen el juego de la imitación, o el Test de Turing.

La propuesta de Turing para programar maquinas que superen el juego de la imitación consiste en la división del problema en dos partes bien diferenciadas. Por un lado, propone desarrollar el equivalente al cerebro de un niño en vez del de un adulto, y, por otro lado, educar ese cerebro para obtener el del adulto, es decir, desarrollar el programa «niño» y el proceso de aprendizaje.

En las primeras iteraciones, no se debe esperar obtener una buena máquina «niño» sino que es necesario analizar como evoluciona su aprendizaje para conseguir, a lo largo de varias iteraciones, mejores máquinas o también peores. Este proceso, Turing lo

Page 100: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

82

comparó con la evolución y posteriormente se le dio el nombre de algoritmos genéticos (Holland, 1962).

Para Alan Mathison Turing, una máquina podrá ser llamadas inteligente cuando logre engañar a una persona haciéndole creer que es un humano.

3. Las seis reglas de la IA

En 2006, el CEO de Microsoft, Satya Natella, ofreció una entrevista a la revista online Slate abordando como los humanos y las inteligencias artificiales pueden colaborar para resolver los grandes retos de la sociedad (Nadella, 2016). En esta entrevista, Natella cita las «Tres Leyes de la Robótica» del escritor de ciencia ficción Isaac Asimov y, al igual que él, presenta seis principio o reglas que se deben seguir en el diseño de inteligencia artificial:

1. La IA debe diseñarse para ayudar a las personas: A la vez que se construyen máquinas más autónomas, se debe respetar la autonomía de las personas. Es decir, las máquinas deben realizar los trabajos peligrosos protegiendo así a los trabajadores humanos.

2. La IA debe ser transparente: Las personas deben ser conscientes de como funciona la tecnología y cuales son sus reglas. No solo hay que crear máquinas inteligentes sino también máquinas inteligibles. Al igual que la tecnología sabrá cosas sobre los humanos, los humanos también deben conocer información de las máquinas. Las personas deben entender como funciona la tecnología, como ve y analiza el mundo. La ética y el diseño deben ir de la mano.

3. La IA debe maximizar la eficiencia sin destruir la dignidad de las personas: Se debe preservar los compromisos culturales, potenciando la diversidad. Es necesaria una participación en el diseño de estos sistemas más amplia, más profunda y diversa de las poblaciones. No debe ser la industria tecnológica la que dicte los valores y virtudes del futuro.

4. La IA debe diseñarse para una privacidad inteligente: Son necesarias protecciones sofisticadas que garanticen la seguridad de la información personal y grupal con el fin de que estos sistemas ganen confianza.

5. La IA debe tener «responsabilidad algorítmica»: Es decir, los humanos deben poder deshacer daños involuntarios. Hay que diseñar estas tecnologías tanto para los casos esperados como para los no esperados.

6. La IA debe protegerse de los prejuicios: Se debe asegurar una investigación adecuada, sin sesgo y representativa de modo que una heurística incorrecta no pueda usarse para discriminar.

Natella no solo habló de estas 6 reglas que deben regir el diseño de una IA, sino que también menciona «deberes» de las personas, pensando en las habilidades que las generaciones futuras deben priorizar y cultivar. Para que las personas sigan siendo relevantes en generaciones futuras necesitarán:

• Empatía: La empatía es muy difícil de replicar en las máquinas y por tanto debe ser un valor que destacar en un mundo compartido por humanos e

Page 101: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Visión por computador

83

inteligencias artificiales. Será fundamental la capacidad de percibir los sentimientos y pensamientos de los demás, colaborar y construir relaciones.

• Educación: Para poder crear y gestionar las innovaciones del futuro que aún hoy no se pueden imaginar, se necesitará una mayor inversión en educación que permita desarrollar el conocimiento y las habilidades necesarias para desarrollar nuevas tecnologías e implementarlas a gran escala. Existe una conexión directa entre innovación, habilidades, salarios y riqueza. La implementación a gran escala de innovaciones es un problema social que requiere de mucho tiempo para ser resuelto. Por ejemplo, el telar mecánico se inventó en 1810 pero hasta 35 años después no transformó la industria de la confección pues no había suficientes mecánicos capacitados para satisfacer la demanda de la industria.

• Creatividad: La creatividad es una de las habilidades humanas más codiciadas y esto no cambiará en el futuro puesto que las máquinas continuarán enriqueciendo y aumentando la creatividad de las personas.

• Juicio y responsabilidad: Aunque las personas estén dispuestos a aceptar un diagnóstico o una decisión legar generada por un ordenador, siguen esperando que el último responsable de los resultados sea un humano.

4. Visión por computador

La Inteligencia Artificial es un campo muy amplio y en esta tesis solo se abordan los que influyen en las soluciones propuestas. Uno de estos campos es la Visión por Computador entendiéndose como la habilidad de las máquinas de reconocer e identificar características de una imagen con el fin de que las maquinas logren entender el mundo que las rodea (C. Wang, Komodakis, & Paragios, 2013).

La visión por computador presenta muchos retos ya que su objetivo no es sencillo. Entre las finalidades de la visión por computador están el reconocimiento de elementos, el cálculo de distancias, la localización de objetos en el espacio, y siempre con unos tiempos de respuesta bajos. Entre los retos que se presentan están la modelación de objetos para que las computadoras puedan identificar de que se trata entre múltiples objetos; los cambios de posiciones de los objetos, por ejemplo, una persona puede estar de pie, sentada, de perfil o detrás de otro objeto; los cambios de luminosidad que pueden alterar el resultado del análisis de las imágenes según la hora del día; y cómo realizar el procesamiento de las imágenes ya que se debe realizar en un corto periodo de tiempo y debe abordar diversos procesos para no solo identificar objetos sino abordar los problemas mencionados.

Uno de los campos de la visión por computador que está en auge es el de la detección de personas (Muhammad Anwer, Vázquez, & López, 2011). Muchos sistemas actuales recurren a la detección de personas en diversas escenas, como, por ejemplo, los nuevos coches inteligentes que pueden circular de forma autónoma que necesitan detectar la presencia de peatones para evitar accidentes, o al menos paliar su gravedad. Aunque no solo hay sistemas para reconocer si un objeto es una persona o no, sino que también hay sistemas que tratan de reconocer el movimiento humano (Moeslund & Granum, 2001).

Page 102: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

84

4.1. Conceptos generales

En el proceso de análisis de una imagen y, por tanto, en el reconocimiento de objetos en ella, todo factor es importante. Dos imágenes aparentemente similares, con los mismos componentes en ellas, pueden diferenciarse únicamente en el color de la luz y/i en la sensibilidad de la cámara produciendo que de dos imágenes tomadas simultáneamente se obtengan dos imágenes distintas a nivel de análisis. Incluso el material de los objetos que compongan una imagen puede alterar el resultado de un análisis ya que pueden afectar a la refracción de la luz incipiente. Esto es debido a que las cámaras utilizadas normalmente están basadas en el funcionamiento del ojo humano. Las cámaras poseen tres tipos de sensores al igual que el ojo humano posee tres conos. En la retina del ojo humano existen tres fotoreceptores denominados conos que son sensible a distintas longitudes de onda: Conos-S (Short), Conos-M (Middle) y Conos-L (Long) (Muhammad Anwer et al., 2011). En los sensores de la cámara tenemos los sensores del rojo, verde y azul (RGB).

No solo existen estos sensores, sino que hay otros tipos de imágenes derivadas de distintos sensores. Un ejemplo son las imágenes de infrarrojos cercanos (RGB-NIR) que añaden un canal en la longitud más corta del espectro infrarrojo no visible al ojo humano. Otro ejemplo son las imágenes térmicas que reproducen la correlación entre la temperatura de los cuerpos y la emisión infrarroja de estos. Y otro ejemplo son las imágenes de profundidad (RGBD) que permiten medir la distancia del sensor a los objetos del campo visual.

El proceso mediante el que se realiza un análisis de una imagen y se identifican objetos, es decir, el proceso de aplicación de visión por computador se compone de cinco etapas (Dalal & Triggs, 2005; González García, 2017; Muhammad Anwer et al., 2011; Viola & Jones, 2004).

En la primera etapa se realiza la extracción de características de la imagen con el fin de obtener los descriptores de los objetos presentes en las imágenes. Un descriptor es, por ejemplo, el color del píxel de manera que se pueda definir un objeto como una zona de píxeles anexos con el mismo color. Sin embargo, en la práctica no es tan sencillo, pues un descriptor suele contener un gran número de características diferentes haciéndolos más estables y precisos. Pero, por otro lado, esto conlleva que el rendimiento se vea afectado y, por tanto, el escaneo de imágenes sea más lento. Uno de los problemas que surgen en esta etapa son los posibles cambios en la intensidad de las imágenes a procesar pues al mínimo cambio en ella, el color será diferente y no será posible el reconocimiento del objeto. Por tanto, una de las primeras tareas debe ser procesar las imágenes para eliminar los efectos de la intensidad y de cambios de color para crear descriptores a partir de un color invariante a la intensidad ya los efectos de color. De esta forma se consigue que una imagen con cambios de intensidad o con cambios de color debido a la luz o a la cámara no sea interpretada como otra imagen en el clasificador del sistema de Visión por Computador.

En la segunda etapa se realiza la generación de candidatos. En esta etapa se buscan los objetos dentro de la imagen, definiendo las regiones de interés de la imagen intentando resolver el problema de la localización del objeto. En este paso se lleva a cabo la generación de ventanas, es decir, se encuadran los objetos definidos y localizados dentro de una ventana. Existen diversas técnicas para generar esas ventanas.

Page 103: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

4. Visión por computador

85

Una de estas formas es sliding window o ventana deslizante que consiste «deslizar» una ventana o rectángulo de un tamaño fijo por la imagen y analizar su contenido aplicando un clasificador e identificando si esa ventana es interesante. Un paso más allá es realizar el proceso de sliding window con una representación piramidal de la imagen, es decir, aplicar la ventana a la misma imagen en distintas escalas. De esta manera es posible localizar objetos de distintos tamaños y a distinta profundidad.

En la tercera etapa se realiza la clasificación de candidatos. En esta etapa se comprueba que el descriptor obtenido en la primera etapa es efectivo para las instancias del objeto que se intenta detectar y que diferencie al objeto de los objetos que no deseamos. En esta etapa también se crea la frontera que define que es el objeto que se busca y que no lo es ya que durante la etapa de la generación de ventanas es posible que se hayan cortado objetos, o combinado dos objetos distintos en uno único por detectar la mitad de uno y la mitad de otro en la misma ventana. Algunos de los algoritmos utilizados durante esta etapa son Histogram of Oriented Gradients (HOG) (Dalal & Triggs, 2005), Local Binary Patterns (LBP) (D.-C. He & Wang, 1990; L. Wang & He, 1990), HOG-LBP (X. Wang, Han, & Yan, 2009), Scale-Invariant Feature Transform (SIFT) (Lowe, 1999) y Speeded-Up Robust Features (Surf) (Patent No. US8165401B2, 2012) como descriptores, y la regresión logística (Cox, 1958; Walker & Duncan, 1967) y Support Vector Machine (SVM) (Boser, Guyon, & Vapnik, 1992) como métodos de clasificación.

En la cuarta etapa se realiza la refinación de la decisión. En esta etapa hay que seleccionar los candidatos con mayor puntuación ya que pueden haberse dado duplicados debido al solapamiento de ventanas y de esta manera obtener la mejor identificación posible.

En la quinta y última etapa se realiza la evaluación de rendimiento. En esta etapa se evalúa el funcionamiento del clasificado, cómo de preciso es y los fallos que produce. Esta evaluación se puede realizar a través de una matriz de confusión que contiene los verdaderos positivos y negativos, y los falsos positivos y negativos. Esta matriz aporta una medición de la calidad del clasificador a partir de cuatro parámetros.

1. La exactitud: Indica la distancia hasta la clasificación perfecta. 2. La precisión: Indica la calidad de la salida del clasificador. 3. La sensibilidad: Indica la eficiencia en la clasificación de todos los objetos del tipo

que se busca. 4. La especificidad: Indica la eficiencia en la clasificación de los objetos que no son

de la clase para la que el clasificador fue entrenado.

Para lograr obtener un buen modelo que permita reconocer un objeto determinado se necesitan muchas imágenes de buena calidad para entrenar al modelo y otras muchas para validarlo y asegurarse de que el modelo funciona adecuadamente. Además, no es posible generar un modelo genérico pues la precisión sería mucho menor que la de un modelo especializado debido a la dificultad del problema de reconocimiento de imágenes. Por todo esto, obtener un buen reconocedor de imágenes, o un buen sistema de visión por computador es una tarea muy difícil.

Page 104: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

86

4.2. Trabajo relacionado

En las fuentes consultadas para la realización de esta tesis y durante las fases previas de investigación no se ha encontrado trabajo relacionado destacado que combine Internet de las Cosas con Visión por computador. La mayor parte de los estudios encontrados y repasados se centran en el reconocimiento de personas, caras y cabezas, sobre todo debido al auge de los coches autónomos ya que es necesario el avance en este campo para prevenir atropellos o reducir el daño de los peatones en posibles accidentes. Junto al campo de los vehículos autónomos también destaca el campo de la salud donde, por ejemplo, se pueden crear alarmas para notificar de forma rápida y eficaz cuando una persona mayor sufra una caída en casa.

Dentro del campo de la visión por computador aplicada a los vehículos, uno de los trabajos relacionados destacados aborda los sistemas de conducción autónomos capaces de identificar peatones o a otros vehículos con el fin de evitar que se produzca un accidente avisando al conductor o tomando el control del vehículo si fuera necesario (Keller et al., 2011).

Otro de los trabajos relacionados a destacar presenta un framework cuya función es agilizar la identificación de caras logrando que se logre de una forma extremadamente rápida y manteniendo una buena tasa de acierto. Estos beneficios se logran, entre otras cosas, gracias a una nueva forma de representar imágenes que permite que se puedan computar mucho más rápido, a un nuevo clasificador AdaBoost (Freund & Schapire, 1997) y a un nuevo método de combinación de clasificadores usando «cascada».

También hay estudios más centrados en un nivel más bajo como la mejora del proceso de análisis de imágenes RGB con el fin de facilitar la clasificación de imágenes (Muhammad Anwer et al., 2011). En dicha investigación se centran en las mejoras de clasificación de imágenes de personas, pero son aplicables a todo tipo de imágenes. Para ello, se centran en los opuestos de los colores de las imágenes y la luminosidad.

La Visión por Computador también puede ser aplicada en el marco de la robótica, otorgando a los robots la capacidad de reconocer objetos y personas, e interaccionar con ellos. En el survey de (Begum & Karray, 2011) se tratan los robots cognitivos, es decir, aquellos cuyo diseño se basa en la cognición humana para lograr que sean capaces de reconocer objetos, pero evitando que se saturen con la información de cada imagen. En el survey de (Liu & Dai, 2010) se tratan la visión por computador aplicada a vehículos aéreos no tripulados (UAVs) donde con el uso de Visión por Computador se puede mejorar el control durante el vuelo y la percepción del ambiente que los rodea derivando en una mejora de la autonomía.

Dentro del campo de la salud, también se pueden encontrar estudios donde se aplica Visión por Computador. Por ejemplo, en el «survey» de (Mubashir, Shao, & Seed, 2013) se recogen diferentes sistemas que permiten la detección de caídas de personas mayores. Estos sistemas se clasifican en tres diferentes bloques: dispositivos «weareables», es decir, dispositivos que la persona lleva encima; dispositivos que recogen información del entorno; y sistemas basados en Visión por Computador. En ese estudio, se presentan que los resultados obtenidos por los sistemas de Visión por Computador tienden a ser mejores que las otras opciones. En este mismo estudio, también presentan cuatro tipos de sistemas de visión: espaciotemporal; inactividad o cambio de forma; postura del cuerpo; y posición 3D de la cabeza. La propuesta de

Page 105: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

5. Lógica difusa

87

(Foroughi, Naseri, Saberi, & Sadoghi Yazdi, 2008) se basa en un sistema de detección de caídas que combina imágenes en movimiento con un vector propio, logrando que se tenga en cuenta los datos espaciotemporales del movimiento y su ocurrencia. Por otro lado, en la propuesta de (Zhengming Fu, Culurciello, Lichtsteiner, & Delbruck, 2008), se aplica reconocimiento a través de un algoritmo que reconoce los píxeles del fondo y logra diferencia una caída de otros movimientos normales. Otro sistema de reconocimiento de caídas se basa en rodear a una persona con óvalo de manera que si cambia la forma del óvalo se detecta que la persona ha sufrido una caída (Foroughi, Aski, & Pourreza, 2008). Por último, otra forma de reconocer caídas es en base a la posición 3D de la cabeza. Un ejemplo de este sistema de detección es el presentado por (Jansen & Deklerck, 2006). En este estudio, se combinan las cámaras 3D con modelos de cabezas de personas cuando no están en movimiento para obtener diferentes características que definan el movimiento, la localización y la duración, y así poder determinar si se trata de una caída o no.

5. Lógica difusa

El término lógica difusa o Fuzzy Logic fue introducido por Zadeh como una manera de tratar con los problemas de sentido común. La lógica difusa surgió para resolver los problemas que la lógica clásica no es capaz de abordar ya que esta última solo puede tratar con conjuntos de valores binarios (0 o 1). Sin embargo, hay muchos contextos en los que es necesario tener en cuenta más valores o posibilidades. Disponer de más de dos valores permite manejar más estados y no solo estados binarios. Esto hace que las tomas de decisiones se puedan realizar con una mayor cantidad de información. Estos estados suelen denominarse variables lingüísticas y son capaces de representar características como el «tamaño» que puede tomar varios valores como «grande» o «pequeño» que no tienen por qué tener el mismo significado para todo el que lo interprete ya que depende de la «cognición individual».

Por ejemplo, responden a preguntas como cómo de alto es un edificio dependen de la interpretación de cada persona ya que, probablemente, no todas las personas responderían lo mismo. Para una persona que vive en el campo, una edificación de seis pisos puede ser grande, pero para una persona que vive en Nueva York, esa misma edificación puede ser pequeña debido a las grandes edificaciones de Nueva York.

5.1. Conceptos generales

Dentro del campo de la Lógica Difusa, lo primero que surgió fueron los conjuntos difusos (L. a. Zadeh, 1965) introducidos por Zadeh en 1965. Unos años más tarde, en 1975, Zadeh introduciría el término de Lógica Difusa (L. A. Zadeh, 1975).

Los conjuntos difusos son conjuntos limitados entre los valores 0 y 1. En estos conjuntos el valor 1 representa que el elemento es de ese conjunto y el valor 0 que no es de ese conjunto, existiendo valores intermedios que indican el grado de pertenencia a ese conjunto, también llamado grado de verdad (Russell & Norvig, 2016). Los conjuntos difusos permiten representar matemáticamente la imprecisión presente en la lógica difusa, pues que, en la lógica difusa, un elemento puede pertenecer en un determinado grado a un conjunto y en otro grado a otro conjunto.

Page 106: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

88

Desde su introducción, la lógica difusa (L. A. Zadeh, 1975) ha sido abordada en muchas investigaciones. Un tema común relacionado con la lógica difusa es su aplicación en el ahorro de batería de los dispositivos. Sin embargo, hay muchos ejemplos de uso de lógica difusa, pero, normalmente, tienen en común el uso de la lógica difusa para afrontar decisiones difíciles sin tener unas opciones claras que considerar, o requieren de más de dos valores para representar su estado. Por ejemplo, en (Grant, 2007), sus autores aprovechan las ventajas de la lógica difusa para proponer un nuevo enfoque para el control de la diabetes logrando tratar con datos difusos y ambiguos, para tomar decisiones tal y como lo haría una persona.

Para tomar decisiones, la lógica difusa hace uso de unos controladores denominados «controladores adaptativos o adaptative controllers» (Grant, 2007) o «sistemas expertos o expert systems» (Russell & Norvig, 2016) basados en reglas del tipo «si X y Y entonces Z (if X and Y then Z)» para imitar el pensamiento difusa de las personas. Estas reglas representan el conocimiento que dirige a los controladores o sistemas a llegar a la decisión óptima. La definición de las reglas es una tarea compleja y requiere del uso de variables lingüísticas puesto que la representación humana del conocimiento es difusa. El proceso de entender que significa una variable lingüística, como por ejemplo «pequeño», se denomina fuzzification (Portmann, Andrushevich, Kistler, & Klapproth, 2010).

El ciclo de vida de los datos de un sistema donde se aplica lógica difusa pasa por consta de varios pasos. Para ejemplificar este ciclo, se parte de un sistema que decide sin encender o apagar la calefacción y el aire acondicionado en función de la temperatura y la humedad, y que se corresponde con una de las soluciones propuestas más adelante. Este ejemplo está representado en la Figura 4.

Partiendo de dos valores como entrada de datos, 18ºC como temperatura y 85% como humedad, el primer paso es transformar los datos en variables lingüística mediante «fuzzification» aplicando las «funciones de pertenencia o membership functions» correspondientes (Duarte, 1999). Las funciones de pertenencia se ejecutan en dos momentos del ciclo de vida, en la «fuzzification» y en la «desfuzzification». Mediante estas funciones se obtiene a qué o cuáles conjuntos difusos pertenece el valor de entrada. Las funciones de pertenencia pueden tener diversas formas entre las que se encuentran las funciones triangulares, trapezoidales, gamma, sigmoidales, gaussianas o pseudexponenciales.

Tras aplicar las funciones de pertenencia se obtienen las variables lingüísticas, «templado» para temperatura y «alta» para la humedad. Y a partir de la combinación de estas variables y aplicando reglas lingüísticas del tipo IF-THEN, se obtendrá el número o variable difusos. Estas reglas se encuentran definidas en el controlador

Figura 4. Workflow de un sistema de Lógica Difusa.

Page 107: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

6. Procesamiento de Lenguaje Natural

89

denominado «expert system» y se definen a mano y aplicando un poco de sentido común (Duarte, 1999). Debido a su definición de forma manual, es probable que haya que hacer sistemas de prueba-error hasta encontrar las reglas que mejor se adapten a cada problema. Esto se podría resolver mediante un sistema de Lógica Difusa adaptativo (Kwong & Passino, 1996) en el que el propio sistema fuese capaz de aprender mediante un mecanismo de entrenamiento y así ir evolucionando en el tiempo.

El número difuso obtenido es un valor comprendido entre 0 y 1 y se usa como entrada de otra función de pertenencia en el proceso de «desfuzzification» obteniendo como resultado un dato normalizado que será el utilizado para tomar una decisión.

5.2. Trabajo relacionado en el marco de Internet de las Cosas

A continuación, se presenta trabajo relacionado con Lógica Difusa e Internet de las Cosas. Por ejemplo, en (Larios, Barbancho, Molina, & León, 2012), proponen el uso de la lógica difusa para obtener la localización de un dispositivo logrando una reducción de errores y por tanto una mejora de la precisión. Además, reducen el gasto energético de diferentes elementos como el Sistema de Posicionamiento Global (Global Positioning System - GPS) mejorando así el consumo de batería.

Otra investigación relacionada con el consumo de energía y la lógica difusa es la presentada en (Chamodrakas & Martakos, 2012). En ella, sus autores proponen el uso de conjuntos difusos como método para escoger la red a la que un dispositivo debe conectarse de una manera eficiente con el fin de conseguir un bajo consumo energético, una buena calidad del servicio (Quality of Service - QoS) y un buen rendimiento.

Otra propuesta trata el uso de la lógica difusa para mejorar la calidad de la reproducción de contenido multimedia en Streaming junto a una mejora del consumo energético (Bagchi, 2011). También existen propuestas de aplicación de lógica difusa en vehículos con el fin de mejorar el intercambio de información entre los sensores de los vehículos (Cueva-Fernandez, Pascual Espada, García-Díaz, & Gonzalez-Crespo, 2015) y los servidores de la aplicación propuesta en (Cueva-Fernandez, Espada, García-Díaz, García, & Garcia-Fernandez, 2014).

Otro uso de la lógica difusa es el mostrado en (Cueva-Fernandez, Pascual Espada, García-Díaz, González Crespo, & Garcia-Fernandez, 2016), donde proponen un sistema para crear aplicaciones usando la voz gracias a la lógica difusa.

Todas estas investigaciones tienen en común el uso de la lógica difusa para tomar decisiones difíciles sin tener unas opciones claras que considerar.

6. Procesamiento de Lenguaje Natural

Dentro de la Inteligencia Artificial, también se encuentra el Procesamiento de Lenguaje Natural o NLP por sus siglas en inglés (Natural Language Processing). Esta rama trata de que las máquinas puedan entender el lenguaje natural para permitir a los usuarios comunicarse con las máquinas de forma rápida y efectiva usando su propio lenguaje (B. Z. Manaris & Dominick, 1993; B. Z. Manaris & Slator, 1996), como si se estuvieran comunicando con otras personas.

Page 108: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

90

El procesamiento de lenguaje natural es un campo complejo que requiere no solo de entender la estructura sintáctica de las frases, sino también requiere que el procesador del lenguaje disponga de conocimientos sobre el tema de conversación y del contexto donde esa conversación se realiza (J. McCarthy et al., 2006). Este campo requiere un corpus lingüístico, un modelo del dominio, conocimiento del dominio y conocimiento lingüístico del idioma a procesar, junto a las herramientas software y hardware necesarias (Friedman, Rindflesch, & Corn, 2013). Por tanto, para avanzar en esta área es necesaria la colaboración de diferentes disciplinas puesto que se requiere crear software (ciencias de la computación), crear procesos y modelos lingüísticos (la lingüística), identificar modelos formales (matemáticas), y entender los mecanismos del cerebro (neurociencia) (B. Z. Manaris & Slator, 1996).

El inicio de el procesamiento de lenguaje natural se remonta a la segunda guerra mundial, los años 40. En esa época, el criptógrafo estadounidense Warren Weaver y el británico Andrew Donal Booth comienza a ver viable el uso de máquinas para realizar traducciones de diferentes idiomas entre sí. Sin embargo, en 1957 se concluyó que resolver este problema podría ser mas complejo de que se esperaba inicialmente (J. McCarthy et al., 2006). Desde entonces, el procesamiento de lenguaje natural ha contribuido en el área de interacción con las máquinas de forma teórica y práctica (B. Manaris, 1998) buscando cerrar la brecha de comunicación existente entre los humanos y las máquinas. Este campo ha ido mejorado con los años desde el uso de diccionarios hasta lo que hoy se conoce como NLP.

6.1. Áreas de aplicación

El procesamiento de lenguaje natural tiene muchas áreas de aplicación entre las que se puede destacar el reconocimiento y generación de discurso, interfaces de lenguaje natural, traducción máquina, asistentes de redacción inteligentes, etc. (Church & Rau, 1995; B. Manaris, 1998; B. Z. Manaris & Dominick, 1993; B. Z. Manaris & Slator, 1996). A continuación, se explicarán las metas de varias de estas áreas de aplicación.

Una de las áreas de aplicación es el reconocimiento de discurso, cuya meta es transcribir las palabras pronunciadas por una persona en una máquina. Por tanto, los sistemas de entendimiento del discurso buscan mejorar como la máquina entiende a las personas mientras realizan acciones y/o toman decisiones según el contexto. Por otro lado, la generación de discurso busca lo contrario, es decir, busca que las máquinas sean capaces de emitir discurso hablado por medio de la búsqueda de la representación sonora ideal de las palabras escritas.

Otra de las áreas de aplicación son las interfaces de lenguaje natural. Estas interfaces buscan cerrar la brecha comunicativa entre los diferentes idiomas con el fin de internacionalizar correctamente las interfaces de usuario. Un ejemplo dentro de esta área sería la de facilitar el trabajo mediante el uso de comandos de voz.

Otros usos del procesamiento de lenguaje natural son la gestión del discurso, el entendimiento de la historia y la generación de texto. Por ejemplo, indexar y clasificar texto, realizar resúmenes, indexar contenido en motores de búsqueda, minado de datos, extracción de contenido, etc. Un buen ejemplo de estos usos es la traducción máquina, una de las aplicaciones más viejas (J. McCarthy et al., 2006) de NPL, donde se busca traducir un texto en un idioma dado a otro idioma.

Page 109: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

6. Procesamiento de Lenguaje Natural

91

Los asistentes de redacción inteligentes son otra área de aplicación de NLP. Dentro de este grupo se incluyen todas aquellas aplicaciones que buscan prestar una ayuda inteligente durante redacción de documentos. Entre otras aplicaciones se encuentra los correctores ortográficos, los asistentes de formato/separación/selección de texto, tesauros automáticos, y los entornos de creación y mantenimiento automatizado de documentos o la clasificación de estos (Colace, De Santo, Greco, & Napoletano, 2014).

6.2. Modelos de conocimiento lingüístico

En el procesamiento de lenguaje natura se pueden usar diferentes modelos de conocimiento lingüístico, es decir, diferentes modelos que representen el conocimiento del lenguaje que se quiere procesar (Colace et al., 2014; Friedman et al., 2013; B. Manaris, 1998; B. Z. Manaris & Slator, 1996; Nesi, Pantaleo, & Sanesi, 2015). Los modelos de conocimiento lingüísticos se pueden clasificar en cinco grupos:

• Modelos simbólicos o basados en el conocimiento: Estos modelos se basan en el marcado del corpus lingüístico para ser entrenado y el uso de diferentes algoritmos (Friedman et al., 2013; B. Manaris, 1998). Aunque son los modelos más estudiados, tienen varias deficiencias comparándolos a los estocásticos y conexionistas. Los modelos simbólicos se usan especialmente cuando el dominio lingüístico es pequeño o está muy bien definido (B. Manaris, 1998).

• Modelos estadísticos entre los que se encuentran los estocásticos o probabilísticos: Estos modelos emplean diferentes técnicas probabilísticas para generar modelos generalizados del fenómeno lingüístico. Además, esas técnicas se basan ejemplos reales de estos fenómenos. Estos modelos son muy efectivos en dominios donde fallan los modelos simbólicos ya que compensan la dificultad de crear una gramática que se adecua a todo el idioma al estar más preparados para la incertidumbre (Friedman et al., 2013).

• Modelos conexionistas: Estos modelos también generan modelos generalizados a través de ejemplos de fenómenos lingüísticos. Al realizarse desde arquitectura conexionistas, son menos restrictivos que los estocásticos y por tanto más fáciles de desarrollar. Al igual que los anteriores, se usan donde los modelos simbólicos fallan (B. Manaris, 1998).

• Aproximaciones híbridas: Una alternativa a los modelos anteriores es usar combinaciones de diferentes arquitectura y modelos para encontrar la mejor aproximación. Por ejemplo, Miikkulainen combina modelos simbólicos con modelos conexionistas a historias cortas, para realizar resúmenes, y para obtener posibles respuestas para preguntas. Las aproximaciones híbridas tratan de minimizar el esfuerzo necesario para construir modelos lingüísticos maximizando su flexibilidad, efectividad y robustez aprovechando las fortalezas de los modelos anteriores (Friedman et al., 2013; B. Manaris, 1998). En los últimos años son las técnicas más utilizadas para el procesamiento de lenguaje natura (Friedman et al., 2013).

• Métodos basados en Inteligencia Artificial: Estos métodos son muy variados pues se pueden basar en cualquier tipo de aprendizaje y algoritmo visto anteriormente en esta tesis como árboles de decisión, SVM, redes neuronales, etc.

Page 110: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

92

6.3. Niveles de conocimiento internos del lenguaje natural

EL procesamiento de lenguaje natural se basa principalmente en el análisis de discurso desde diferentes puntos de vista. Desde el punto de vista lingüístico es necesario estudiar diversos aspectos lingüísticos (Akmajian, Farmer, Bickmore, Demers, & Harnish, 2017):

• Fonética: Estudio del sonido del discurso en base a su producción y percepción.

• Fonología: Estudio del sonido en base a su estructura y su funcionamiento.

• Morfología: Estudio de las palabras con el fin de delimitarlas, definirlas, clasificarlas y formar nuevas palabras.

• Sintaxis: Estudio de las frases a través de reglas, principios combinatorios de palabras y las relaciones entre palabras.

• Semántica: Estudio del significado y denotación de las palabras, expresiones, símbolos y representaciones formales.

• Variación lingüística: Estudio de las diversas formas de expresar el mismo concepto y los dialectos de un idioma.

• La evolución del lenguaje: Estudio sobre el surgimiento y la evolución del lenguaje actual.

• Pragmática: Estudio del lenguaje bajo un contexto determinado.

• Psicolingüística: Rama de la psicología que estudia la producción y la compresión del lenguaje con el fin de ver como las personas adquieren el lenguaje y lo utilizan.

• Adquisición lingüística: Estudio sobre como se adquiere el lenguaje en la infancia.

• Neurolingüística: Estudio del funcionamiento del cerebro y los mecanismos que permiten el conocimiento, la compresión y la adquisición del lenguaje.

Debido a la necesidad de abordar estos distintos aspectos lingüísticos, el procesamiento del lenguaje natural se compone de diferentes niveles que varían según los autores a los que se recurra y la época de la historia. Algunos autores de 1993 consideran que cuatro niveles (B. Z. Manaris & Dominick, 1993), otros de 1995 consideran seis (J. Allen, 1995), otros de 1996 consideran ocho (B. Z. Manaris & Slator, 1996), y en 1998 se consideró que existen nueve niveles (B. Manaris, 1998). Sin embargo, todos los autores están de acuerdo que se pueden subdividir principalmente en cuatro: léxico, sintáctico, semántico y pragmático (B. Manaris, 1998). Cada nivel aporta diferente información sobre los mismos datos y, por tanto, a más niveles más datos se obtienen.

A continuación, se presentan todos los niveles encontrados en la literatura (González García, 2017):

1. Acústico o prosódico: Estudio del ritmo y de la entonación. 2. Fonético: Estadio sobre la identificación y producción de los fonemas del

lenguaje, y de la organización de fonemas para formar palabras. 3. Morfológico: Estudio de los morfemas que construyen palabras, siendo estos

la unidad más pequeña da la lengua con significado. 4. Léxico: Estudio de las palabras a partir de los lexemas y de su significado.

Page 111: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

6. Procesamiento de Lenguaje Natural

93

5. Sintáctico: Estudio de las combinaciones de palabras para formar una sentencia. En este nivel cada palabra pertenece a una categoría como nombre, verbo, adjetivo, adverbio, etc., y, por tanto, la combinación de palabras viene determinado por unas reglas específicas del lenguaje. También aborda el estudio de la formación de sentencias.

6. Semántico: Estudio del significado de las palabras de forma individual, del significado de las palabras según la frase y del significado de la frase completa. Por tanto, se estudia el significado independientemente del contexto.

7. Discurso: Estudio de los roles estructurales de la frase o conjunto de frases, así como de la forma de crear mantener diálogos.

8. Pragmático: Estudio sobre el contexto de la frase y la interpretación de estas en ese contexto. El contexto afecta a las frases siguientes, por ejemplo, en el uso de pronombres.

9. Conocimiento del mundo: Estudio de la información que rodea a los usuarios del lenguaje, aportando al lenguaje datos personas de los usuarios, como las creencias y/o metas, con el fin de mantener conversaciones.

Ejemplificando el uso de niveles, se puede tomar una frase de ejemplo como «María se peina muy temprano» y querer realizar un procesamiento de texto donde se identifique el sujeto, el predicado y el tipo de palabra que forma cada uno. En este caso se necesitan los niveles 4, 5 y 6 puesto se requiere el estudio léxico, sintáctico y semántico. Si en vez de ese tipo de procesamiento, se quiere reconocer la frase cuando alguien la dicta ante un micrófono, se necesitan los niveles 1, 2 y 3. Por otro lado, si el procesamiento requiere saber el contexto donde se ha usado esa frase con el fin de mantener un dialogo, se necesitarían los niveles 7, 8 y 9. Por último, si se quisiera mantener una conversación completa con alguien se necesitarían los nueve niveles.

Por tanto, el número de niveles necesario en un desarrollo que haga uso de procesamiento de lenguaje natural depende del dominio del problema puesto que en unos casos se requerirán unos niveles y en otros casos otros niveles distintos.

6.4. Trabajo relacionado

Dentro del campo del procesamiento de lenguaje natural, hay una gran variedad de trabajos relacionados con esta tesis, aunque también cabe destacar algún trabajo no directamente relacionado pero importante en el campo de NLP.

En el campo de la medicina, hay mucha investigación en la que se aplica NPL con el fin de mejorar el trabajo de los médicos y el servicio que se da a los pacientes (Friedman et al., 2013). Un ejemplo de esto es la utilización de procesamiento de lenguaje natural para detectar problemas de mal uso de opiáceos a través de análisis de documentos usando NPL junto con revisión manual. Se detectaron diversos problemas en clínicas debido a documentación o información incompleta, o a demasiada documentación que hace difícil acceder a ella. Esto provoca que no se prescriba los opioides correctamente.

Dentro del campo de investigación de esta tesis, existe diverso trabajo relacionado con el procesamiento de lenguaje natural. Por ejemplo, es posible controlar robots haciendo uso de ordenes basadas en lenguaje natural aplicando NLP (Drews & Fromm, 1997). En ese trabajo, sus autores proponen una interfaz humano-máquina que transformaba las ordenes recibidas en lenguaje natural en ordenes para robots.

Page 112: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 7: Inteligencia Artificial

94

Otro trabajo relacionado es el uso de NLP para crear sentencias SQL (Siasar djahantighi, Norouzifard, Davarpanah, & Shenassa, 2008) con el fin de acercar el lenguaje SQL a usuarios no expertos. El sistema transforma una sentencia escrita usando lenguaje natural en una sentencia SQL.

Otro tipo de trabajos relacionados se basa en el uso de NLP para obtener información técnica a partir de información textual de cliente. Un ejemplo de esto es la herramienta lips (Keszocze, Soeken, Kuksa, & Drechsler, 2013), que hace uso de NPL dentro del entorno de desarrollo Eclipse con el fin de obtener implementaciones en Java a partir de requisitos en texto plano. Otro ejemplo similar es el prototipo Requirements Analysis and Class Diagram Extraction (RACE), pues permite la extracción de clases a partir del análisis de requisitos aplicando NLP y ontologías (Tripathy & Rath, 2014).

Page 113: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

95

BLOQUE III Soluciones propuestas y prototipos

Page 114: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 115: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

97

ÍNDICE DEL BLOQUE

CAPÍTULO 8. SOLUCIÓN GENERAL 99 1. MEJORAR LA SEGURIDAD DE LAS PERSONAS 101 2. MEJORAR LA HABITABILIDAD 101 3. FAMILIARIZAR A LAS PERSONAS CON EL PROCESO DE SOCIALIZACIÓN DE LOS OBJETOS 102 4. SOCIALIZACIÓN DE OBJETOS PARA LOGRAR TAREAS EN COMÚN 103 CAPÍTULO 9. SOLUCIONES ESPECÍFICAS Y PROTOTIPOS 105 1. SOCIALIZACIÓN DE OBJETOS INTELIGENTES ENTRE SÍ 105

1.1. INTELIGENCIA ARTIFICIAL APLICADA A LOS RESULTADOS DE UN PROCESO DE SOCIALIZACIÓN 106 1.2. SOCIEDAD DE OBJETOS INTELIGENTES CON FINES COMUNES 135

2. SOCIALIZACIÓN DE OBJETOS INTELIGENTES CON PERSONAS 143 2.1. REDES SOCIALES COMO CANAL DE SOCIALIZACIÓN 144 2.2. APLICACIÓN DE INTELIGENCIA ARTIFICIAL PARA SOCIALIZAR OBJETOS CON PERSONAS 180

Page 116: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 117: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

99

CAPÍTULO 8. SOLUCIÓN GENERAL

Esta tesis doctoral pretende dar respuestas a las preguntas planteadas en el Capítulo 1.1, para intentar verificar las cinco hipótesis planteadas en el Capítulo 1.2 y verificar los todos los objetivos presentados en el Capítulo 1.3. Cada una de las hipótesis se abordará de forma separada en diferentes soluciones específicas. Estas soluciones específicas tienen una base común, denominada solución general, y de forma conjunta intentarán confirmar la hipótesis general de esta tesis doctoral y que se muestra a continuación.

El estudio de la socialización de objetos de Internet de las Cosas permite encontrar mecanismos para mejorar la seguridad, mejorar la habitabilidad, integrar los objetos inteligentes en las Redes Sociales de las personas y facilitar la comunicación entre objetos y personas, es decir, acercar las tecnologías de Internet de las Cosas a las personas.

Para poder comprobar esta hipótesis se deben cumplir los objetivos de esta tesis. Al igual que la hipótesis, es tesis doctoral cuenta con un objetivo general dividido en varios objetivos parciales que permiten abordar las hipótesis de forma más sencilla y acotada. El objetivo principal y que tras cumplirlo se podrá verificar la hipótesis general es el siguiente:

Desarrollar una investigación en el marco de Internet de las Cosas que aborde la socialización de los objetos inteligentes entre sí y con personas, buscando facilitar esa comunicación acercándola a la forma de socializar de las personas, mejorar la seguridad de las personas y mejorar la habitabilidad, es decir, acercar las tecnologías de Internet de las Cosas al día a día de las personas sin que necesiten conocimientos de desarrollo de software utilizando diversas técnicas como Inteligencia Artificial e Ingeniería Dirigida por Modelos.

Para lograr cumplir este objetivo no se ha recurrido a una única solución que pruebe y cumpla el objetivo completo, sino que se han realizado diversas propuestas o soluciones específicas que cubren individualmente alguno de los objetivos parciales y verifican alguna de las hipótesis planteadas, pero que en conjunto permiten verificar el objetivo general y por tanto la hipótesis general.

Todas estas soluciones parten de una base común en torno a la que se trabaja y que agrupa a todas ellas, a esta base común se le denomina solución general y se presenta en este capítulo.

La solución planteada en esta tesis doctoral busca acercar al público general el mundo de Internet de las Cosas abordando cuatro aspectos distintos que juntos logran integrar aún más Internet de las Cosas en las vidas de las personas aportándoles beneficios en su día a día. Estos aspectos son los siguientes:

• Mejorar la seguridad de las personas.

• Mejorar la habitabilidad.

• Familiarizar a las personas con el proceso de socialización de los objetos.

Page 118: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 8: Solución general

100

• Socialización de objetos para lograr tareas en común.

En resumen, se busca mejorar el confort de los usuarios durante el proceso de socialización con objetos de IoT, acercando los usuarios a los ojbetos y haciéndoles más accesible el mundo de IoT.

La solución general es la base a partir de la cuál se definirán las soluciones específicas, por tanto, esta solución cuenta con un metamodelo que permitirá crear los modelos de las soluciones específicas, enmarcando así esta tesis en la Ingeniería Dirigida por Modelos. En la Figura 5 se muestra el metamodelo del que parten las soluciones específicas de esta tesis. Esta formado principalmente por tres elementos: los objetos (Object), los agentes de socialización (SocializationAgent) y la inteligencia de apoyo (IntelligenceSupport).

Los objetos representan tanto los objetos inteligentes (SmartObject) con capacidades de ejecución de aplicaciones o capacidades de procesamiento de información, como los objetos no inteligentes (NoSmartObject) que necesitan de otro objeto para funcionar como los sensores o actuadores.

Los agentes de socialización representan los medios por los que se comunican los objetos entre sí, es decir, el canal de comunicación, como por ejemplo redes sociales, servicios Web, etc.

Y, por último, la inteligencia de apoyo hace referencia a la ubicación de la inteligencia, es decir, al sistema que es capaz de procesar información y orquestar automatismos en función de la información procesada ya sea realizar acciones con actuadores a partir de datos de sensores, comunicarse con otro sistema para intercambiar información, establecer comunicaciones con agentes de socialización, etc. Además, la inteligencia de apoyo puede ser a su vez otro objeto inteligente ya que puede formar parte del sistema o ser un espectador externo que solo envía información a los objetos con actuadores y/o sensores.

A nivel de relaciones, los objetos hacen uso de los agentes de socialización para comunicarse entre ellos o con la inteligencia de apoyo y viceversa. Por tanto, tanto los objetos como la inteligencia de apoyo deben contar con agentes de socialización disponibles.

Figura 5. Metamodelo de las soluciones.

Page 119: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 8. Solución general

101

A continuación, se describe brevemente las soluciones específicas que esta tesis doctoral propone enmarcadas en los aspectos que esta solución general aborda para mejorar acercar al público general el mundo de Internet de las Cosas.

1. Mejorar la seguridad de las personas

Una de las soluciones específicas abordará la mejora de la seguridad de las personas aplicando Inteligencia Artificial a los resultados de un proceso de socialización. Concretamente, se desarrollará un módulo para una plataforma de Internet de las Cosas que aplicará técnicas de Visión por Computador a datos obtenidos de una cámara IP para automatizar tareas.

Esta plataforma permitirá tratar los datos obtenidos de las cámaras como si de un sensor binario se tratase, es decir, obteniendo valores booleanos sobre la presencia de personas en la escena de las cámaras. De esta manera, se estarían integrando objetos cotidianos de seguridad en una plataforma de IoT que permite que usuarios sin conocimientos de programación puedan automatizar tareas y generar aplicaciones que hagan uso de datos de presencia de personas.

Para enmarcar esta solución dentro de la solución general se puede hacer una analogía entre los componentes de la solución general y los componentes de la solución específica. En esta solución específica, se usará una cámara IP como «objeto inteligente», la plataforma Midgar junto al módulo de visión por computador desarrollador como «inteligencia de apoyo» y el «agente de socialización» serán servicios Web.

2. Mejorar la habitabilidad

Una de las soluciones específicas abordará la mejorar de la habitabilidad de las personas aplicando Inteligencia Artificial a los resultados de un proceso de socialización. Concretamente, se presentará un sistema que permita una automatización eficiente del sistema de climatización de un espacio cerrado como una habitación considerando las condiciones ambientales del exterior y aplicando Lógica Difusa para buscar el mejor momento para encender o apagar los dispositivos del sistema de climatización y la potencia necesaria. Esta gestión eficiente permitirá obtener un ahorro energético.

Para llevar a cabo esta solución se usarán datos obtenidos de plataformas de IoT y datos de sensores conectados directamente al sistema propuesto y permitirá tomar decisiones sobre un sistema completo de climatización formado por un sistema de calefacción y otro de aire acondicionado. Los cambios de estado de ambos sistemas, es decir, los encendidos, apagados y cambios de potencia, seguirán unas reglas basadas en las condiciones del exterior, concretamente la sensación térmica compuesta por la temperatura y la humedad, y usará también los datos de la temperatura interior. De esta forma se intentará mejorar el confort de las personas que se encuentre en el espacio cerrado de donde se está controlando el sistema de climatización. Para ello se recurre a la lógica difusa obteniendo unos rangos difusos a partir de los cuales se decide en que momento es conveniente apagar el sistema de calefacción o de aire acondicionado y en que momentos es mejor modificar su potencia.

Page 120: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 8: Solución general

102

Para enmarcar esta solución dentro de la solución general se puede hacer una analogía entre los componentes de la solución general y los componentes de la solución específica. En esta solución específica, se usarán sensores de temperatura y de humedad como «objetos no inteligentes», a su vez, uno de los sensores de temperatura está conectado a un microcomputador Raspberry Pi que es análogo a un «objeto inteligente» y los sistemas de climatización también son análogos a varios «objetos inteligentes», varias plataformas de IoT de donde se obtiene los datos de las condiciones del exterior y el sistema desarrollado localizado en el dispositivo donde se encuentra el sensor de temperatura interior y que controla los sistemas de climatización como «inteligencias de apoyo» y los «agentes de socialización» serán servicios Web.

3. Familiarizar a las personas con el proceso de socialización de los objetos

Las soluciones que se han introducido hasta ahora no dejaban de ser sistemas automatizados en el que el usuario solo percibe información sin requerirla, ya sea porque se controlan los sistemas de climatización o porque se realiza una acción automatizada ante la presencia de una persona en el campo visual de una cámara IP. En estos contextos existe socialización entre objetos, pero se deja al margen a las personas. Sin embargo, la creación de sistemas con los que el usuario tenga que interaccionar es una tarea muy compleja puesto que no solo hay que tener en cuenta la usabilidad y la accesibilidad del sistema sino también la formación del usuario para utilizar este nuevo sistema. En esta tesis se plantean varias soluciones con las que el usuario puede socializar de una manera familiar puesto que hará uso de sus rutinas diarias ya fijadas. Para lograr que se de esta familiaridad se recurre a las redes sociales de personas como por ejemplo Twitter.

En esta tesis se plantean dos soluciones que hace uso de Twitter como canal de comunicación entre las personas y el mundo de IoT. Y, además, una de estas soluciones no solo permite a las personas socializar con los objetos, sino que hace que los propios objetos se comuniquen entre sí a través de las redes sociales enfocada hacia personas como Twitter y que esta nueva forma de socializar objetos entre sí pueda ser aprovechada para nuevas aplicaciones mediante el uso de la Ingeniería Dirigida por Modelos y un nuevo lenguaje de dominio específico que facilitará la generación de aplicaciones para distintas plataformas.

Como se acaba de introducir, una de estas soluciones plantea un sistema que permite crear aplicaciones que automaticen tareas en las que según los valores de los datos de sensores localizados en el mismo dispositivo o en varios dispositivos distintos y remotos, se realicen diversas acciones de distintos actuadores localizados en el mismo dispositivo o en otros dispositivos conectados. Para ello, los datos de los sensores se publican en Twitter de manera que cualquier objeto pueda usar esos datos. Pero no solo se permite la lectura de datos de sensores, sino que a través de mensajes en las redes sociales se pueden controlar los actuadores de diversos dispositivos. De hecho, un dispositivo sin actuadores ni sensores puede automatizar una tarea en la que el dispositivo lea los datos de un sensor que está publicando los datos en Twitter y cuando se den ciertas condiciones se invoquen acciones del actuador de otro dispositivo a través de mensajes

Page 121: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 8. Solución general

103

en Twitter. Además, esta solución permite a las personas formar parte de la cadena de mensajes, dándoles la oportunidad de comunicarse con los actuadores para realizar acciones a través de mensajes o leer datos publicados por los sensores. Es decir, los usuarios ya están familiarizados con el sistema de comunicación tanto para controlar actuadores como para acceder a información de los sensores.

Para enmarcar esta solución dentro de la solución general se puede hacer una analogía entre los componentes de la solución general y los componentes de la solución específica. En esta solución específica, todos los objetos donde estén implantadas las aplicaciones generadas por el sistema serán «objetos inteligentes» y aquellos sensores o actuadores que tengan conectados serán «objetos no inteligentes», las aplicaciones generadas por el sistema presentado son la «inteligencia de apoyo» y los «agente de socialización» serán las Redes Sociales.

La otra de estas dos soluciones permite a usuarios de redes sociales hacer preguntas a un sistema usando su propio lenguaje natural. Estas preguntas se trasladarán a una red de objetos inteligentes para recuperar toda la información que sea precisa y responder al usuario en un lenguaje similar al lenguaje natural. A diferencia de la solución anterior, los objetos no se comunicarán por las redes sociales, sino que tendrán su propia red ya sea a través de plataformas IoT o servicios web independientes. Sin embargo, para el usuario esto será transparente ya que solo se comunicará con el agente inteligente encargado de entender las peticiones, traducir las consultas a la red de objetos y contestar a partir de los datos obtenidos. De esta manera, el acceso a información es completamente familiar para los usuarios ya que tendrán la sensación de interactuar con otro usuario de las redes sociales.

Para enmarcar esta solución dentro de la solución general se puede hacer una analogía entre los componentes de la solución general y los componentes de la solución específica. En esta solución específica, todos los objetos conectados al sistema son los «objetos», el propio sistema que procesa las solicitudes de los usuarios y genera las respuestas a partir de los datos obtenidos de los objetos conectados es la «inteligencia de apoyo» y los «agente de socialización» serán las Redes Sociales a través de las que se comunican las personas con el sistema y los servicios Web que conecta el sistema a los objetos de donde se obtiene la información.

4. Socialización de objetos para lograr tareas en común

Por último, se plantea una solución que haga uso de muchas de las soluciones propuestas de manera conjunta formando un único sistema que pueda utilizar la información recopilada y analizada por cada sistema. En esta solución se plantea la simulación del sistema humano de los 5 sentidos, utilizando diferentes soluciones para cada sentido. De esta manera, la solución específica en el campo de la seguridad que usa visión por computador haría el papel del sentido de la vista, la solución específica en el campo de la habitabilidad que hace uso de la lógica difusa para controlar el sistema de climatización según las condiciones ambientales haría el papel del sentido del tacto y una de las soluciones enmarcadas dentro la búsqueda de familiarizar a las personas con el proceso de socialización de los objetos se usaría como centro neurológico del sistema encargado de recopilar todos los datos, procesarlos, automatizar tareas,

Page 122: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 8: Solución general

104

orquestar los sistemas, etc. Los sentidos que quedan no se olvidan, solo que no se han llevado a cabo todavía soluciones específicas para abarcar los tres sentidos pendientes. En el apartado en el que se hable de esta solución específica se introducirá un prototipo realizado para el sentido del olfato y se propondrán otras soluciones para el sentido del gusto y el oído.

Una vez creados todos los subsistemas, la información recopilada por cada uno se podrá procesar junto a la información de los demás subsistemas como si de un único sistema se tratara. Con toda esta información de distinta naturaleza se podrán puede tomar mejores decisiones ante los mismos estímulos.

Para enmarcar esta solución dentro de la solución general se puede hacer una analogía entre los componentes de la solución general y los componentes de la solución específica. En esta solución específica, todos los objetos conectados a los diferentes subsistemas serían «objetos», y cada solución contaría con su propia «inteligencia de apoyo» y usaría los «agentes de socialización» oportunos. Sin embargo, si se considera la solución completa como un único sistema, los «objetos» serían cada uno de los subsistemas, el sistema central sería la «inteligencia de apoyo» y el «agente de socialización» sería el medio de comunicación utilizado para conectar cada subsistema al sistema central, ya sea usando Redes Sociales o servicios Web.

Page 123: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

105

CAPÍTULO 9. SOLUCIONES ESPECÍFICAS Y PROTOTIPOS

En el capítulo anterior se ha presentado la solución general propuesta por esta tesis y compuesta a su vez por diversas soluciones específicas. En este capítulo se mostrarán estas soluciones específicas generadas cumpliendo con lo establecido en la solución general y los prototipos asociados. La temática de esta tesis doctoral es la socialización de objetos inteligentes, y, por tanto, los tipos de soluciones específicas giran en torno a ese concepto.

Los agentes que pueden intervenir en las soluciones especificas son los propios objetos inteligentes o las personas. Las soluciones específicas que más adelante se presentan se agrupan en dos tipos de socialización:

• Socialización de objetos inteligentes entre sí.

• Socialización de objetos inteligentes con personas.

Entre las soluciones y prototipos que se presentan cabe destacar una de ellas dentro de la socialización de objetos inteligentes con personas. Esta solución, catalogada como Redes Sociales como canal de socialización, es la solución más extensa y amplia pues ha sido la solución elegida como eje central de esta tesis doctoral puesto que involucra tanto a las personas como a los objetos y permite la comunicación entre objetos a través de redes sociales logrando entonces una socialización similar a la socialización entre personas, a la vez, que se facilita la comunicación de las personas y los objetos.

A continuación, se presentarán varias soluciones específicas siguiendo la siguiente estructura siempre y cuando sea posible abarcar todos los puntos:

1. Introducción: Se introducirá la solución propuesta indicando las hipótesis que pretenden validar.

2. Descripción de la solución propuesta. 3. Evaluación y discusión. 4. Conclusiones obtenidas. 5. Trabajo futuro: Propuestas de trabajo a realizar a partir de la solución

propuesta.

1. Socialización de objetos Inteligentes entre sí

El primer tipo de soluciones específicas que se proponen engloba aquellas soluciones que abordan la socialización de objetos inteligentes entre sí.

En los siguientes apartados, se describirán tres soluciones donde objetos inteligentes socializan entre sí. En las dos primeras soluciones se aplicará inteligencia artificial a los resultados obtenidos en un proceso de socialización, usando visión por computador en una, y lógica difusa en otra, y en la tercera solución se propondrá una sociedad de objetos inteligentes que colaborará para obtener fines comunes.

Page 124: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

106

A lo largo de este subapartado se abordarán los grupos de soluciones ya mencionados:

• Inteligencia Artificial aplicada a los resultados de un proceso de socialización.

• Sociedad de objetos inteligentes con fines comunes.

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

El primer grupo de soluciones que abordan la socialización de objetos inteligentes entre sí está formado por dos soluciones específicas distintas que abordan el problema de forma similar, aplicando inteligencia artificial a los resultados del proceso de socialización.

En los prototipos de estas dos soluciones que se presentarán a continuación, se aplica visión por computador y lógica difusa a los datos que se obtienen tras un proceso de socialización de objetos inteligentes. En el primer caso se aplica visión por computador a imágenes obtenidas de una cámara IP y en el segundo caso se aplica lógica difusa a diferentes resultados obtenidos de diferentes sensores de Internet de las Cosas

1.1.1. Visión por computador aplicada a las imágenes obtenidas de una cámara IP

En esta solución específica se aborda la posibilidad de usar imágenes como si fueran sensores de Internet de las Cosas mediante la aplicación de visión por computador.

Actualmente, las personas hacen uso de cámaras IP para intentar mantener seguras ciertas zonas, ciudades u hogares. Sin embargo, este Sistema implica que se tengan que revisar las imágenes cuando algo ocurra o que alguien esté visualizando las grabaciones en directo para detectar cualquier fenómeno extraño. A través de Internet de las Cosas debería ser posible automatizar el uso de las cámaras IP. En esta solución se propone el análisis de las imágenes de una cámara IP mediante visión por computador para detectar la presencia de personas en ellas. A partir de este análisis se podrán obtener dos posibles valores por cada imagen analizada, si hay una persona o no. Es decir, se tratan las imágenes como sensores con dos posibles estados.

Sin embargo, el campo de la visión por computador entraña varias dificultadas que implica que no solo se busque poder usar las imágenes como datos binarios de un sensor, sino que también hay que buscar que la precisión del análisis de por computador sea lo bastante preciso como automatizar o semi-automatizar tareas en función de los datos de las imágenes.

En los siguientes apartados de abordará en profundidad esta solución específica propuesta comenzando con una introducción mas extensa a la solución, seguida de la descripción de la solución propuesta y el prototipo desarrollado, la evaluación y discusión realizada, las conclusiones obtenidas y finalizando con el trabajo futuro planteado.

1.1.1.1.Introducción

La era actual es la era de la información donde las personas disponen de muchos dispositivos con acceso a Internet en su día a día, capaces de hacerles la vida más fácil como los smartphones, tablets, PCs, coches inteligentes, Smart TVs, y un largo etcétera

Page 125: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

107

de dispositivos inteligentes. Cada día aparecen más dispositivos de este tipo y las conexiones a Internet mejoran (Telefónica, 2017) permitiendo nuevas funcionalidades. Todos estos dispositivos son capaces de ejecutar programas que aprovechen diferentes tipos de sensores, realizar tareas programadas como crear alarmas o mostrar notificaciones, encender o apagar dispositivos, y muchas otras funcionalidades. Estos dispositivos son los que se conocen como Objetos Inteligentes (González García, Meana Llorián, et al., 2017).

Los Objetos Inteligentes, por si solos, brindan muchas funcionalidades, pero, aún brindan más opciones si estos objetos se interconectan consigo mismos y/o con otros objetos como sensores, actuadores, ordenadores, microcontroladores, etc. A esta interconexión, se le llama Internet de las Cosas. IoT permite crear redes de diferentes tamaños a través de las cuales se puede obtener una inteligencia colectiva formada por la capacidad de procesamiento de información de los objetos que las engloban. Ejemplos de IoT son las Smart Towns que hacen uso de IoT para preservar su cultura, tradiciones y herencias en pequeñas ciudades y pueblos (Jara et al., 2015), y los hogares inteligentes o Smart Homes que permiten automatizar y controlar diferentes elementos de las casas como las puertas, las ventanas, la luz, el frigorífico (Gu & Wang, 2009), los sistemas de riego, etc. Incluso algunos gobiernos usan IoT para controlar y cuidar de la mejor manera posible la Tierra logrando así una Smart Earth (Hao et al., 2012) que permita afrontar diferentes peligros como incendios, terremotos, tsunamis o inundaciones.

Todos estos ejemplos de uso de IoT necesitan un sistema central que controle y gestione los objetos, los datos recopilados, y en muchos casos, cree inteligencia para tomar decisiones, es decir, son necesarias las plataformas de IoT.

En la actualidad existe plataformas de IoT para muchos usos diferentes como ya se ha mostrado en el Capítulo 3.2: plataformas empresariales, plataformas de investigación, plataformas open source, y muchas otras. Todas comparten características similares ya que permiten trabajar con objetos e interconectarlos y algunas ofrecen una API para facilitar estos trabajos.

Un uso muy interesante de IoT es el reconocimiento de personas a través de visión por computador. Aplicando visión por computador, una plataforma de IoT podría ofrecer servicios o sistemas de seguridad a ciudades u hogares inteligentes ya que se podrían reconocer personas que se encuentren en ciertas localizaciones y momentos temporales que pueden entrañar un peligro. Por ejemplo, podría tratarse de un ladrón o de una persona peligrosas para en entorno como un pirómano. Incluso podría ser posible obtener esta funcionalidad sin estar vigilando continuamente las cámaras y revisando solo las imágenes críticas. La investigación presentada en (Murphy et al., 2015) muestra el uso de sensores para obtener información y en caso de cumplir ciertas condiciones, realizar la toma de imágenes. La misma idea se aplica en (Jara et al., 2015) para proteger las costumbres o culturas de las Smart Towns. Aún así, tanto uno como otra, no aplican visión por computador porque, aunque capturan las imágenes solo bajo ciertas condiciones, es necesaria una persona que compruebe esas imágenes y evalúe la situación.

Por todo esto, en esta tesis se presenta una solución que aplica visión por computador a las imágenes recuperadas de una cámara IP a través de una plataforma

Page 126: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

108

IoT. Es decir, se va a aplicar Inteligencia Artificial a los resultados obtenidos de la socialización de una cámara IP y una plataforma IoT. Por tanto, esta primera solución plantea la respuesta a la siguiente hipótesis: «Las imágenes de una cámara IP pueden ser tratadas como datos de un sensor binario mediante la aplicación de visión por computador con la suficiente precisión para automatizar o semi-automatizar tareas, integrando así la visión por computador en Internet de las Cosas».

En la solución que se presenta más adelante se darán respuestas a las hipótesis planteadas mediante la creación de un módulo de visión por computador y su integración en una plataforma IoT, en este caso se usará la plataforma Midgar (González García, Pascual Espada, et al., 2014; González García, Pelayo G-Bustelo, et al., 2014). Se ha desarrollado un modulo de visión por computador y adaptado la plataforma Midgar para ser compatible con el módulo creado.

Para abordar la hipótesis planteada en esta solución, se usó una cámara IP conectada a la plataforma IoT y se tomaron diferentes imágenes para comprobar la funcionalidad desarrollada. Las imágenes se tomaron en el interior de la Facultad de Ciencias de la Universidad de Oviedo y se procesaron por lotes con el módulo desarrollado para obtener la precisión lograda. Además, para poder mejorar la detección de personas, se analizan secuencias de imágenes completas en vez de analizar una única imagen. De esta manera se evitan fallos debido a imágenes sueltas donde el movimiento impida el reconocimiento de las personas.

1.1.1.2.Descripción de la solución propuesta

En este apartado se presenta la solución propuesta para la integración de visión por computador en una plataforma IoT que permita el análisis de imágenes tomadas por una cámara IP y usar así, esas imágenes como si fueran datos de un sensor más de la plataforma. La plataforma escogida ha sido Midgar, plataforma desarrollada en el mismo grupo de investigación donde se ha realizado esta tesis doctoral.

En los siguientes subapartados se describen los cambios que han sido necesarios realizar sobre la plataforma Midgar para conseguir integrar el módulo de visión por computador que se ha desarrollado.

1.1.1.2.1. Arquitectura de Midgar

La plataforma de IoT usada en esta solución específica, Midgar, está compuesta por las siguientes cuatro capas:

1. Process Definition. 2. Service Generation. 3. Data Processor y Object Manager. 4. Objects.

El módulo de visión por computador desarrollado se ha introducido en la tercera capa y se han modificado el resto de las capas para dar soporte a la nueva funcionalidad. A continuación, se detallan de forma resumida las cuatro capas que componen Midgar haciendo referencia a la Figura 6, donde se presenta de forma gráfica la arquitectura de Midgar.

La primera capa es la capa de definición de procesos (Process Definition). Esta capa contiene los procesos del usuario y es la única de las cuatro capas con la que los usuarios del sistema interaccionan. En esa interacción, el usuario (1) define el proceso que

Page 127: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

109

necesite usando un lenguaje de dominio específico (2) llamado Midgar Object Interconnection Specific Language (MOISL) desarrollado mediante el uso del canvas de HTML5 (González García, Pelayo G-Bustelo, et al., 2014). Una vez que el usuario finalice la definición del proceso e indique al editor que se genere el proceso, el editor generará el modelo serializado (3) en un fichero XML. Este modelo serializado contiene toda la información sobre el modelo que la segunda capa necesita para generar el proceso activo.

La segunda capa, la de generador del servicio (Service Generation), recibe el modelo serializado de la primera capa. En esta capa se procesa el modelo serializado a través del procesador (4) finalizando con la creación, compilación y ejecución del proceso activo que interconecta los objetos (5).

La tercera capa es la capa encargada de procesar datos y gestionar objetos (Data Processor and Object Manager). En esta capa, el proceso activo se mantiene en ejecución en el servidor mientras esté realizando las tareas definidas por el usuario. Este proceso mantiene una comunicación continua y directa con el almacén (6) de Midgar (Midgar Store). Este almacén es el núcleo de Midgar puesto que contiene la base de datos con los servicios, objetos, acciones y datos recopilados.

La cuarta y última capa es la capa que contiene los objetos como la cámara IP que se usa en esta solución. Estos objetos implementan una interfaz de mensajería para permitir una conexión permanente y bidireccional con el servidor (7).

En el caso particular de la solución que se está planteando, no es posible implementar la interfaz de mensajería en la cámara IP utilizada puesto que integra un software

Figura 6. Arquitectura de la plataforma Midgar con el módulo de visión por computador

Page 128: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

110

propietario cerrado a modificaciones, aunque si es capaz de enviar las imágenes usando el protocolo HTTP. Por tanto, se ha modificado la tercera capa de la arquitectura de Midgar para que se admita la entrada de datos usando servicios WEB basados en la arquitectura REST. Cuando la cámara envíe imágenes al nuevo servicio WEB de Midgar debido a que ha identificado la presencia de movimiento, la plataforma identifica los datos recibidos como imágenes gracias al MIMEtype y los reenvía al módulo de visión por computador (8) que se ha desarrollado e incorporado en la tercera capa. El módulo de visión por computador puede entonces analizar las imágenes recibidas y responder si se han localizado los objetos que se pretendían identificar, por ejemplo, personas.

1.1.1.2.2. Implementación de la solución

A continuación, se explicarán las modificaciones realizadas sobre la implementación de Midgar. Para ello, primero se detallará el flujo de trabajo a través de las diferentes capas, y tras ello, se describirán las funcionalidades del módulo de visión por computador desarrollado y su interconexión con Midgar. Por último, se tratarán las funcionalidades que la cámara IP ofrece.

A. Flujo de trabajo de Midgar

El flujo de trabajo de Midgar es similar al que se muestra en el trabajo donde se presenta el desarrollo de Midgar (González García, 2013) ya que lo que se ha realizado es desarrollar un nuevo modulo que no altera el resto del flujo, y solamente en el caso de que Midgar reciba imágenes a través de su servicio WEB se modifica el flujo normal de trabajo.

Por ejemplo, si se usa un objeto como Arduino o cualquier otro objeto que permite la ejecución de aplicaciones para conectarse a Midgar, el objeto puede comunicarse con Midgar usando el estilo estándar de Midgar basado en XML. Sin embargo, como la cámara IP usada no permite modificaciones en su software, al igual que las mayorías de cámaras IP, se ha habilitado un servicio web al que la cámara manda las imágenes cuando detecte movimiento y que analiza el MIMEtype para identificar si lo que recibe son imágenes o no.

En la Figura 7, se muestra el flujo de trabajo de Midgar, donde se observa que la fuente de datos puede ser tanto una imagen como un mensaje en XML. Si los datos son XML se procesan siguiendo el flujo normal de trabajo de Midgar y si son una imagen se realiza un nuevo flujo en el que interviene el módulo de visión por computador.

Figura 7. Flujo de trabajo de Midgar

Page 129: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

111

El flujo de trabajo cuando Midgar recibe una imagen, comienza con el almacenamiento de forma temporal de la imagen a la espera de recibir más imágenes que formen una secuencia de movimientos. Si durante 5 segundos no se recibe una imagen nueva se interpreta que ya ha finalizado la secuencia de movimientos y se traslada la secuencia completa al modulo de visión por computador. Entonces, el módulo analiza el contenido completo de la secuencia buscando personas en, al menos, una de las imágenes que componen la secuencia.

De esta forma, al analizar secuencias completas en vez de imágenes individuales se debería mejorar la precisión, puesto que una imagen puede estar borrosa o contener artefactos que impidan la detección de una persona incluso cuando sí haya personas en la imagen. Sin embargo, al analizar la secuencia completa, con que en una de las imágenes ya se detecte una persona, se interpreta que en la secuencia se han identificado personas.

Si el módulo encuentra una o mas personas, notificará a Midgar la presencia de personas con un mensaje de «True», y en caso contrario «False». Finalmente, Midgar almacenará la respuesta del módulo en la base de datos como si de un resultado binario de un sensor se tratara, es decir, solo son posibles dos valores, se han detectado o no personas.

B. Módulo de visión por computador

La solución tomada para lograr el uso de visión por computador en la plataforma de IoT Midgar, ha sido la de desarrollar un modulo independiente que finalmente se ha integrado en la plataforma. El haber desarrollado el módulo como un sistema independiente permite realizar diferentes pruebas de funcionamiento modificando pocos parámetros y sin la necesidad de usar la plataforma Midgar al completo.

El módulo de visión por computador se ha desarrollado usando el lenguaje de programación Python con el fin de usar la librería Open CV para reconocer cuerpos. A su vez, la librería de Open CV tiene una dependencia más, la librería Numpy.

El flujo de trabajo del módulo desarrollado consiste en cargar una imagen de un fichero, convertirla a un array de bytes, transformarla a escala de grises, y usar la librería OpenCV para detectar el número de cuerpos en la imagen. Si se detecta algún cuerpo, el módulo dará como resultado el valor booleano «True» y sino, dará como resultado el booleano «False». Sin embargo, la precisión no era la esperada al aplicar el módulo sobre una única imagen obteniendo falsos negativos. Para mejorar esa precisión se ha decidido usar una secuencia de imágenes en vez de una única imagen. De esta manera se logra mejorar la precisión para detectar movimientos peligrosos.

El uso de OpenCV es parametrizado, es decir, es necesario indicar ciertos parámetros para que funciones correctamente. El primer parámetro especifica el factor de escala y es necesario para crear la escala piramidal que el algoritmo usa para buscar objetos en diferentes grupos y que se ha ajustado al valor «1.01». El segundo parámetro es el número mínimo de objetos próximos que se tienen que detectar para identificarlos a todos como uno solo. Este segundo parámetro se ha ajustado al valor «15». Por último, el tercer parámetro que usa OpenCV es el tamaño mínimo que se le puede dar a una ventana de detección, es decir, que no se deben buscar cuerpos dentro ventanas de tamaños inferiores. Este valor se ha ajustado con el valor «200, 200».

Page 130: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

112

Hay que tener en cuenta que estos valores son dependientes del contexto, y, por tanto, aunque hayan sido válidos en este escenario pueden no serlo en otro y deben ser ajustados al nuevo contexto. OpenCV también necesita un fichero externo en formato XML que contiene las características del objeto a buscar y al que se puede llamar modelo de clasificación. En el prototipo desarrollado para esta solución se ha usado uno de los modelos de ejemplo de OpenCV que permite detectar la parte superior de cuerpos de personas. El fichero se llama «haarcascasde_upperbody.xml». Si se quisiese detectar otro tipo de objeto, sería necesario crear nuevos modelos extrayendo las características que identifican al objeto.

El modelo usado es un ejemplo de uso de la librería, y, por tanto, su precisión es bastante baja. Para mejorar esa precisión, habría que entrenar un nuevo modelo que requeriría una gran cantidad de información inicial. Para la construcción del prototipo que presenta esta solución, se ha decidido no entrenar un nuevo modelo sino mejorar la precisión mediante el análisis de secuencias de movimiento en vez de una única imagen.

Para poner a prueba el módulo desarrollado que integra visión por computador, se ha desarrollado otro modulo que evita usar Midgar en la fase de pruebas. Este nuevo módulo, también desarrollado en Python y usando la librería Flask, recibe imágenes de la cámara, y realiza llamadas al módulo de visión por computador, pero cambiando el resultado final. En este caso, en vez de recibir simplemente un valor booleano, se guardan las imágenes en un directorio junto a una nueva imagen donde se identifica el cuerpo encuadrado en un rectángulo verde. Con esta nueva información se realizará la evaluación de esta solución.

C. Cámara IP utilizada

La cámara IP que se ha usado para el desarrollo del prototipo de esta solución ha sido la Canon VB-S30D, actualiza a la versión del firmware 1.2 del 26 de mayo del 2015. Al hablar de esta cámara se está hablando de un objeto inteligente ya que es capaz de procesar las escenas que está captando y tomar decisiones de acuerdo con los resultados que obtiene. Por ejemplo, es capaz de hacer streaming de lo que está captando, de enviar notificaciones vía email cuando la propia cámara detecte algún cambio en la escena, es decir, cuando detecte movimiento, e incluso es capaz de enviar las imágenes relacionadas con ese movimiento detectado a un servicio web.

En la Figura 8 se muestra los cinco tipos de detección que ofrece la cámara.

• Moving Object Detection: Detecta cualquier tipo de movimiento que ocurra en el campo de visión de la cámara.

• Abandoned Object Detection: Detecta la aparición de nuevos objetos que se quedan fijos durante un largo tiempo interpretando que alguien los ha abandonado en el campo de visión de la cámara.

• Removed Object Detection: Este tipo de detección es contario al tipo anterior. Detecta la desaparición de un objeto durante un largo tiempo interpretando que alguien lo ha quitado del campo de visión de la cámara.

• Camera Tampering Detection: Detecta un cambio en la escena identificable con una manipulación de la posición de la cámara.

• Step Detection: Detecta un movimiento sobre una línea especifica que se puede dibujar en la interfaz de usuario de la cámara.

Page 131: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

113

Los cinco tipos de detección son configurables y permiten enviar información a un servicio o emails solo cuando la escena haya cambiado. Por tanto, es posible trabajar de dos formas distintas con la información capturada por la cámara: analizando en directo las imágenes tomadas, o analizando únicamente las imágenes que la cámara envíe en caso de activarse alguno de estos cinco tipos de detección.

Para integrar la cámara en Midgar, primero se ha configurado la cámara a través de su interfaz de usuario para que envíe las imágenes que capture cuando detecte movimiento a la dirección IP y puerto del servicio REST de Midgar, y tras esto se registra la cámara IP en la plataforma para que pueda ser seleccionada en MOISL. Después de esto, ya es posible seleccionar la cámara en MOISL, crear la interconexión y trabajar con la cámara dentro de Midgar.

1.1.1.2.3. Software y hardware usado

Para el desarrollo del prototipo de esta solución se ha usado el siguiente software:

• Midgar: o El servidor de Midgar está basado en Ruby 2.2.2p95 y usa el framework

Rails en su versión 4.2.1. o Thin web server 1.6.4. o MySQL Database 5.5.43. o El DSL gráfico, MOISL, se ha desarrollado usando el elemento «canvas»

de HTML5 y JavaScript. o El módulo de generación de aplicaciones se ha desarrollado usando Java

8.

• El modulo de visión por computador: o El modulo se ha desarrollado usando el lenguaje Python 3.4.3. o Se ha usado la librería OpenCV 3.0.0 para aplicar visión por computador

a las imágenes.

Figura 8. Interfaz de usuario de la cámara IP.

Page 132: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

114

o Se ha usado la librería Numpy 1.10.0 debido a que es un requisito de OpenCV.

o Se ha usado el framework Flask 0.10.1 para desarrollar un mini-server a evaluar el módulo.

o Modelo de OpenCV: ‘haarcascade_upperbody.xml’

• Cámara IP: o Canon VB-S30D con el firmware v.1.2.0 o Internet Explorer 11 para accede a la configuración de la cámara.

Para la evaluación del prototipo se han usado los siguientes componentes hardware:

• Un microcomputador Raspberry Pi 2 Model B como un servidor dedicado con Raspbian 1.4.1 como sistema operativo.

• Tres dispositivos Android: un Nexus 4 con Android 5.1.1, un Motorola con Android 2.2.2, y un Samsung Galaxy Mini S5570 con Android 2.3.6.

• Un microcontrolador Arduino Uno basado en ATmega328.

• Durante las diferentes pruebas se han usado diferentes actuadores como: un altavoz, un servomotor, un motor continuo, y varios LEDs.

1.1.1.3.Evaluación y discusión

En esta sección, se describirá en detalle la metodología seguida para evaluar las hipótesis y tras esto se presentarán los resultados obtenidos durante la evaluación.

La evaluación se ha dividido en dos fases: imágenes tomadas manualmente e imágenes tomadas automáticamente. La descripción de la metodología y los resultados se presentarán de forma separada para cada una de estas dos fases.

1.1.1.3.1. Metodología

El objetivo principal de esta evaluación es verificar la hipótesis planteada al introducir esta solución y que se puede dividir en los siguientes puntos:

• Se puede usar Visión por Computar en Internet de las Cosas.

• Se pueden usar las imágenes tomadas por una cámara IP como si fueran un sensor de Internet de las Cosas.

• Se puede obtener una buena precisión para automatizar o semi-automatizar el reconocimiento de escenas.

La posibilidad de usar visión por computador en Internet de las Cosas se ha demostrado en la sección anterior, Implementación de la solución. Por tanto, queda verificada la primera hipótesis.

Para validar la segunda y tercera hipótesis, se ha evaluado la precisión que logra el módulo de visión por computador para detectar personas. El proceso de evaluación se ha dividido en dos fases en las que se han uso imágenes con y sin personas con el fin de cuantificar el número verdaderos positivos (VP), falsos positivos (FP), verdaderos negativos (VN) y falsos negativos (FN). Con las imágenes sin personas se cuantificarán los FP y los VN, mientras que con las imágenes con personas se cuantificarán los VP y los FN. Para este proceso de evaluación se ha usado el módulo desarrollado que permite probar el módulo de visión por computador sin la interacción con Midgar, y obtener, además, las imágenes con la detección enmarcada en un rectángulo verde. Las dos fases de la evaluación son las siguientes:

Page 133: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

115

• Fase 1 – imágenes tomadas manualmente: en la primera fase, se han usado imágenes tomadas por la cámara IP dentro del laboratorio de forma manual. De esta forma, se analiza el módulo de visión por computador con imágenes individuales, sin ninguna relación con las demás.

• Fase 2 – imágenes tomadas automáticamente: en la segunda fase, se han usado secuencias de imágenes que la cámara IP ha enviado al módulo cuando detecta algún movimiento en el laboratorio con sus funciones de detección de movimiento. En este caso, las imágenes analizadas tienen relación entre sí ya que pertenecen al mismo movimiento. En esta fase, se pretende evaluar el módulo de visión por computador con secuencias de imágenes para comprobar si el análisis de imágenes relacionadas mejora la precisión de la detección.

Para ambas fases se ha usado el mismo modelo, un modelo que acompaña a OpenCV como ejemplo de modelo para detección de partes superiores de cuerpos de personas llamado «haarcascade_upperbody.xml».

Para la toma de las imágenes usadas en esta evaluación, se ha situado la cámara IP en el centro del laboratorio de investigación, en una posición en la que sea capaz de visualizar la puerta de entrada como se puede apreciar en la Figura 9.

A. Fase 1: imágenes tomadas manualmente

En esta primera fase se han tomado imágenes con y sin personas usando el modo manual de la cámara IP y guardándolas en carpetas separadas. Tras analizar cada carpeta con el módulo desarrollado, se ha obtenido una nueva carpeta dentro de cada una de las primeras, con las personas detectadas encuadradas en un rectángulo verde. Tras esto, se han revisado manualmente cada imagen anotando los resultados obtenidos puesto que los rectángulos verdes pueden marcar otros elementos en vez de personas y en cuyo caso se debe identificar como FP.

En esta fase se han tomado 160 imágenes de forma manual de las cuales en 64 imágenes contienen personas y en 96 imágenes no aparece personas. En la Figura 10 se

Figura 9. Ubicación de la cámara IP en el laboratorio

Page 134: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

116

muestra un ejemplo de tres imágenes tomadas por la cámara IP: en dos de ellas hay una persona y en la tercera no hay ninguna persona.

Tras haber tomado las imágenes, se han procesado usando el módulo de visión por computador desarrollado con el fin de calcular la precisión del módulo.

B. Fase 2: imágenes tomadas automáticamente

En la segunda fase, se ha configurado la cámara para enviar las imágenes a un servicio web cuando la propia cámara detecte algún movimiento en su campo de visión. En ese caso, la cámara envía la secuencia completa de imágenes desde el primer fotograma con movimiento hasta el último fotograma con movimiento. Una vez que se obtiene esa secuencia, se analizan todas las imágenes para detectar si hay una persona en alguna de las imágenes de la secuencia y así averiguar si este método es válido para tratar el conjunto de visión por computador y cámara IP como un sensor.

En la Figura 11 se muestran algunas imágenes de una de las secuencias tomadas, en la que se puede apreciar el inicio de la secuencia, las imágenes que se toman cada segundo y el fin de la secuencia de movimiento. La cámara usada es capaz de enviar desde una imagen por segundo (1fps) hasta treinta imágenes por segundo (30fps) y para esta evaluación se ha configurado para que envíe el máximo número posible de imágenes. Por tanto, el número de imágenes que componen la secuencia depende del tiempo que dure el movimiento que transcurre en el campo de visión de la cámara.

Para esta fase se han usado 979 imágenes divididas en 17 detecciones de movimiento o secuencias, de las cuales 8 secuencias, formadas por un total 817 imágenes, contienen personas y 9 secuencias, formadas por un total de 162 imágenes, no contienen personas. Es importante remarcar que las secuencias con personas contienen muchas imágenes sin la presencia de personas debido a que pueden contener solo parte del cuerpo o extremidades y aunque sean imágenes no válidas, forman parte de la

Figura 10. Ejemplo de imágenes tomadas por la cámara IP de manera manual

Figura 11. Ejemplo de secuencia de movimiento capturada por la cámara IP

Page 135: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

117

secuencia. Para obtener las secuencias sin personas se han movido diferentes objetos dentro del campo de visión de la cámara como pelotas, tazas, o distintos papeles.

1.1.1.3.2. Resultados

En esta sección se mostrarán los resultados obtenidos en ambas fases de la evaluación. Para ello se han diseñado dos tablas, una para cada fase, que contienen los resultados de usar el módulo desarrollado con las imágenes tomadas clasificados en cuatro grupos diferentes:

• Verdadero Positivo: imágenes en las que sí aparecen personas y el resultado

obtenido tras el uso del módulo de visión por computador indica que sí hay

personas. Es decir, la detección positiva es el resultado esperado.

• Falso Positivo: imágenes en las que no aparecen personas y el resultado

obtenido tras el uso del módulo de visión por computador indica que sí hay

personas. Es decir, la detección positiva no es el resultado esperado.

• Verdadero Negativo: imágenes en las que no aparecen personas y el resultado

obtenido tras el uso del módulo de visión por computador indica que no hay

personas. Es decir, la detección negativa es el resultado esperado.

• Falso Negativo: imágenes en las que sí aparecen personas y el resultado

obtenido tras el uso del módulo de visión por computador indica que no hay

personas. Es decir, la detección negativa no es el resultado esperado.

A continuación, en la fase 1, se describirán los resultados obtenidos con las imágenes tomadas de forma manual, y en la fase 2 se describirán los resultados obtenidos al usar el sensor de movimiento de la propia cámara para tomar secuencias de imágenes que se analizan conjuntamente.

A. Fase 1: imágenes tomadas manualmente

En la Tabla 1 se muestras los resultados obtenidos en la evaluación del uso de imágenes tomadas de forma manual. Se han usado 160 imágenes divididas en 64 imágenes con personas y 96 imágenes sin personas.

Imágenes con personas

(64 imágenes) Imágenes sin personas

(96 imágenes)

Resultado Positivo Verdadero Positivo

7 – 10.937% Falso Positivo

0 – 0%

Resultado Negativo Falso Negativo 57 – 89.062%

Verdadero Negativo 96 – 100%

Tabla 1. Resultados obtenidos con las imágenes tomadas manualmente

El análisis de la Tabla 1 sugiere las siguientes interpretaciones:

• De las 64 imágenes con personas, el módulo de visión por computador ha identificado que en 57 de esas imágenes no hay personas, es decir, se ha obtenido un índice de fracaso del 89.062% en la identificación de imágenes con personas.

Page 136: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

118

• El índice de éxito en la identificación de imágenes con personas es de solo el 10.937%, es decir, solo se ha identificado la presencia de personas en 7 imágenes de un total de 64 imágenes. Cabe resaltar que el módulo ha identificado personas en 9 imágenes y no en 7, pero se ha decidido marcar las dos imágenes que se muestran en la Figura 12 como falsos negativos debido a que el rectángulo verde que debería encuadrar a una persona marcaba otro objeto y no a la persona que aparecía en la imagen. Como se puede apreciar en la Figura 12, en la primera de las imágenes el módulo detecta el dibujo de la camiseta como una persona, y en la segunda de las imágenes, parece que el módulo interpreta la señal de extintor como la cabeza de una persona. En las otras imágenes, las personas que aparecen están borrosas, no están enfrente de la cámara o no contienen el cuerpo completo de la persona. En la Figura 13 se muestran 3 de las 7 imágenes que el módulo de visión por computador ha detectado dando el resultado de verdadero positivo.

• De las 96 imágenes sin personas, el módulo de visión por computador identifica que en ninguna de esas 96 imágenes hay personas. Este es la mejor precisión posible ya que se ha obtenido un índice de éxito del 100% en la identificación de imágenes sin personas.

• El módulo de visión por computador junto al modelo que se ha usado no muestra falsos positivos ya que se ha obtenido un índice de fracaso del 0% en la identificación de imágenes sin personas. Sin embargo, su precisión para identificar imágenes con personas es bastante baja.

B. Fase 2: imágenes tomadas automáticamente

En esta segunda fase, se han analizado imágenes que forman parte de 17 secuencias de las cuales, 8 secuencias son fruto del movimiento causado por personas y en las otras 9 no aparecen personas. El análisis que se ha realizado en este caso no es el de cada imagen de manera individual, sino que se ha analizado toda la secuencia como una única imagen.

Figura 12. Imágenes marcadas como falsos negativos por una mala detección.

Figura 13. Muestra de imágenes tomadas manualmente con verdaderos positivos

Page 137: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

119

En la Tabla 2 se muestran los resultados obtenidos tras aplicar el módulo de visión por computador desarrollado a las secuencias de imágenes.

Secuencias con personas

(8 secuencias) Secuencias sin personas

(9 secuencias)

Resultado Positivo Verdadero Positivo

8 – 100% Falso Positivo 1 – 11.111%

Resultado Negativo Falso Negativo

0 – 0% Verdadero Negativo

8 – 88.888%

Tabla 2. Resultados obtenidos con las secuencias de imágenes tomadas automáticamente

El análisis de la Tabla 2 sugiere las siguientes interpretaciones:

• De las 9 secuencias sin personas, el módulo de visión por computador identifica que solo en una de esas 9 secuencias hay personas. Se ha obtenido un alto índice de éxito, un 88.888%, en la identificación de secuencias sin personas.

• La secuencia que ha provocado el falso positivo solo tiene una imagen en la que se haya obtenido un falso positivo. En esa imagen, el módulo ha reconocido como a una persona un área que contiene un dedo pulgar borroso, una taza borrosa y una puerta. En la Figura 14 se puede ver esa imagen.

• De las 8 secuencias con personas, el módulo de visión por computador identifica que en todas esas secuencias hay personas. Este es la mejor precisión posible ya que se ha obtenido un índice de éxito del 100% en la identificación de secuencias con personas. Esto indica que el uso de secuencias de imágenes mejora la precisión del módulo.

• El módulo de visión por computador ha logrado obtener cero casos de falso negativo. Esto indica que el módulo ha detectado, en todas las secuencias, al menos una imagen en la que aparece una persona.

La Tabla 3 presenta información cobre cada secuencia: el nombre de la secuencia, si contiene personas o no, el total de imágenes tomadas por la cámara y que forman la secuencia, el número y el porcentaje de imágenes de la secuencia en las que el módulo ha detectado personas, y el resultado final obtenido del módulo.

Figura 14. Imagen causante del falso negativo

Page 138: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

120

Nombre ¿Contiene personas? Imágenes totales Imágenes con personas

Resultado Cuantía Porcentaje

C1 SI 78 1 1.282% Verdadero Positivo

C2 SI 229 7 3.056% Verdadero Positivo

D1 SI 53 15 28.301% Verdadero Positivo

D2 SI 49 9 18.367% Verdadero Positivo

D3 SI 54 22 40.740% Verdadero Positivo

D4 SI 207 5 2.415% Verdadero Positivo

L1 SI 84 6 7.142% Verdadero Positivo

L2 SI 63 2 3.174% Verdadero Positivo

C NO 12 0 0% Verdadero Negativo

F NO 35 0 0% Verdadero Negativo

M NO 9 0 0% Verdadero Negativo

P1 NO 7 0 0% Verdadero Negativo

P2 NO 35 0 0% Verdadero Negativo

P3 NO 17 0 0% Verdadero Negativo

SP NO 30 0 0% Verdadero Negativo

T NO 20 1 5% Falso Positivo

Tabla 3. Información sobre cada secuencia

El análisis de la Tabla 3 sugiere la siguiente interpretación:

• El porcentaje de detección no tiene relación con el número de imágenes sino con la calidad de estas: posición de las personas, definición, imagen con el cuerpo al completo y no solo una parte como un brazo o pierna, etc. Por ejemplo, la secuencia C2 está formada por 229 imágenes y solo se ha identificado personas en un 3.052% de ellas, mientras que, la secuencia D3 está formada por 54 imágenes y se ha detectado personas en un 40.740% de ellas.

1.1.1.4.Conclusiones

En las secciones anteriores se ha propuesto una posible solución a la aplicación de Inteligencia Artificial en los resultados de un proceso de socialización puesto que se ha propuesto el uso de visión por computador para detectar personas en las imágenes obtenidas de una cámara IP dentro de una plataforma de IoT. Es decir, se están detectando personas en las imágenes resultantes de la comunicación o socialización

Page 139: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

121

entre la cámara IoT y la plataforma Midgar como si el conjunto de la cámara y sus imágenes fuesen un sensor más de la plataforma. Esto abre la puerta a otras soluciones similares como la automatización de tareas al usar reconocimiento óptico de caracteres (OCR), detección de rostros o gestos, etc.

Se ha presentado una posible arquitectura para integrar un módulo de visión por computador en una plataforma de IoT, en este caso Midgar. El prototipo desarrollado o módulo de visión por computador, analiza imágenes o secuencias de imágenes y retorna a la plataforma IoT un valor booleano como si de un sensor binario se tratara indicando si ha detectado la presencia de una persona o no. Mediante las pruebas realizadas, se ha mostrado como si se usa un modelo débil, el modulo puede tener una baja precisión ya que se ha obtenido un 89.062% de falsos negativos en imágenes con personas al usar el módulo con imágenes sueltas. Pero hay que añadir que aún con un módulo débil se ha obtenido un 100% de verdaderos negativos en imágenes sin personas.

Sin embargo, siguiendo el planteamiento que se propone de usar secuencias de imágenes en vez de imágenes sueltas, se han obtenido resultados bastante más positivos: 100% de verdaderos positivos en las secuencias con personas y un 88.888% de verdaderos negativos en las secuencias sin personas. De todas formas, la precisión no ha sido perfecta ya que ha habido un falso positivo, pero es importante destacar que el objetivo de esta solución es detectar eventos importantes como ladrones o intrusos, y, por tanto, es menos malo obtener falsos positivos que falsos negativos. Claramente no es el mejor resultado, pero podría ser mejorado creando un nuevo modelo que garantice una mayor precisión y adaptado al contexto en el que se usa.

A partir de esta solución se puede concluir que es posible el uso de visión por computador en Internet de las Cosas y por tanto la aplicación de Inteligencia Artificial al resultado de la socialización de objetos dentro del marco de Internet de las Cosas. Además, se ha visto como el uso de secuencias en vez de imágenes sueltas, mejora el resultado permitiendo obtener una precisión adecuada con un modelo no bien ajustado. Aún así, con el uso de un buen modelo puede mejorar aún más la precisión, y en este caso evitar los falsos positivos.

La automatización es uno de los caminos a seguir en el mundo de Internet de las Cosas y a través de la visión por computador se pueden obtener nuevas funcionalidades que aumente el uso de Internet de las Cosas en el día a día de la población y se pueden crear nuevas formas de comunicar a las personas con su entrono. La investigación aquí presentada puede servir para mejorar la seguridad de los hogares, ciudades, o el mundo en general.

1.1.1.5.Trabajo futuro

Con la solución que se acaba de proponer se ha intentado introducir una pequeña mejora y solución a alguna de las necesidades del Internet de las Cosas. A partir de aquí hay muchos caminos que seguir para continuar avanzado en la investigación realizada. A continuación, se presentan varios puntos que se proponen como formas de continuar trabajando en esta solución:

• Crear un lenguaje de dominio específico usando MDE para facilita los pasos necesarios para detectar no solo personas en imágenes sino otros objetos mediante la extracción de las características y el entrenamiento del modelo necesario en una plataforma IoT.

Page 140: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

122

• Desarrollo de un sistema para controlar y definir diferentes acciones de una cámara IP: En la propuesta aquí planteada se ha usado la cámara como un sensor, pero también podría ser posible usarla como un actuador. Una posible solución a esta propuesta sería el desarrollo de una API que permita el control total de la cámara como su movimiento rotatorio, modificar su configuración, etc.

• Escalabilidad en las plataformas de Internet de las Cosas: La visión por computador requiere de muchos recursos computacionales. Por tanto, si la máquina que procesa las imágenes recibe una gran cantidad de ellas o hay varias cámaras que le manden imágenes, necesitará bastante más tiempo o recursos para poder procesarlas. Por tanto, otro posible trabajo sería el estudio de diferentes implementaciones en el lado de las plataformas IoT para lograr soportar el máximo número de cámaras IP o minimizar el número de imágenes que procesar.

• Reconocimiento óptico de caracteres o reconocimiento facial: Otros campos de la visión por computador son la detección de caracteres y el reconocimiento facial. Por tanto, un posible trabajo futuro podría ser automatizar puertas para que se abran cuando detecte determinados elementos en una tarjeta de identificación o reconozca la cara de personas autorizadas.

• Reconocimiento de gestos: En esta investigación se han analizado secuencias de imágenes para detectar personas, pero otra posibilidad podría ser analizar secuencias de imágenes para determinar cierto gesto que active la realización de una acción por parte de un actuador. Por tanto, un posible trabajo futuro sería el análisis de gestos para realizar determinadas acciones. De esta manera se usarían las imágenes como un sensor con diferentes resultados y no solo dos posibles resultados como en la solución aquí propuesta.

1.1.2. Lógica difusa aplicada a los resultados de diferentes sensores de IoT En esta solución específica se aborda la gestión inteligente del sistema de

climatización de una habitación considerando no solo la temperatura de la propia habitación sino también la temperatura exterior y la humedad mediante la aplicación de lógica difusa en datos obtenidos dispositivos y plataformas de Internet de las Cosas, logrando un ambiente mas agradable para las personas y un ahorro energético del 40% que implica, además, un ahorro económico.

El control de las condiciones ambientales de las ciudades puede ayudar a hacer que las localizaciones interiores tengan unas condiciones mas agradables para las personas. Una forma de mejorar las condiciones de los interiores es mediante un control eficiente de la temperatura. Sin embargo, lograr una temperatura interior confortable depende de muchos factores y no solo de las condiciones interiores, sino que depende también de la combinación de temperatura exterior y humedad. Esto quiere decir que lograr un buen ajuste de la temperatura interior no es tan sencillo como encender la calefacción, sino que hay que hacer cálculos más complejos. Por tanto, la lógica tradicional basada en estados binarios (si x entonces y) no se ajusta adecuadamente.

Hay muchos problemas que no pueden resolverse con un conjunto de soluciones binarias, sino que se necesita una nueva manera de desarrollar. La Lógica Difusa permite interpretar muchos estados y no solo dos, otorgando a los ordenadores la capacidad de reaccionar ante eventos de una forma más parecida a la de las personas.

Page 141: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

123

En los siguientes apartados de abordará en profundidad esta solución específica propuesta comenzando con una introducción mas extensa a la solución, seguida de la descripción de la solución propuesta y el prototipo desarrollado, la evaluación y discusión realizada, las conclusiones obtenidas y finalizando con el trabajo futuro planteado.

1.1.2.1.Introducción

Cada día se oye a más gente hablar de hogares inteligentes o Smart Homes (Gu & Wang, 2009; Hribernik et al., 2011), ciudades inteligentes o Smart Cities (Hao et al., 2012; Lea & Blackstock, 2014), e incluso de planeta inteligente o Smart Earth (Hao et al., 2012), además de muchos otros tipos de inteligencia distribuida a lo largo de objetos ubicuos y heterogéneos. Gracias a Internet de las Cosas es posible tomar decisiones basadas en una gran cantidad de información. Aunque, esta información no siempre es fácil de procesar ya que puede ser muy variada y confusa.

La forma en que las personas y los ordenadores toman decisiones es muy distinta ya que mientras que las personas usan las palabras, los ordenadores usan números (Nikravesh, 2007). Aunque la lógica que usan las personas pueda parecer más primitiva que la de los ordenadores, las personas son capaces de tomar mejores decisiones en el mundo real ante problemas inesperados. Por tanto, es lícito pensar que cambiar la forma de trabajar de los ordenadores para usar palabras en vez de números, podría servir para aumentar la capacidad de los ordenadores para afrontar problemas del mundo real (Nikravesh, 2007).

La capacidad humana para tomar decisiones sin computación se suele llamar «sentido común» y permite a las personas tomar decisiones rápidamente, aunque no siempre sean las mejores soluciones posibles. Un ejemplo de decisión errónea debido al sentido común es el pensamiento que antiguamente se tenía de que la Tierra era plana (Nikravesh, 2007). La lógica clásica permite a las personas resolver problemas bien definidos y acotados, mientras que el sentido común ayuda a resolver problemas de los que no se disponga de toda la información o esta sea imprecisa. Además, si no existiese el sentido común, y solo se puede hacer uso de la lógica clásica, las personas solo tomarían unas pocas decisiones a lo largo del día ya que pocas veces los problemas están bien definidos y toda la información es precisa.

En el campo de la computación, la lógica clásica funciona con conjuntos binarios de valores, el 0 cuando el valor que se quiere representar es «verdadero» y el 1 cuando el valor es «falso». Sin embargo, existe otra lógica, también dentro de la computación, que permite trabajar con rangos de valores que representan grados de verdad en una escala cuyos extremos son «completamente verdadero» y «completamente falso». Con está lógica, denominada lógica difusa (Cueva-Fernandez et al., 2015), la toma de decisiones de los ordenadores se aproxima a la toma de decisiones de las personas basada en el uso de palabras.

Un rango de valores permite disponer de más estados intermedios y, por tanto, tomar decisiones siendo conscientes de más información. Por ejemplo, gracias a la lógica difusa es posible optimizar cuando enviar datos recopilados a través de sensores a un servidor remoto (Cueva-Fernandez et al., 2015). Con la lógica tradicional solo existirían dos estados en este escenario, es el momento de enviar los datos o hay que esperar, mientras que, con la lógica difusa, podrían existir más estados que representen

Page 142: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

124

el mejor momento para enviar los datos al servidor y que datos se deben enviar según el estado.

La aplicación de la lógica difusa en el mundo de Internet de las Cosas puede aporta beneficios en el día a día de las personas. Por ejemplo, dentro de un negocio local, sería posible mejorar la administración de los sistemas de climatización que involucran tanto a sistemas de calefacción como de aire acondicionado, con el objetivo de adaptar las condiciones del interior del negocio acorde a las condiciones climatológicas del exterior. Si este ejemplo se extrapola a las ciudades, se podría conseguir una «Smart City» donde la temperatura de los interiores estaría adaptada a las condiciones ambientales exteriores. El uso de la lógica difusa puede ayudar a decidir en que momento se debe calentar o enfriar el ambiente teniendo en cuenta las condiciones del exterior.

De esta manera, la lógica difusa podría ayudar a recudir el gasto energético de los edificios para conseguir edificios de energía cero o zero energy buildings (ZEBs). Los ZEBs son parte del camino a seguir para lograr las Smart Cities (Kylili & Fokaides, 2015).

En el mundo de Internet de las Cosas hay diversas plataformas que permiten tanto publicar datos de nuestros sensores como consumir datos de otros sensores ajenos al usuario que los está consumiendo, es decir, de terceros. Mediante estos datos y la aplicación de lógica difusa sería posible alcanzar un objetivo como el planteado unas líneas atrás, es decir, mejorar la climatización de interiores aprovechando información de las condiciones exteriores.

En esta solución específica se aplica inteligencia artificial a datos recopilados por sensores del mundo de Internet de las Cosas. Concretamente, el objetivo de esta propuesta es el desarrollo de un prototipo que combine lógica difusa, Internet de las Cosas y plataformas de Internet de las Cosas de donde el prototipo pueda recopilar datos a los que aplicar lógica difusa y automatizar el sistema de climatización de una ubicación concreta. Con el desarrollo de este prototipo, también se abordarán otros problemas del mundo de Internet de las Cosas como el ahorro energético y algunos puntos de la habitabilidad según (U.S. Department of Transportation, 2015). Las metas perseguidas en esta propuesta son las siguientes:

• Consumir datos de una plataforma online abierta de Internet de las Cosas.

• Consumir datos de sensores localizados en microcontroladores como Arduino o microcomputadores como Raspberry Pi, y trabajar con actuadores localizados en estos dispositivos.

• Usar reglas difusas para lograr un mejor rendimiento en la solución propuesta.

• Mantener la temperatura óptima en el interior de una habitación el mayor tiempo posible.

• Ahorro energético, que además influye en lograr un ahorro económico. • Alcanzar algunos puntos de la habitabilidad (U.S. Department of Transportation,

2015).

Por tanto, esta solución plantea la respuesta a la siguiente hipótesis: «La aplicación de la lógica difusa a datos obtenidos de plataformas de IoT permite mejorar la habitabilidad de un espacio cerrado mediante el control del sistema de calefacción y aire acondicionado, reduciendo el consumo energético, y considerando las condiciones ambientales exteriores.».

Page 143: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

125

En los siguientes apartados se detallará la arquitectura de la solución propuesta y se evaluará comparando los datos obtenidos con el nuevo prototipo y los datos de un planteamiento tradicional, además de indicar el software y hardware utilizado, las conclusiones obtenidas y el trabajo futuro que se puede realizar a partir de esta propuesta.

1.1.2.2.Descripción de la solución propuesta

La solución específica que se propone en este apartado consiste en un sistema capaz de controlar de manera automática la temperatura de una ubicación específica usando lógica difusa al que se le ha denominado IoFClime. Para esta propuesta se ha desarrollado un prototipo integrado en el mundo de Internet de las Cosas, ya que consume datos de sensores instalados en microcontroladores y microcomputadores, y de plataformas de Internet de las Cosas. Además, el microcomputador que se usa en este prototipo no solo consume datos, sino que también controla actuadores que simulan el control de temperatura mediante cinco LEDs, como se muestra en la Figura 15, que representan los siguientes cinco estados en una habitación cerrada:

• La temperatura es muy alta y el sistema de aire acondicionado está funcionando a máxima potencia. Este estado se representa con dos LEDs amarillos.

• La temperatura es alta y el sistema de aire acondicionado está funcionando a una potencia normal. Este estado se representa con un único LED amarillo.

• La temperatura es la adecuada y tanto el sistema de calefacción como el sistema de aire acondicionado están apagados para mantener esa temperatura. Este estado se representa con un LED azul situado en el medio.

• La temperatura es baja y el sistema de calefacción está funcionando a una potencia normal. Este estado se representa con un único LED rojo.

• La temperatura es muy baja y el sistema de calefacción está funcionando a máxima potencia. Este estado se representa con dos LEDs rojos.

1.1.2.2.1. Control de la temperatura

El prototipo desarrollado usar tres valores de entrada de diferentes fuentes del mundo de Internet de las Cosas para tomar las decisiones sobre el control de la temperatura:

• Humedad exterior.

• Temperatura exterior.

• Temperatura interior.

Figura 15. Los cinco LEDs que simulan el control de temperatura.

Page 144: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

126

El prototipo estima la sensación térmica del exterior usando la humedad exterior, la temperatura exterior y reglas difusas. Estas reglas difusas se basan en los valores de la tabla mostrada en la Figura 16 donde se calcula la sensación térmica a partir de la temperatura y de la humedad. La salida que se obtiene de las reglas difusas son un conjunto de valores que indican el grado de verdad de siete variables lingüísticas que se usan para representar la sensación térmica. Las variables lingüísticas usadas son los siguientes conjuntos difusos:

• Extremadamente baja: Sensación térmica entre -15ºC y -5ºC.

• Muy baja: Sensación térmica entre -7ºC y 3ºC.

• Baja: Sensación térmica entre 0ºC y 18ºC.

• Normal: Sensación térmica entre 14ºC y 24ºC.

• Alta: Sensación térmica entre 22ºC y 30ºC.

• Muy alta: Sensación térmica entre 28ºC y 38ºC.

• Extremadamente alta: Sensación térmica entre 35ºC y 50ºC.

La humedad, la temperatura exterior y la temperatura interior también se han definido usando variables lingüísticas con el fin de aplicar lógica difusa. Las variables lingüísticas escogidas tanto para la temperatura exterior como para la temperatura interior son exactamente las mismas que las que representan la temperatura ambiente. Sin embargo, las que representan la humedad se corresponden con los siguientes conjuntos difusos:

• Muy baja: Humedad por debajo del 40%.

Figura 16. Sensación térmica según la temperatura y la humedad.

Page 145: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

127

• Baja: Humedad entre el 30% y el 60%.

• Normal: Humedad entre el 50% y el 70%.

• Alta: Humedad entre el 60% y el 80%.

• Muy alta: Humedad por encima del 75%.

En la Figura 17 se muestra la distribución de las variables lingüísticas de la sensación térmica del exterior y en la Figura 18 la de la humedad exterior.

La humedad exterior se obtiene a través de una plataforma de Internet de las Cosas, la plataforma ThingSpeak, en formato JSON, mientras que la temperatura exterior se obtiene de un sensor de temperatura instalado en un microcontrolador Arduino Uno conectado a otra plataforma de Internet de las Cosas, la plataforma Midgar, que también publica los datos en formato JSON. Por último, la temperatura interior se obtiene a través de un sensor de temperatura instalado en un microcomputador Raspberry Pi 2, donde se está ejecutando el prototipo.

Tras estimar la sensación térmica del exterior, el prototipo IoFClime aplica reglas difusas a dos nuevos valores con el fin de determinar con que potencia deben trabajar los actuadores, es decir, el sistema de calefacción y/o el sistema de aire acondicionado. Estos dos nuevos valores a los que se les aplica las reglas son el centro de gravedad de la temperatura interior y el centro de gravedad de la sensación térmica exterior. El resultado o salida obtenida de estas reglas difusas se enmarcan en las variables difusas representadas con los siguientes conjuntos difusos y definen los cinco estados del sistema mencionados en líneas anteriores:

• Sistema de aire acondicionado funcionando a máxima potencia: Resultado menor de 15.

• Sistema de aire acondicionado funcionando a una potencia normal: Resultado entre 10 y 20.

• Sistema de calefacción y sistema de aire acondicionado apagados: Resultado entre 18 y 22.

• Sistema de calefacción funcionando a una potencia normal: Resultado entre 20 y 30.

• Sistema de calefacción funcionando a máxima potencia: Resultado mayor de 25.

A partir del grado de verdad de cada variable lingüística se calcula el centro de gravedad obteniendo así la acción a realizar. Cabe destacar que todos los valores establecidos en esta sección son fruto de la experiencia obtenida durante la investigación y que deberán ser ajustados a las condiciones de cada lugar.

Figura 17. Distribución de las variables lingüísticas para la sensación térmica del exterior.

Figura 18. Distribución de las variables lingüísticas para la humedad exterior.

Page 146: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

128

1.1.2.2.2. Arquitectura

La arquitectura de IoFClime se puede dividir en tres capas en el que cada capa depende de la capa anterior:

• Data collection o recopilación de datos.

• Data processor o procesador de datos.

• Actuators o actuadores.

La Figura 19 se muestran las tres capas y sus módulos. La primera capa se denomina recopilación de datos o Data collection y contiene los módulos encargados de recopilar los datos que posteriormente se procesarán de fuentes externas, como las plataformas de Internet de las Cosas, y locales, como el sensor instalado directamente en el microcomputador donde está desplegado el prototipo. La segunda capa se denomina procesador de datos o Data processor, y se encarga de procesar los datos recopilados en la capa anterior para tomar las decisiones adecuadas sobre como deben funcionar los actuadores. La tercera capa son los actuadores o Actuators. En esta última capa, se dirigen las decisiones tomadas en la capa anterior hacía los actuadores correspondientes para realizar la acción apropiada.

A. Recopilación de datos

Esta solución hace uso de diferentes plataformas de Internet de las Cosas con el fin de obtener un sistema adaptable a diferentes tipos de datos de distintos orígenes. El sistema creado, por tanto, sería capaz de procesar datos de cualquier plataforma realizando unos pocos cambios. En las pruebas realizadas se han utilizado dos plataformas de Internet de las Cosas, Midgar para la temperatura y ThingSpeak para la humedad.

Figura 19. Arquitectura del sistema.

Page 147: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

129

La plataforma Midgar, de donde se obtiene la temperatura exterior, es una plataforma que permite interconectar objetos inteligentes de forma sencilla sin necesidad de disponer de conocimientos de programación (González García, Pascual Espada, et al., 2014; González García, Pelayo G-Bustelo, et al., 2014). En la solución propuesta se usa Midgar para conectar un microcontrolador Arduino Uno con el prototipo mediante peticiones HTTP usando servicios web REST. Este microcontrolador Arduino tiene instalado un sensor de temperatura con el que se obtiene la temperatura exterior.

Para recolectar los datos sobre la humedad exterior, se ha usado otra plataforma de Internet de las Cosas, la plataforma ThingSpeak. Esta plataforma permite recopilar los datos de la humedad a través de peticiones HTTP. Estos datos provienen de otros usuarios de la plataforma que los han publicado con anterioridad.

IoFClime, no solo recopila datos de estas dos plataformas, sino que también usa datos de un sensor local. Se ha usado un microcomputador Raspberry Pi 2 para obtener los datos de la temperatura en el interior de la habitación donde se quiere controlar el sistema de calefacción y aire acondicionado, mediante un sensor de temperatura instalado en ella.

Antes de enviar los datos a la siguiente capa del sistema, se aplica un pre-procesado para transformarlos a un formato común que el procesador de datos pueda manejar.

B. Procesador de datos

El resultado que se obtiene de la capa anterior es un conjunto de valores formateados adecuadamente que representan la temperatura y humedad exterior, y la temperatura interior. Estos datos tienen que procesarse para decidir cual es la acción que el sistema debe realizar para lograr una climatización adecuada. Para este propósito, se han implementado dos módulos que procesan los datos externos y los datos locales. Los datos externos se corresponden con los datos obtenidos de las plataformas de Internet de las Cosas mientras que los datos locales se corresponden con los datos obtenidos de dispositivos ubicados en la habitación donde se quiere controlar la temperatura.

En esta capa, se convierten los valores obtenidos de temperaturas y humedad en valores difusos usando conjuntos difusos y variables lingüísticas como se muestra en el apartado 1.1.2.2.1. El procesador de datos externos dispone de reglas difusas para aplicar a los valores difusos obtenidos que representan la temperatura y la humedad del exterior. Estas reglas difusas se muestran en la Tabla 4 y con ellas se obtiene el grado de verdad de cada posible variable lingüística para la sensación térmica exterior.

TEMPERATURA EXTERIOR

Y Extremadamente

baja Muy baja Baja Normal Alta Muy alta

Extremadamente alta

HU

MED

AD

EX

TER

IOR

Muy baja Extremadamente

baja Muy baja Muy baja Normal Normal Alta Muy alta

Baja Extremadamente

baja Muy baja Baja Normal Alta Muy alta

Extremadamente alta

Normal Extremadamente

baja Muy baja Baja Normal Muy alta

Extremadamente alta

Extremadamente alta

Alta Muy baja Baja Baja Normal Muy alta Extremadamente

alta Extremadamente

alta

Muy alta Baja Baja Normal Normal Extremadamente

alta Extremadamente

alta Extremadamente

alta

Tabla 4. Reglas difusas usadas para calcular el grado de verdad de la posible sensación térmica.

Page 148: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

130

Tras aplicar las reglas difusas y calcular el centro de gravedad se obtiene un valor para la temperatura ambiente. Con este valor y la temperatura interior, el sistema propuesto es capaz de tomar la decisión oportuna para lograr controlar la temperatura de la habitación. La toma de esta decisión es el motivo por el que se vuelven a aplicar de nuevo otro conjunto de reglas difusas, las mostradas en la Tabla 5 y cuya entrada son los valores de la sensación térmica exterior y la temperatura interior y cuya salida es el grado de verdad de la acción a realizar.

Las decisiones obtenidas se envían a la siguiente capa, los actuadores, con el fin de realizar la acción correspondiente con el actuador correspondiente.

C. Actuadores

La última capa la forman los actuadores que están conectados como el sistema de calefacción o el de aire acondicionado. Sin embargo, el sistema está preparado para incorporar otros actuadores como ventiladores, LEDs, termostatos, o cualquier otro actuador.

El objetivo de esta capa es el de dirigir las acciones a realizar al actuador correspondiente. Por ejemplo, si la decisión tomada en la capa anterior fue la de encender el sistema de calefacción a una potencia normal, la capa de los actuadores deberá encender a una potencia normal el sistema de calefacción.

1.1.2.2.3. Software y hardware usado

Para desarrollar la solución aquí propuesta, se han necesitado diferentes tipos de software y diferentes componentes hardware.

El lenguaje de programación usado ha sido Java 8 y se han usado las librería jFuzzyLogic43 (Cingolani & Alcala-Fdez, 2012; Cingolani & Alcalá-Fdez, 2013), Pi4J 1.044 y Gson 2.3.145.

43 jFuzzyLogic: http://jfuzzylogic.sourceforge.net/html/index.html 44 Pi4J: http://pi4j.com 45 Gson: https://github.com/google/gson

SENSACIÓN TÉRMICA EXTERIOR

Y Extremadamente

baja Muy baja Baja Normal Alta Muy alta

Extremadamente alta

TEM

PER

ATU

RA

INTE

RIO

R

Extremadamente baja

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Muy baja Calefacción a máx.

potencia Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a máx. potencia

Baja Calefacción a máx.

potencia Calefacción a máx. potencia

Calefacción a máx. potencia

Calefacción a potencia normal

Calefacción a potencia normal

Calefacción a potencia normal

Calefacción a potencia normal

Normal Calefacción a

potencia normal Calefacción a

potencia normal Calefacción a

potencia normal Nada en

funcionamiento Nada en

funcionamiento Nada en

funcionamiento

Aire acondicionado a potencia normal

Alta Nada en

funcionamiento Nada en

funcionamiento Nada en

funcionamiento Nada en

funcionamiento

Aire acondicionado a potencia normal

Aire acondicionado a potencia normal

Aire acondicionado a

máx. potencia

Muy alta Aire

acondicionado a potencia normal

Aire acondicionado a potencia normal

Aire acondicionado a potencia normal

Aire acondicionado a potencia normal

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Extremadamente alta

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Aire acondicionado a

máx. potencia

Tabla 5. Reglas difusas usadas para calcular el grado de verdad de las posibles acciones que realizar.

Page 149: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

131

El hardware usado ha sido un microcontrolador Arduino UNO con un sensor de temperatura TMP36, y un microcomputador Raspberry Pi 2 con los siguientes componentes electrónicos conectados a sus GPIOs:

• Sensor de temperatura TMP36.

• Conversor analógico-digital MCP3008.

• Dos leds amarillos, dos leds rojos y un led RGB.

• Varias resistencias.

1.1.2.3.Evaluación y discusión

La solución específica que se presenta en este apartado propone un sistema para controlar la temperatura de forma automática y eficiente. Los termostatos tradicionales controlan la temperatura mediante el encendido o apagado del sistema de calefacción o aire acondicionado cuando la temperatura excede o baja de un valor específico. Por ejemplo, un termostato puede estar configurado para encender la calefacción cuando la temperatura esté por debajo de 20ºC. Pero aquí hay un problema que la solución propuesta pretende resolver. ¿Qué pasa cuando la temperatura oscila sobre esos 20ºC, es decir, cuando la temperatura va cambiando entre 19ºC y 20ºC? Un sistema tradicional provocaría que se estuviera enciendo y apagando el sistema de calefacción continuamente. El uso de los conjuntos difusos y las variables lingüísticas permite determinar rangos en los que la temperatura es la adecuada. Además, esta propuesta también permite determinar el mejor momento para encender o apagar la calefacción o el aire acondicionado considerando las condiciones exteriores.

Con el fin de ilustrar la utilidad de este sistema se ha realizado una evaluación en donde se comparan los tiempos en los que sistemas de calefacción y aire acondicionado permanecen encendidos o apagados usando termostatos tradicionales y usando la propuesta en la que se usa la lógica difusa y que tiene en cuenta las condiciones tanto interiores como exteriores. En la Tabla 6 se muestra la temperatura exterior, la humedad exterior y la temperatura interior que se han usado para hacer la simulación para la evaluación.

Hora 0h 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 20h 21h 22h 23h

Humedad 66 69 73 75 76 78 76 74 72 62 53 44 38 33 28 28 29 30 36 40 42 33 30 34 Temp. Exterior 15 14 12 11 10 9 9 9 10 12 15 17 19 21 23 24 25 26 27 27 28 25 23 20 Temp. Interior 18 17 16 15 15 14 14 14 14 15 15 15 18 20 23 23 24 26 26 26 26 24 22 20

Tabla 6. Condiciones ambientales de un día completo.

Además de la temperatura interior y exterior, se ha calculado la sensación térmica del exterior combinando la temperatura exterior y la humedad. Esta nueva temperatura, la sensación térmica exterior, se usa junto a la temperatura interior para determinar el mejor momento para encender o apagar los sistemas de climatización, es decir, el aire acondicionado o la calefacción. En la Figura 20 se pueden ver las tres temperaturas usadas en la evaluación en forma de gráfico. La curva azul se corresponde con la temperatura exterior, la curva naranja con la temperatura interior y la curva amarilla con la sensación térmica exterior. La sensación térmica exterior y la temperatura exterior no son idénticas porque para calcular la sensación térmica no solo se usa la temperatura, sino que también se necesita la humedad, y, por tanto, al cambiar la humedad varía la sensación térmica aun cuando la temperatura exterior no varíe.

El sistema de calefacción tradicional que se simula en esta evaluación solo tiene dos estados de potencia, a máxima potencia o a potencia normal, y el sistema de aire

Page 150: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

132

acondicionado tradicional que se usa en la simulación tiene también ambos estados de potencia, a máxima potencia o a potencia normal. Por tanto, la configuración usada en la simulación para los sistemas tradicionales es la siguiente:

• Sistema de calefacción a máxima potencia: Temperatura por debajo de 15ºC.

• Sistema de calefacción a potencia normal: Temperatura entre 15ºC y 17ºC.

• Aire acondicionado a máxima potencia: Temperatura por encima de 25ºC.

• Aire acondicionado a potencia normal: Temperatura entre 23ºC y 25ºC.

• Ambos sistemas apagados: Temperatura entre 18ºC y 22ºC.

Esta configuración se basa en valores concretos para cambiar de un estado a otro mientras que los nuevos sistemas propuestos con lógica difusa usan una configuración basada en rangos. Estos rangos se corresponden con los conjuntos difusos ya mostrados en el apartado 1.1.2.2.1.

Una vez definido el funcionamiento de ambos sistemas, tanto los sistemas tradicionales como los nuevos sistemas propuestos con lógica difusa, se ha simulado su uso a lo largo de un día completo usando los valores obtenidos y calculados, es decir, bajo las mismas condiciones ambientales.

En la Figura 21 se puede ver cuando están los sistemas encendidos y cuando están apagados a lo largo de un día completo bajo las condiciones establecidas. El sistema tradicional de calefacción se enciende una hora antes que el sistema propuesto y también se apaga una hora más tarde. Además, el sistema de aire acondicionado propuesto no llega a usar la máxima potencia mientras que el sistema tradicional de aire acondicionado funciona a máxima potencia durante cuatro horas. El aire acondicionado del sistema propuesto también funciona durante menos horas ya que empieza a funcionar cuatro horas más tarde y se apaga una hora antes.

Figura 20. Temperaturas obtenidas para la evaluación.

Page 151: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.1. Inteligencia Artificial aplicada a los resultados de un proceso de socialización

133

Mientras que en la Figura 21 se muestra como cambia la potencia de los sistemas a lo largo de la simulación, en la Figura 22 se muestra cuantas horas está cada sistema encendido o apagado y se puede ver como el sistema propuesto se mantiene apagado durante más horas que el sistema tradicional.

Por un lado, el sistema de calefacción tradicional se mantiene encendido durante 11 horas mientras que el sistema propuesto se mantiene durante 8 horas, lo que implica 3 horas o un 27,27% de ahorro energético. Por otro lado, el sistema de aire acondicionado

Figura 22. Estados de los sistemas durante la simulación de un día completo.

Figura 21. Número de horas de los sistemas encendidos/apagados.

Page 152: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

134

tradicional se mantiene encendido durante 8 horas mientras que el sistema propuesto solo se mantiene encendido durante 3 horas. Mantener el aire acondicionado apagado durante 21 horas equivale a reducir el funcionamiento 5 horas o un 62,5% de ahorro energético aproximadamente. Por tanto, es posible asumir que la propuesta planteada logra un ahorro de energía.

Estos resultados se deben interpretar con precaución puesto que, aunque se hayan definido rangos de temperaturas, el sistema no siempre cambia de estado cuando la temperatura se sale del rango. Por tanto, esta propuesta no sería válida en contextos donde el control de temperatura es crítico y no hay margen a errores. La explicación a este comportamiento podría ser el uso de las condiciones ambientales exteriores para determinar como debe funcionar el sistema. Considerar estas condiciones ambientales exteriores puede ser una buena idea para el control de temperatura en espacios donde hay personas u objetos que requieran que se adapte la temperatura del espació según las condiciones exteriores. Por ejemplo, sería útil para adaptar el espacio a la gente que entra y sale del espacio con frecuencia.

1.1.2.4.Conclusiones

En los apartados anteriores se ha presentado un nuevo enfoque de integración de la lógica difusa en un contexto de Internet de las Cosas. Se ha propuesto el uso de la lógica difusa para controlar la temperatura de una habitación específica según las condiciones ambientales exteriores, concretamente, la sensación térmica calculada a partir de la temperatura y la humedad.

Para recolectar los datos del exterior, se necesitan dispositivos que analicen el entorno. Estos dispositivos podrían formar parte de una ciudad inteligente o «Smart City» o formar parte de un conjunto de ciudades inteligentes cercanas.

Esta propuesta se ha llevado a cabo mediante el desarrollo de un prototipo llamado IoFClime que simula el control del sistema de calefacción y del sistema de aire acondicionado de manera que puedan ser apagados o encendidos a diferentes potencias en función de las condiciones ambientales exteriores y la temperatura interior.

Al concluir la evaluación de la propuesta, se ha obtenido que usar la lógica difusa en sistemas de este tipo permite controlar la temperatura ahorrando energía y, por tanto, obteniendo un ahorro económico. Se ha obtenido un ahorro energético de alrededor de un 40% si se considera que el ahorro de tiempo de funcionamiento implica ahorro energético. Sin embargo, el uso de la lógica difusa causa que el rango en el que los sistemas se apagan o se encienden sea demasiado amplios y, por consiguiente, este enfoque podría no ser válido en contextos de situaciones críticas donde la temperatura debe permanecer en valores estables de forma precisa.

1.1.2.5.Trabajo futuro

El objetivo de la solución que se ha propuesto es llegar a una primera solución que combine tecnologías de Internet de las Cosas y lógica difusa con el fin de mejorar el control de la temperatura en localizaciones específicas, y, por tanto, hay mucho trabajo que se puede realizar en un futuro partiendo de las bases planteadas.

• Mejorar la configuración de la lógica difusa: La configuración usada en esta solución está basada en la experiencia obtenida durante el progreso de la propia

Page 153: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.2. Sociedad de objetos inteligentes con fines comunes

135

investigación. La mejora de esta configuración podría permitir obtener mejores resultados, ahorrar más energía, y controlar aún mejor la temperatura.

• Almacenar un histórico de las temperaturas con el fin de conocer si la temperatura está aumentando o está decreciendo: La solución propuesta no tiene en cuenta el historial de la temperatura interior. Conocer los datos de temperatura previos podría ayudar al sistema a tomar mejores decisiones. El comportamiento del sistema podría no ser el mismo al mismo valor de temperatura si esta está aumentando o si está decreciendo.

• Publicar datos en plataformas de Internet de las Cosas: En esta solución se están consumiendo datos de plataformas de Internet de las Cosas, concretamente la temperatura exterior y la humedad. La combinación de ambos datos permite obtener la sensación térmica. La publicación de este dato en plataformas de Internet de las Cosas podrían ser una buena contribución.

• Añadir más sensores: En esta solución solo se han usado tres valores, la temperatura exterior, la temperatura interior y la humedad exterior. Usar más valores permitiría mejorar el cálculo de la sensación térmica. Por ejemplo, se podría calcular también la sensación térmica del interior de una habitación que no solo depende de la temperatura y de la humedad sino también de la cantidad de personas que se encuentran en la habitación, además de otros factores.

• Crear un Lenguaje de Dominio Específico para personalizar de forma sencilla las reglas y los conjuntos difusos: La configuración de la lógica difusa depende de la ubicación y de las personas que usen el sistema. Por tanto, la implantación de una forma de personalizar la configuración por personas que no tengan conocimientos sobre programación podría ser una gran mejora para esta investigación. El desarrollo de un Lenguaje de Dominio Específico es el mejor modo de lograr este propósito. Un lenguaje de este tipo permitiría a cualquier usuario con conocimientos mínimos sobre informática personalizar la configuración del sistema.

1.2. Sociedad de objetos inteligentes con fines comunes

En esta solución específica se aborda la creación de un sistema que junte las soluciones anteriores junto a otras soluciones descritas más adelante y otras soluciones propuestas en este apartado para que puedan trabajar de forma conjunta para fines comunes. El sistema podrá utilizar la información recopilada y analizada por cada subsistema para tomar decisiones simulando el sistema humano de los 5 sentidos.

Con el crecimiento de Internet de las Cosas aumenta el uso de dispositivos conectados a internet y, por tanto, más información está disponible para analizar y procesar. Sin embargo, muchos de esos datos, por sí solos puede ser que no tengan un valor que podrían tener si se combina con otros datos. Esto mismo ocurre con los 5 sentidos del cuerpo humano. El cuerpo humano recopila información del entorno a través de cada uno de los sentidos y la combina para tomar decisiones.

En esta propuesta de solución específica, se propone un sistema basado en el mismo principio que el sistema humano de los 5 sentidos. Un sistema dividido en varios subsistemas que simule a cada uno de los sentidos y un sistema central que orqueste, y tome decisiones en función de los datos recopilados por los otros subsistemas. Así, al

Page 154: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

136

igual que hace el cuerpo humano, la información obtenida por cada subsistema se complementaría con la información obtenida de los demás subsistemas.

En los siguientes apartados de abordará esta propuesta de solución específica comenzando con una introducción mas extensa, seguida de la descripción de la solución propuesta, y finalizando con las conclusiones y el trabajo futuro planteado.

1.2.1. Introducción La mayoría de los dispositivos que se utilizan en el día a día de las personas están

conectados a internet de forma continúa, desde los teléfonos móviles hasta los coches, pasando por televisiones o relojes entre muchos otros dispositivos. Esta tendencia es creciente y se espera pasar de 3750 millones de dispositivos conectados en 2014 a más de 25000 millones de dispositivos conectados en 2020 (Fundación Telefónica, 2015). Este crecimiento de dispositivos conectados a Internet ha permitido que el término Internet de las Cosas se haya hecho muy popular.

Como ya se ha visto en capítulos anteriores, las posibilidades de Internet de las Cosas son muy amplias, desde Smart Homes o Smart Cities hasta ayudar a facilitar la vida a muchas personas. Gracias a IoT y tecnologías relacionadas como RFID se pueden desarrollar sistemas que permitan ayudar a personas en diversas situaciones desfavorables a percibir su entorno y facilitarles la vida, como por ejemplo, ayudar a personas invidentes a usar el transporte público (Al Kalbani, Suwailam, Al Yafai, Al Abri, & Awadalla, 2015). Otro ejemplo parecido al anterior, es el uso de RFID junto a códigos QR para ayudar a personas invidentes por interiores de edificios solventando así las limitaciones del GPS (Alghamdi, van Schyndel, & Alahmadi, 2013). También es posible usar cámaras para reconocer objetos o texto y transmitir esa información a usuarios invidentes de manera que gracias a un sistema que hace uso de reconocimiento de caracteres y de conversión de texto a audio, una persona invidente puede percibir los mensajes que le rodean (Neto & Fonseca, 2014). Combinando las ideas que se acaban de mencionar, se puede desarrollar un sistema que otorgue a las personas invidentes la capacidad de reconocimiento visual y movimiento autónomo mediante un sensor laser, un sensor con unidad de medición inercial (IMU) y una cámara (Mekhalfi et al., 2016).

Internet de las Cosas no solo sirve para mejorar la vida de personas invidentes, sino que también permite simular otros aspectos de las personas como hacer uso del olfato o el gusto para clasificar olores o sabores. Por ejemplo, haciendo uso de sensores químicos es posible clasificar cervezas en función del olor (Pornpanomchai & Suthamsmai, 2008), o haciendo uso de otros sensores se puede clasificar vino en función del sabor (Riul et al., 2004). La forma de trabajar con estos dos sentidos es similar, e incluso en el propio cuerpo humano se usa de forma conjunta. Por esto, es posible mejorar el reconocimiento de sabores combinando sensores que simulen a ambos sentidos (Cole, Covington, & Gardner, 2011).

El sentido del tacto también se puede simular dentro del marco de Internet de las Cosas. Mediante un sistema que analice la presión que un usuario ejerce sobre una superficie, es posible identificar que actividad está haciendo esa persona (Cheng, Sundholm, Zhou, Hirsch, & Lukowicz, 2016), como, por ejemplo, ejercicios de Yoga.

En todos los ejemplos descritos, los sistemas propuestos intentan ser análogos a los sentidos de los humanos, pero no hacen uso de los 5 sentidos de forma conjunta. Un sistema formado por todos los sentidos y un subsistema inteligente central podría ser

Page 155: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.2. Sociedad de objetos inteligentes con fines comunes

137

capaz de interpretar los diferentes datos de una manera más próxima a como lo hacen las personas. En base a esto, esta solución específica consiste en una propuesta de sistemas que simulen todos los sentidos, además de una unidad central e inteligente que las conecte. Para ello, se ha iniciado el desarrollo de prototipos acerca de cada uno de los sentidos, como se verá en la siguiente sección.

Aún con el auge del término y las posibilidades de Internet de las Cosas, no está muy extendido entre la población general puesto que requiere de ciertos conocimientos para aprovechar todas sus posibilidades. Esto se podría resolver con la integración de Internet de las Cosas en tareas cotidianas como el uso de redes sociales ya que según científicos de Ericsson (Atzori et al., 2014), la existencia de una analogía entre el uso de tecnologías relacionadas con Internet de las Cosas y el uso de las redes sociales permite que las personas se familiaricen mejor con estas nuevas tecnologías. Por esta razón, uno de los subsistemas del sistema propuesta se encarga de intercomunicar los demás subsistemas a través de redes sociales. Por otro lado, siguiendo con el acercamiento de la tecnología a la población general, para facilitar la configuración del sistema, se ha decido aplicar técnicas de Ingeniería Dirigido por Modelos. El uso de MDE permite elevar el nivel de abstracción y automatizar el proceso de configuración de los sistemas gracias al uso de Lenguajes de Dominio Específico.

Durante los siguientes apartados se propondrán varios subsistemas que forman parte del sistema propuesta comparándolos con los 5 sentidos del cuerpo humano para finalmente concluir con los beneficios del sistema propuesto y el trabajo futuro que se deberá hacer de aquí en adelante.

1.2.2. Descripción de la solución propuesta La solución específica de este apartado consiste en la propuesta de un sistema que

sea capaz de interpretar el mundo que lo rodea mediante distintos subsistemas que simulen los 5 sentidos del cuerpo humano y actuar en función de la combinación de los datos obtenidos y al que se le ha llamado IntelliSense. De esta manera se podrían entrelazar datos de diferentes tipos, entre los que puede haber, en algunos casos, datos irrelevantes que combinándolos pueden formar un contexto donde cobren un mayor sentido. Para poder llegar a esto es necesaria la existencia de un sistema inteligente que coordine y comunique los distintos subsistemas. En esta solución se propone la creación de varios subsistemas que puedan simular individualmente cada sentido o parte de ellos y un subsistema central que intercomunique todos los demás subsistemas permitiendo interpretar todos los subsistemas conjuntamente y por tanto tomar decisiones de manera combinada.

Los 5 sentidos del cuerpo humano son la vista, el oído, el olfato, el tacto y el gusto. Para llevar a cabo esta solución es necesario buscar una analogía entre estos sentidos y el mundo del Internet de las Cosas.

El sentido de la vista se podría modelar a través del uso de cámaras con la capacidad de reconocer objetos, colores y/o formas o sensores de ultrasonidos que permitan reconocer formas. El sentido del oído a través de sensores relacionados con cambios sonoros como aquellos capaces de identificar las variaciones del nivel de ruido o la frecuencia del sonido. También se podrían utilizar las redes sociales como parte del sentido del oído puesto que pueden servir como sistema de escucha de lo que está sucediendo en el mundo que nos rodea. Los sensores de olores y gases permitirían

Page 156: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

138

modelar el sentido del olfato mientras que los sensores químicos podrían modelar el sentido del gusto. Para modelar el sentido del tacto se podría recurrir a sensores de flexibilidad o presión. Otra opción sería la de usar sensores ambientales que puedan medir la temperatura o la humedad puesto que las personas perciben la temperatura a través de este sentido.

Todos estos sistemas deben ser capaces de comunicarse con otros dispositivos para compartir la información detectada y computarla, ya sea a través de internet, o a través de conexiones directas a los dispositivos.

Con el fin de actuar de mediador y combinar los datos obtenidos, debería aparecer un nuevo actor que puede ser comparado con el cerebro humano puesto que se sitúa en el centro de todos los sentidos y debe orquestarlos. Este sistema debería contener cierto nivel de inteligencia que le permita analizar los datos de manera autónoma y decidir las consecuencias oportunas en función de los resultados obtenidos. Para ello se podrían aplicar técnicas de Inteligencia Artificial que permitan al sistema aprender de manera autónoma. No obstante, esto debería de ir acompañado de Big Data para tratar el gran volumen de datos que pueden llegar a aparecer.

A lo largo de este apartado se hablará de varias propuestas para simular los cinco sentidos y de los sistemas propuestos para procesar e intercomunicar los sentidos. Para ello se introducirán varios prototipos desarrollados e ideas para futuros desarrollos.

1.2.2.1.Sentidos

En este punto ya se ha descrito el sistema propuesto llamado IntelliSense, es decir, una simulación de los sentidos humanos, pero enmarcándolos en Internet de las Cosas. En esta sección se hablará en detalle de la analogía de esta propuesta con cada uno de los cinco sentidos.

1.2.2.1.1. Vista

El primer sentido que se quiere simular es el sentido de la vista. Este sentido permite a las personas reconocer formas y colores a través de imágenes procesadas por el cerebro. La propuesta de este sistema se basa en algo similar, el uso de sensores para reconocer formas y/o colores que permitan identificar objetos que se están buscando o que se quieren evitar. Para ello se podrían usar diversos tipos de sensores como los sensores ultrasónicos que se basan en el cálculo de la distancia de un objeto al sensor en función del tiempo que tardan los ultrasonidos emitidos por el sensor en llegar, rebotar y volver al sensor. Combinando las distintas distancias se consigue obtener las diferentes formas de los objetos.

En este caso, se ha desarrollado un prototipo basado en visión por computador en vez de en el uso de sensores y del que ya se ha hablado en el apartado 1.1.1, aunque en dicho apartado se describe una versión previa a la que aquí se propone, puesto que en este caso el reconocimiento también involucra rostros. Para ello se ha usado una cámara de vigilancia IP dotada con software que permite enviar imágenes a un servidor cuando se detectan cambios en la grabación.

El prototipo desarrollado analiza la grabación en dos fases. En la primera realiza un análisis de todas las imágenes recibidas por la cámara en busca de personas y en la segunda fase, analiza las imágenes con resultados positivos en busca de rostros. Al completar la primera fase se envían las imágenes enmarcando a los cuerpos detectados,

Page 157: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.2. Sociedad de objetos inteligentes con fines comunes

139

a usuarios subscritos al prototipo con el fin de notificarles de la existencia de una nueva persona en la sala y al completar la segunda fase, si se encuentran rostros, se envían las imágenes a un Bucket de Amazon Web Services (AWS) para crear un almacén de rostros de personas que han accedido a la sala, para en un futuro aplicar técnicas de Big Data y crear nuevas funcionalidades que hagan uso de ellos. En la Figura 23 se muestra un ejemplo del reconocimiento efectuado por el prototipo.

Para la realización de este prototipo se utilizaron como tecnologías el lenguaje de programación Python 3.4 junto a la librería OpenCV 3.0.0 para visión por computador.

1.2.2.1.2. Oído

El siguiente sentido que se quiere simular es el sentido del oído. Este sentido permite a las personas identificar y reconocer sonidos del alrededor. El cerebro es capaz de asociar sonidos a otros elementos como palabras u objetos, lo que permite entender el lenguaje humano o reconocer que objeto está emitiendo sonidos. La propuesta para este sentido se basa en el uso de sensores que puedan medir el nivel de ruido o la frecuencia sonora. Así, procesando la información obtenida de los sensores y mediante técnicas de aprendizaje se podría realizar el reconocimiento de objetos. Además, con el fin de simular el entendimiento del lenguaje humano, se propone la incorporación de las redes sociales. Mediante el análisis de las redes sociales se puede extraer información relevante para el sistema relacionada con el entorno que le rodea. Por ejemplo, tuits relativos a un accidente, a un evento deportivo, o cualquier tipo de suceso que tenga lugar en el entorno próximo.

En el caso del sentido del oído, no se ha desarrollado un prototipo funcional por lo que esta propuesta es una línea de investigación futura.

1.2.2.1.3. Olfato

Gracias al sentido del olfato es posible detectar cuando algo fuera de lo normal está sucediendo en el entorno y actuar en consecuencia. El sentido del olfato puede servir tanto para detectar situaciones buenas relacionadas con olores agradables como comida recién hecha, limpieza o situaciones cotidianas que son identificables por el olor; como para detectar situaciones que puede acarrear algún problema como escapes de gases, comida en mal estado o cualquier otra situación en la que, mediante el olor se pueda identificar un peligro. La propuesta planteada se basa en el uso de sensores para identificar situaciones parecidas a las ya mencionadas en el entorno. El sentido del olfato

Figura 23. Reconocimiento efectuado por el prototipo de la vista.

Page 158: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

140

funciona mediante quimiorreceptores por lo que para simular su comportamiento se pueden usar sensores de gases. Mediante el uso de estos sensores se podría llegar a reconocer los distintos patrones de gases que permitirían identificar diferentes olores.

Se ha desarrollado un prototipo cuya función es controlar el nivel de gases de una sala y realizar acciones en función de una serie de reglas definidas con el fin de simular el sentido del olfato en lo que se refiere a reaccionar en función de la composición química del ambiente. Para ello se ha creado una aplicación web donde los usuarios pueden definir reglas seleccionando el gas que quieren controlar, el valor y la condición de control, y la acción a realizar, como por ejemplo enviar un email. En la Figura 24 se muestra el hardware implicado en el prototipo.

Para la realización de este prototipo se utilizaron como tecnologías el lenguaje de programación JavaScript sobre Node.js 5.5.0. A nivel de hardware se han usado 5 sensores de gases: MG811, MQ3, MQ4, MQ7 y MQ8 capaces de medir dióxido de carbono (CO2), alcohol (C2H5OH), metano (CH4), monóxido de carbono (CO) e hidrógeno (H2) respectivamente y una placa Arduino UNO.

1.2.2.1.4. Gusto

El sentido del gusto permite identificar sabores de alimentos o bebidas gracias a quimiorreceptores ubicados en la lengua. Mediante esta identificación se puede reconocer de que está compuesto un alimento o bebida y en algunos casos se puede saber si está en buenas condiciones o no. El gusto tiene una estrecha relación con el sentido del olfato puesto que se complementa con los olores para afinar la identificación. La solución propuesta referente a este sentido se basa en el uso de sensores químicos que permitan identificar la composición de distintos elementos, por ejemplo, mediante un sensor sumergido en líquidos. Para poder llegar a identificar sabores será necesario disponer de un sistema inteligente y entrenado mediante técnicas de aprendizaje e inteligencia artificial. Mediante esta propuesta, por ejemplo, se podrían identificar componentes dañinos en líquidos que deberían ser inocuos.

En el caso del gusto, no se ha desarrollado un prototipo funcional siendo esta propuesta una línea de investigación futura.

1.2.2.1.5. Tacto

El tacto es uno de los sentidos más importantes del cuerpo humano. Este sentido permite percibir distintas características de los objetos del entorno como la forma, la suavidad, la rugosidad o cualquier otra característica física. También permite percibir

Figura 24. Hardware implicado en el prototipo del olfato.

Page 159: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.2. Sociedad de objetos inteligentes con fines comunes

141

características del medio como la temperatura, la humedad o la presión. Para ello, el cuerpo humano cuenta con diferentes tipos de receptores nerviosos que recogen la información del entorno y la envían al cerebro para que este la interprete. Entre estos receptores se encuentran quimiorreceptores, mecanorreceptores y termorreceptores.

A modo de prototipo relacionado con el sentido del tacto, se ha desarrollado un sistema capaz de reaccionar en función de la sensación térmica. Este prototipo ya se ha tratado anteriormente en el apartado 1.1.2.

Para reaccionar en función de la sensación térmica, se toma el valor de la temperatura exterior a través de sensores localizados en un Arduino UNO y haciendo uso de la plataforma de IoT Midgar, el valor de la humedad exterior a través de servicios web de ThinkSpeak y la temperatura interior a través de un sensor de temperatura conectado a una Raspberry Pi 2. La combinación de los factores permite obtener la sensación térmica exterior. Para realizar estos cálculos de una manera más humana se ha recurrido a la utilización de la lógica difusa puesto que el cuerpo humano no distingue valores concretos, sino que se maneja en rangos de términos como “caliente” o “frio” cuya interpretación puede ser distinta en función de la combinación de humedad y temperatura.

Una vez obtenida la sensación térmica exterior y la temperatura interior, el sistema es capaz de ajustar la temperatura de la estancia para maximizar el confort y ahorrar energía mediante el apagado del sistema de aire acondicionado o calefacción en caso de no ser necesario.

Para la realización de este prototipo se utilizaron como tecnologías el lenguaje de programación Java en su versión 8 junto a la librería jFuzzy-Logic. A nivel de hardware se ha usado un sensor de temperatura analógico conectado a una Raspberry Pi 2 mediante el uso de un conversor analógico digital. También se ha usado un Arduino con un sensor de temperatura conectado a la plataforma Midgar.

1.2.2.2.Procesamiento y comunicaciones

En el apartado anterior se ha mencionado los distintos sentidos y su posible analogía con el mundo de Internet de las Cosas. Sin embargo, para completar la simulación, es necesario un sistema inteligente en el centro de los sentidos, simulando el cerebro, que facilite la realización de acciones en función de los datos captados y que comunique a los sensores con ellos mismos y con el exterior, con el fin de poder distribuirse en diferentes ubicaciones o de permitir a terceros agentes interaccionar con el sistema. Para ello se ha desarrollado dos sistemas que permiten estas tareas. Actualmente se encuentran separados ya que tienen distintos objetivos de investigación. Sin embargo, al tener cierta funcionalidad similar se plantea su integración en un único sistema como trabajo futuro. Estos sistemas son la plataforma de IoT Midgar y Bilrost.

1.2.2.2.1. Midgar

Midgar es una plataforma de IoT que permite crear aplicaciones basadas en IoT interconectando distintos objetos. Por lo tanto, se puede usar para conectar las propuestas anteriores y realizar acciones de acuerdo a los datos obtenidos (González García, 2013; González García, Pascual Espada, et al., 2014; González García, Pelayo G-Bustelo, et al., 2014).

Page 160: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

142

Midgar es una plataforma de IoT que se ha desarrollado para realizar diversas investigaciones en el marco de Internet de las Cosas (González García, 2013). Mediante Midgar se abstrae la creación de la conexión entre los objetos y el software necesario evitando que los usuarios tengan que programar gracias al uso de lenguajes de dominio específico (DSL) gráficos. Midgar ofrece dos DSLs, uno para la creación de la interconexión entre objetos heterogéneos y ubicuos, como son los smartphones o los microcontroladores basados en Arduino, llamado Midgar Object Intercconection Specific Language (MOISL) (González García, Pelayo G-Bustelo, et al., 2014) y otro para la creación del software para los distintos dispositivos llamado Midgar Object Creation Specific Language (MOCSL) (González García, Pascual Espada, et al., 2014). De esta manera, el usuario solo necesita tener unos conocimientos mínimos de IoT y saber qué es lo que quiere que haga la aplicación generada ya que Midgar genera la aplicación final que el usuario puede usar sin la necesidad de tener conocimientos de programación y sin necesidad de saber o tener que sincronizar los diferentes objetos, pues Midgar se encarga de todo este trabajo sin necesidad de interacción por parte de los usuarios. Por tanto, el objetivo de Midgar es facilitar a usuarios, sin experiencia en el desarrollo de software, la creación de diferentes componentes y la interconexión de estos en IoT.

El propósito de integrar Midgar en el conjunto del sistema propuesto es disponer de una unidad central que se encargue de procesar los datos obtenidos de los distintos sentidos y en función de eso realizar diversas acciones, es decir, se pretende que Midgar aporte cierto nivel de autonomía al sistema y por tanto de inteligencia.

1.2.2.2.2. Bilrost

El otro sistema desarrollado que puede ser usado como eje central del sistema es Bilrost (Meana-Llorián, González García, Pascual Espada, et al., 2017). Bilrost, a diferencia de Midgar, está enfocado en investigar las posibilidades de las redes sociales como método de interconexión entre diferentes dispositivos u objetos de IoT.

Bilrost es una plataforma para la creación de la interconexión de objetos inteligentes a través de redes sociales de humanos. El fin de usar redes sociales es aprovechar sus beneficios como la garantía de estabilidad que aportan al contar con millones de usuarios. Además, el incorporar objetos a estas redes permite abrir los objetos a las personas, es decir, que las personas se puedan comunicar con los objetos.

El prototipo realizado hace uso de la red social Twitter y su funcionamiento se basa en la publicación de tuits con información de los sensores o con invocaciones a actuadores de objetos inteligentes (Meana-Llorián, González García, Pelayo G-Bustelo, & Cueva Lovelle, n.d.). Estos tuits los define el usuario a través de un DSL al que se le ha llamado Bilrost Specific Language (BSL). Mediante el BSL, un usuario puede definir el contenido de los tuits indicando los hashtags necesarios para realizar el filtrado en las búsquedas de tuits, los hashtags que invocan las acciones de actuadores, los tiempos de publicación de los datos de sensores y las reglas que automatizan el proceso de publicación de datos de sensores y el invocado de acciones de actuadores. Además, los usuarios también pueden publicar tuits que accionen diferentes actuadores como si fuesen un sensor más.

Page 161: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1.2. Sociedad de objetos inteligentes con fines comunes

143

Por ejemplo, en el Código fuente 1 se muestra un extracto de una definición de un actuador usando el BSL textual. En este ejemplo se define una alarma con dos acciones: alertar y parar.

A través de Twitter sería posible invocar a esas acciones usando los hashtags apropiados. Por ejemplo, se puede invocar a la acción de alertar mediante el uso de hashtags y cadenas de texto que identifiquen al dispositivo y los necesarios para invocar la acción del actuador como se puede ver en el siguiente tuit:

#bilrost #mderg #alarm alert.

De la misma manera se pueden definir sensores y el modo de publicación de sus valores en las redes sociales, y reglas que automaticen acciones en función de valores de sensores, tanto del mismo dispositivo como de dispositivos externos.

Por lo tanto, el propósito de Bilrost es interconectar objetos entre sí y con personas a través de redes sociales además de incorporar un nivel de inteligencia al permitir establecer reglas que controlen la publicación e invocación de acciones.

1.2.3. Conclusiones y Trabajo futuro A lo largo del apartado anterior se han presentado nuevas propuestas para un

sistema inteligente capaz de interaccionar con el entorno que lo rodea a través de una analogía con los sentidos humanos. Por ello, el sistema propuesto, llamado IntelliSense, se basa en la creación de varios subsistemas que simulen los cinco sentidos y otro subsistema central que se encargue de orquestarlos, comunicarlos y tomar decisiones según los datos obtenidos. De esta forma, las decisiones obtenidas habrán tenido en cuenta mucha más información que si solo se hace uso de un único y aislado sistema.

Como trabajo futuro se encuentra la creación de prototipos que abarquen todas las propuestas realizadas en secciones anteriores. Además, Bilrost y Midgar tienen cierta similitud por el hecho de que incorporan cierto nivel de inteligencia basado en el automatismo por lo que en un futuro se deberán integrar en una única plataforma convirtiéndose Bilrost en un módulo de Midgar para el uso de redes sociales a modo de canal de comunicación. Por último, el sistema central debería incorporar una inteligencia artificial capaz de aprender del entorno y tomar decisiones en función de los datos obtenidos de todos los subsistemas.

2. Socialización de objetos inteligentes con personas

El segundo tipo de soluciones específicas que se proponen engloba aquellas soluciones que abordan la socialización de objetos inteligentes con personas, aunque sin descartar la socialización entre los propios objetos.

En los siguientes apartados, se describirán dos soluciones donde objetos inteligentes socializan con personas y en una de ellas también entre sí, pero usando un canal de socialización propio de las personas como son las redes sociales. La primera solución

ACTUATORS

DEFINE ACTUATOR “alarm”

ACTIONS “alert”, “stop”

Código fuente 1. Ejemplo de definición de un actuador usando BSL.

Page 162: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

144

abordará este objetivo, se presenta un sistema capaz de crear aplicaciones que conecten objetos inteligentes con las redes sociales de personas permitiéndoles socializar tanto los objetos inteligentes entre sí como con personas. En la segunda solución que se presentará se abordará un nuevo sistema que permite socializar a los objetos con las personas usando un lenguaje más natural que el usado en la primera solución de este apartado, es decir, se aplicarán técnicas de procesamiento del lenguaje natural para lograr una buena socialización entre las personas y los objetos. En esta segunda solución no se abordará la socialización entre objetos ya que se recurrirá una red de sensores más tradicional diseñada para el propio sistema.

Por tanto, a lo largo de este subapartado se abordarán los dos siguientes grupos de soluciones ya mencionados:

• Redes Sociales como canal de socialización.

• Aplicación de Inteligencia Artificial para socializar objetos con personas

2.1. Redes Sociales como canal de socialización

En esta solución específica se aborda la socialización entre personas y objetos inteligentes a través de un canal de socialización propio de las personas y no de los objetos como se propone en el resto de la literatura. Para ello se ha desarrollado un sistema capaz de generar aplicaciones que permiten conectar objetos con otros objetos usando redes sociales de manera que los objetos con las aplicaciones generadas son capaces de leer mensajes específicos de una red social como Twitter escritos por personas u otros objetos y actuar en consecuencia, así como publicar mensajes que pueden ser consumidos por otros objetos o por personas. El prototipo desarrollado y que se presentará más adelante en esta sección, aborda la comunicación con la red social seleccionada y por tanto no se automatiza la implementación para acceder a los datos de los sensores de un objeto o para controlar sus actuadores. Esta implementación específica la tendrá que realizar el usuario final a partir de plantillas generadas que indica dónde y cómo se debe realizar.

El mundo actual está repleto de objetos inteligentes conectados a Internet como los smartphones, tablets o weareables, y dispositivos para usuarios más avanzados como microcontroladores como Arduino o microcomputadores como Raspberry Pi, entre muchos otros. Sin embargo, aunque todos estos objetos estén conectados a Internet, no están conectados entre sí, no están interconectados, lo que permitiría abrir un abanico de nuevas posibilidades relacionadas con el trabajo colaborativo abordado por varios dispositivos. Lograr una interconexión que permita a los objetos alcanzar metas comunas es un tema importante que se necesita abordar.

La creación de aplicaciones que interconecten dispositivos tiene varios problemas asociados como la necesidad de una infraestructura hardware que posibilite la comunicación entre dispositivos, la heterogeneidad de los objetos de Internet de las Cosas que hace que desarrollar una solución genérica sea una tarea difícil ya que cada dispositivo hace uso un lenguaje de programación distinto, sistemas operativos diferentes sobre diversos tipos de arquitecturas, y la dificultad que conlleva el desarrollar software especializado por gente que no disponga de los conocimientos sobre desarrollo de software necesarios.

Page 163: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

145

Para solventar estos problemas y lograr que personas sin conocimientos avanzados en el campo del desarrollo de software puedan definir dispositivos compuestos por actuadores y/o sensores interconectados a través de redes sociales sin necesidad de hardware específico para la interconexión, en esta solución específica se propone para estos fines, la creación de un nuevo lenguaje de dominio específico a través de la aplicación de la Ingeniería Dirigida por Modelos, al que se llamado Bilrost Specific Language (BSL).

De esta manera, gracias al uso del BSL, se facilita la generación de aplicaciones para distintas plataformas, que puedan ser desplegadas en los objetos definidos. Para ello se ha desarrollado un sistema, Bilrost, compuesto por dos editores, uno textual y otro gráfico, que permiten a los usuarios crear modelos usando la sintaxis del BSL o usando componentes visuales equivalentes a la sintaxis BSL. Este sistema transforma el modelo gráfico al modelo textual, cuya sintaxis está definida mediante una gramática libre de contexto, y que el sistema procesa, a través de un analizador léxico y sintáctico, para generar proyectos de aplicaciones en el lenguaje de programación de la plataforma del dispositivo. Estos proyectos generados ya tendrán implementada toda la lógica relacionada con la conexión con las redes sociales.

Por tanto, a partir de esta solución específica se consigue la interconexión de objetos heterogéneos y ubicuos usando como canal de comunicación las redes sociales y la posibilidad de que las personas interactúen con estos objetos mediante las mismas redes.

En los siguientes apartados de abordará en profundidad esta solución específica comenzando con una introducción mas extensa a la solución, seguida de la descripción de la solución propuesta, la evaluación y discusión realizada, las conclusiones obtenidas y finalizando con el trabajo futuro planteado.

2.1.1. Introducción En la actualidad, es frecuente que cualquier persona disponga de algún Smart Object

(Meyer et al., 2009) u objeto inteligente aunque no sean conscientes de que se trata de un objeto inteligente. La mayor parte de la tecnología que se usa a diario está compuesta por sensores y/o actuadores y dispone de algún tipo de inteligencia que permite realizar acciones automatizadas según la ocurrencia de algún evento. Entre estos dispositivos se encuentran los smartphones, tablets, weareables, Smart TVs, Smart cars, o cualquier otro tipo de dispositivos con cualquier tipo de inteligencia. El auge de estos dispositivos no para de incrementarse (Fundación Telefónica, 2016), ganando así popularidad el término que los engloba, el Internet de las Cosas.

Sin embargo, aún hoy en día, el desarrollo de soluciones basadas en Internet de las Cosas es problemático debido a la heterogeneidad del hardware necesario como sensores, actuadores, e incluso a la necesidad de plataformas donde desplegar las soluciones desarrolladas. Mientras que la mayoría de soluciones propuestas en la literatura científica se basan en arquitecturas REST junto a un servidor central (González García, Pelayo G-Bustelo, et al., 2014; Guinard et al., 2010; Guinard, Trifa, Pham, & Liechti, 2009), la solución específica que se plantea en este apartado propone una novedosa forma de comunicar objetos inteligentes sin la necesidad de tener acceso a muchos objetos inteligentes y sin la necesidad de disponer de una infraestructura para

Page 164: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

146

desplegar aplicaciones. En esta solución específica se propone el uso de las redes sociales como canal de comunicación entre objetos inteligentes.

Las redes sociales son una tecnología muy popular y presente en el día a día de las personas. Muchas suelen usar las redes sociales para compartir aspectos de sus vidas como qué están haciendo en cierto momento concreto, qué están comiendo, con quién se encuentran, cuáles son sus opiniones sobre algo concreto de actualidad, y mucha otra información. Incluso en el entorno empresarial, las redes sociales son muy valiosas puesto que son un canal para promocionar productos y/o servicios, y por tanto permite ganar clientes.

Querer combinar redes sociales e Internet de las Cosas no es casual. De acuerdo a investigaciones anteriores de Ericsson (Atzori et al., 2014), la gente entiende mejor las tecnologías relacionadas con Internet de las Cosas si existe una analogía entre sus hábitos en redes sociales como Facebook o Twitter y como se usan las tecnologías relacionadas con Internet de las Cosas. Debido a esto, la solución específica propuesta combina ambos términos usando las redes sociales para comunicar objetos inteligentes de Internet de las Cosas.

Por otro lado, la necesidad de conocimientos específicos para poder interconectar objetos de Internet de las Cosas es un problema, así como la libertad que existe a la hora de crear esa interconexión permitiendo que los desarrolladores varíen el formato de los mensajes o no establezcan la comunicación de la forma más adecuada. Además, es necesario contar con amplios conocimientos de los lenguajes de programación de todos los objetos que se quieren comunicar, así como de conocimientos sobre el sistema de comunicación. Por tanto, los usuarios inexpertos, sin conocimientos técnicos, estarían privados de interconectar sus propios objetos y crear aplicaciones que hagan uso de ellos teniendo que conformarse con soluciones ya existentes en el mercado. Aún hay mucho margen de mejora en la integración de tecnologías de Internet de las Cosas en la vida cotidiana de las personas (Miranda et al., 2015). Para lograr esta integración, uno de los aspectos fundamentales es hacer que los objetos inteligentes sean más accesibles (Mashal et al., 2015).

Una posible solución a estos problemas es ofrecer un sistema que permita generar aplicaciones conectadas a las redes sociales de personas sin necesidad de conocimientos avanzados. Así, cualquier usuario podría generar sus aplicaciones según sus necesidades y asegurando que los mensajes que se usan para interconectar los objetos mantengan una homogeneidad. Como se explicará más adelante, el sistema propuesto, denominado Bilrost, permite a los usuarios generar plantillas de aplicaciones usando un lenguaje de dominio específico (DSL). Estas plantillas ya dispondrán de la implementación necesaria para interconectar objetos a través de redes sociales y así, los usuarios no necesitarán disponer de conocimientos más allá de los necesarios para acceder a los datos de sus sensores o controlar los actuadores, es decir, no requieren de conocimientos para interconectar objetos ni una infraestructura para realizar dicha tarea.

Por otro lado, Bilrost también permite solventar un importante problema de Internet de las Cosas: la interoperabilidad entre objetos ubicuos y heterogéneos y distintos sistemas (Mashal et al., 2015) gracias al uso de las redes sociales para establecer un canal de comunicaciones entre objetos inteligentes y personas. Uno de los objetivos de

Page 165: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

147

Internet de las Cosas es ampliar las actuales comunicaciones humano-humano a comunicaciones humano-cosa y cosa-cosa mediante la conexión del mundo físico y el mundo virtual (Mashal et al., 2015). Es posible lograr este objetivo usando las redes sociales ya que permiten a los usuarios o aplicaciones interactuar con los objetos disponibles en ellas (Blackstock et al., 2011)

El problema de la heterogeneidad de los objetos se debe a las distintas implementaciones que hay que realizar para poder comunicar varios objetos entre sí debido a la existencia de diferentes sistemas operativos. Además, debido a la inexistencia de un estándar de comunicación entre objetos, cada desarrollador usa sus propios sistemas para establecer esas comunicaciones sin que otros usuarios puedan aprovechar los objetos de esos desarrolladores debido a que, aunque fuese objetos públicos, existiría una falta de entendimiento entre ellos debido a la inexistencia de interfaces, estándares o protocolos comunes (Guinard & Trifa, 2009). Con esta solución específica se pretende resolver el problema de la heterogeneidad de los objetos planteando la creación de aplicaciones adaptadas a cada dispositivo que usen el mismo canal de comunicación, las redes sociales, con mensajes que siguen una misma estructura.

Por último, otro de los problemas de Internet de las Cosas es el hardware necesario para implementar cualquier aplicación. No todos los usuarios pueden tener acceso a las herramientas necesarias para conectar objetos o ni siquiera saben que disponen de ellos. Además, al tratarse, normalmente, de objetos físicos, no todo el mundo tiene el poder adquisitivo suficiente para adquirir muchos objetos que interconectar o para adquirir los medios que faciliten esa interconexión. Muchas de las investigaciones actuales en el campo de la interconexión de objetos del Internet de las Cosas necesitan, al menos, contar con un servidor que se encarga de realizar las comunicaciones. Mediante esta solución, las personas podrán hacer uso de objetos de terceras personas para crear aplicaciones que interconecten objetos y, además, no necesitarán disponer de un servidor para realizar la comunicación ya que se realizará a través de las redes sociales.

Por todos estos motivos, esta solución trata de un sistema que permita la generación de aplicaciones que interconecten objetos inteligentes a través de redes sociales sin que el usuario requiera conocimientos completos de programación gracias al uso de un DSL denominado Bilrost-Specific Language (BSL). El desarrollo de Bilrost pretende responder a las siguientes cuestiones: ¿Es posible integrar objetos inteligentes en redes sociales diseñadas para personas? ¿Podrían las personas interaccionar con objetos inteligentes a través de las redes sociales que normalmente usan? ¿Es posible que un lenguaje de dominio especifico pueda crear la interconexión de objetos inteligentes a través de redes sociales?

A través de estas cuestiones, esta solución específica pretende corroborar la siguiente hipótesis: «Es posible facilitar la creación de aplicaciones que permitan la integración de objetos inteligentes de Internet de las Cosas en redes sociales, y que permitan la interacción entre los propios objetos y entre los objetos y las personas.».

2.1.2. Descripción de la solución propuesta En este apartado se presenta la solución específica que permite interconectar objetos

inteligentes entre sí y con personas a través de redes sociales gracias a un nuevo sistema

Page 166: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

148

capaz de generar aplicaciones que interconectan dichos objetos para diversas plataformas y/o sistemas operativos usando para ello un DSL. A lo largo, de este apartado se explicarán las distintas partes del sistema propuesto comenzando por la creación, aplicando MDE, del DSL, llamado Bilrost-Specific Language (BSL), que permite definir objetos conectados a las redes sociales, y finalizando con el prototipo desarrollado que hace uso de ese DSL para generar las aplicaciones correspondientes

2.1.2.1.Bilrost-Specific Language (BSL)

El Lenguaje de Dominio Especifico que se ha definido para esta solución específica tiene como objetivo definir dispositivos capaces de integrarse en redes sociales y se le ha denominado Bilrost-Specific Language (BSL). Al definir un dispositivo se deberán definir ciertas propiedades de ese dispositivo y los objetos no inteligentes que contiene, es decir, los sensores y actuadores. Además, un dispositivo puede contar con reglas que le aporten cierto nivel de inteligencia.

En esta sección se presentará el metamodelo que implementan los modelos que los usuarios pueden definir mediante el DSL, la gramática que define el lenguaje y la sintaxis del lenguaje.

2.1.2.1.1. Metamodelo de BSL

La creación de Bilrost-Specific Language (BSL) se ha realizado aplicando MDE lo que conlleva seguir una serie de pasos. Lo primero que se necesita para aplicar MDE es definir el dominio del problema que se quiere resolver y que acota el campo de conocimientos. En esta propuesta, el dominio es la definición de dispositivos que se puedan conectar a redes sociales para publicar datos de sus sensores o para que sus actuadores puedan ser controlados tanto por otros usuarios como por otros dispositivos que hagan uso de reglas específicas para automatizar el proceso que se verán más adelante.

Una vez acotado el dominio, se define el metamodelo a partir de un meta-metamodelo. Gracias a los meta-metamodelos, los metamodelos creados a partir de ellos son reutilizables, interoperables y portables. Esto es debido a que los meta-metamodelos son una abstracción de más alto nivel que define como debe ser el metamodelo.

El meta-metamodelo que se ha elegido para definir el metamodelo es Ecore (de Eclipse Foundation). El metamodelo describe los conceptos relevantes del dominio del problema y que se desean modelar mediante el DSL.

Los metamodelos definen la sintaxis abstracta del lenguaje, es decir, definen, a nivel conceptual, los componentes del modelo que se podrán definir con el lenguaje.

En la Figura 25 se muestra el metamodelo del dominio esta solución específica y en él se definen los siguientes componentes:

• El dispositivo (Device): Es el componente principal y su definición será el objetivo del lenguaje de dominio específico. Sus propiedades son la tecnología (technology) que representa la plataforma del dispositivo, por ejemplo, si el dispositivo es una Raspberry Pi, la plataforma podría ser Python ya que es uno de los lenguajes soportados por la Raspberry Pi; y los filtros (filters) que representan palabras claves necesarias para identificar los dispositivos en las

Page 167: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

149

redes sociales. Un dispositivo también puede estar compuesto por otros componentes: redes sociales, actuadores, sensores y reglas.

• Red Social (SocialNetwork): Un dispositivo podrá tener asociadas una o más redes sociales, pero al menos debe tener una de donde obtener o publicar mensajes. Las redes sociales son un componente abstracto que otro componente debe implementar, es decir, un dispositivo puede tener diferentes redes sociales con distintas propiedades, pero todas son redes sociales.

o Twitter: En esta solución específica se ha seleccionado Twitter como red social por lo que deberá de haber un componente que represente a esta red social y sus propiedades. Estas son las claves requeridas por la API (token y secret) y los usuarios que podrán controlar al dispositivo (allowedUsers). Esta última propiedad no es obligatoria ya que se puede obviar y convertir el dispositivo en un dispositivo público.

• Actuador (Actuator): Un dispositivo podrá estar formado por actuadores además de otros componentes. Mediante este componente se define cada uno de los actuadores del dispositivo. Sus propiedades son el nombre (name) del actuador, las acciones (actions) que puede efectuar (al menos una) y los filtros (filters) que se podrán usar para identificar al actuador, además del nombre, en las redes sociales.

• Sensor (Sensor): Un dispositivo podrá estar formado por sensores además de otros componentes como actuadores. Mediante este componente se define cada uno de los sensores de los que dispone el dispositivo. Sus propiedades son el nombre (name) del sensor, su modo (modeAuto) de funcionamiento que podrá ser automático (true) o manual (false), la frecuencia (frequency) de funcionamiento en caso de ser automático y los filtros (filters) que se podrán usar para identificar al sensor, además del nombre, en las redes sociales.

Figura 25. Metamodelo del dominio de la solución específica.

Page 168: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

150

• Regla (Rule): Además de componentes físico como sensores o actuadores, un dispositivo podrá tener definidas reglas que automaticen las ejecuciones de acciones de sus actuadores o la invocación de acciones de actuadores de otros dispositivos en función de datos de sus sensores o de otros sensores disponibles en la red social. Sus propiedades son el literal de la condición (conditionLiteral), por ejemplo «mayor que», y el valor que debe cumplir la condición (conditionValue). Además de esas propiedades, una regla tiene un sensor (RuleSensor) y una serie de ejecuciones que se realizarán si se cumple la condición (RuleExecution).

• Sensor de una regla (RuleSensor): Una regla deberá tener un sensor del que tomar el valor que se validará en la condición para automatizar las ejecuciones de acciones. Este componente es un componente abstracto que implementan cuatro componentes diferentes ya que existen cuatro posibilidades a la hora de seleccionar el sensor de la regla: un sensor del propio dispositivo (DeviceSensor), varios sensores del propio dispositivo (DeviceSensors), un sensor de un dispositivo ajeno o externo (ExternalSensor) o varios sensores de dispositivos externos (ExternalSensors).

o Un sensor del propio dispositivo (DeviceSensor): Las reglas pueden usar como valor para evaluar la condición, el valor de un sensor del mismo dispositivo siendo necesario únicamente su nombre (name).

o Varios sensores del propio dispositivo (DeviceSensors): Las reglas pueden usar como valor para evaluar la condición, el valor de cualquier sensor del mismo dispositivo que contengan los filtros (filters) indicados.

o Un sensor de un dispositivo externo (ExternalSensor): Las reglas pueden usar como valor para evaluar la condición, el valor de un sensor de un dispositivo externo indicando el nombre (name) del sensor y los filtros (filters) que identifican al dispositivo y/o sensor.

o Varios sensores de dispositivos externos (ExternalSensors): Las reglas pueden usar como valor para evaluar la condición, el valor de cualquier sensor de dispositivos externos identificados por los filtros (filters) indicados.

• Ejecución de una regla (RuleExecution): Una regla puede tener varias ejecuciones que realizar si la condición es correcta, pero al menos deberá disponer de una ejecución que hacer. Este componente es un componente abstracto que implementan cuatro componentes diferentes ya que existen cuatro posibilidades a la hora de seleccionar el actuador que realizará la ejecución de una acción: un actuador del propio dispositivo (DeviceActuator), varios actuadores del propio dispositivo (DeviceActuators), un actuador de un dispositivo externo (ExternalActuator) o varios actuadores de dispositivos externos (ExternalActuators). Además, una ejecución tiene una serie de propiedades que comparten todas las posibilidades. Estas son el nombre de la acción (action) a realizar y los parámetros (params) que utilizará la acción.

o Un actuador del propio dispositivo (DeviceActuator): Las reglas pueden realizar una acción de un actuador del mismo dispositivo siendo necesario únicamente su nombre (name).

Page 169: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

151

o Varios actuadores del propio dispositivo (DeviceActuators): Las reglas pueden realizar una acción de cualquier actuador del mismo dispositivo que contengan los filtros (filters) indicados.

o Un actuador de un dispositivo externo (ExternalActuator): Las reglas pueden realizar una acción de un actuador de un dispositivo externo indicando el nombre (name) del actuador y los filtros (filters) que identifican al dispositivo y/o actuador.

o Varios actuadores de dispositivos externos (ExternalActuators): Las reglas pueden realizar una acción de cualquier actuador de dispositivos externos identificados por los filtros (filters) indicados.

2.1.2.1.2. Gramática del lenguaje BSL

Una vez obtenido el metamodelo se puede definir la semántica estática que rige las reglas que deberá respetar la sintaxis concreta, la sintaxis del DSL y la que los usuarios utilizarán. Como semántica estática se propone el uso de una gramática de tipo 2 o gramática libre de contexto.

En el Código fuente 2 se muestra la gramática definida para el lenguaje de dominio específico con notación de Backus-Naur (BNF).

<device> ::= DEVICE IN <platform> <properties> END

<platform> ::= PYTHON

| JAVA

| ANDROID

<properties> ::= <property>

| <properties> <property>

<property> ::= <filter>

| <social-networks>

| <actuators>

| <sensors>

| <rules>

<filter> ::= FILTER BY <filters>

<filters> ::= WORD

| <filters> COMMA WORD

<social-networks> ::= SOCIAL NETWORKS <social-networks-list>

<social-networks-list> ::= <social-network>

| <social-networks-list> <social-network>

<social-network> ::= CONNECT TO TWITTER <twitter-properties>

<twitter-properties> ::= <token> <secret> <users>

| <secret> <users> <token>

| <users> <token> <secret>

| <secret> <token> <users>

| <token> <users> <secret>

| <users> <secret> <token>

| <secret> <token>

| <token> <secret>

<token> ::= TOKEN WORD

<secret> ::= SECRET WORD

<users> ::= ALLOW <users-list>

<users-list> ::= WORD

| <users-list> COMMA WORD

<actuators> ::= ACTUATORS <actuators-list>

<actuators-list> ::= <actuator>

| <actuators-list> <actuator>

<actuator> ::= DEFINE ACTUATOR WORD <actuator-without-filters>

| DEFINE ACTUATOR WORD <actuator-with-filters>

<actuator-without-filters> ::= ACTIONS <actions>

<actuator-with-filters> ::= <filter> ACTIONS <actions>

<actions> ::= WORD

| <actions> COMMA WORD

<sensors> ::= SENSORS <sensors-list>

Page 170: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

152

<sensors-list> ::= <sensor>

| <sensors-list> <sensor>

<sensor> ::= DEFINE SENSOR WORD <sensor-without-filters>

| DEFINE SENSOR WORD <sensor-with-filters>

<sensor-without-filters> ::= <sensor-mode>

<sensor-with-filters> ::= <filter> <sensor-mode>

<sensor-mode> ::= MODE AUTO NUMBER <frequency-multiplier>

| MODE MANUAL

<frequency-multiplier> ::= HOURS

| MINUTES

| SECONDS

<rules> ::= RULES <rules-list>

<rules-list> ::= <rule>

| <rules-list> <rule>

<rule> ::= DEFINE RULE TO <rule-single-sensor> <rule-body>

| DEFINE RULE TO <rule-multi-sensors> <rule-body>

<rule-single-sensor> ::= EXTERNAL SENSOR WORD <filter>

| SENSOR WORD

<rule-multi-sensors> ::= ALL EXTERNAL SENSORS <filter>

| ALL SENSORS <filter>

<rule-body> ::= <condition> <executions>

| <executions> <condition>

<condition> ::= IF VALUE IS <literal> NUMBER

<literal> ::= LESS_THAN

| EQUAL_TO

| GREATER_THAN

| <literal-composed>

<literal-composed> ::= LESS_THAN OR EQUAL_TO

| GREATER_THAN OR EQUAL_TO

| NOT EQUAL_TO

<executions> ::= <executions-list>

<executions-list> ::= <execution>

| <executions-list> <execution>

<execution> ::= EXECUTE ACTION WORD

WITH PARAMS PHRASE IN <execution-actuators>

| EXECUTE ACTION WORD IN <execution-actuators>

<execution-actuators> ::= <execution-single-actuator>

| <execution-multi-actuators>

<execution-single-actuator> ::= EXTERNAL ACTUATOR WORD <filter>

| ACTUATOR WORD

<execution-multi-actuators> ::= ALL EXTERNAL ACTUATORS <filter>

| <execution-multi-local-actuators>

<execution-multi-local-actuators> ::= ALL ACTUATORS <filter>

| ALL ACTUATORS <empty>

Esta gramática establece las reglas de la sintaxis del lenguaje de dominio específico desarrollado denominado BSL (Bilrost-Specific Language) y que se detallará en el siguiente apartado.

2.1.2.1.3. Sintaxis del lenguaje BSL

A partir del metamodelo se han definido los componentes conceptuales del lenguaje, es decir, la sintaxis abstracta del lenguaje. Con esos elementos conceptuales se ha definido la semántica estática como una gramática libre de contexto que especifica las reglas que debe cumplir el lenguaje y a partir de esa gramática, se define la sintaxis concreta del lenguaje, la misma sintaxis que los usuarios usarán.

Entre las características de la sintaxis BSL se encuentran la no distinción entre mayúsculas y minúsculas y el permitir escribir todo el código en una única línea o en múltiples líneas con un sangrado a gusto del usuario.

Código fuente 2. Gramática de Birlost-Specific Language en notación de Backus-Naur (BNF).

Page 171: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

153

La definición de un dispositivo se guarda en ficheros independientes, por lo que se deben crear tantos ficheros como dispositivos se quieran definir.

La especificación de un dispositivo está compuesta por 4 diferentes bloques además de las propiedades del propio dispositivo: bloque de redes sociales, bloque de actuadores, bloque de sensores y bloque de reglas. Estos bloques pueden ser definidos en cualquier orden, pero es obligatoria la presencia del bloque de redes sociales y al menos uno de los otros 3 bloques.

A. Definición del dispositivo

Un dispositivo se puede definir indicando la tecnología necesaria para crear las aplicaciones para él y alguna palabra clave, llamadas filtros, que identifica al dispositivo en las redes sociales. Estas palabras clave se usan para filtrar las búsquedas de mensajes en las redes sociales cuyo objetivo sea el propio dispositivo. También son usados para publicar mensajes provenientes del dispositivo con el fin de saber que dispositivo es la fuente de los datos.

Como ya se ha mencionado, además de las propiedades del dispositivo, este tiene otros 4 bloques: un bloque para definir las redes sociales, un bloque para definir los actuadores, un bloque para definir los sensores y un bloque para especificar las reglas que automatizarán la invocación de acciones sobre actuadores si se cumplen las condiciones sobre los datos de los sensores.

En este prototipo se ha implementado la generación de proyectos escritos en Python, Java o Android y, por tanto, estos lenguajes son las posibles opciones para la propiedad tecnología que el dispositivo requiere.

El Código fuente 3 representa el esqueleto para definir un dispositivo.

DEVICE IN PYTHON | JAVA | ANDROID

FILTER BY …

SOCIAL NETWORKS …

ACTUATORS …

SENSORS …

RULES …

Del esqueleto anterior, es obligatorio indicar una tecnología entre las opciones disponibles, los filtros del dispositivo y las redes sociales. Sin embargo, los otros 3 bloques no son obligatorios, aunque debe estar uno presente al menos.

Los filtros se usan para identificar al dispositivo en las redes sociales y debe indicarse al menos un filtro por dispositivo.

Los mensajes que sean publicados en redes sociales por parte de un dispositivo siempre contendrán sus filtros y un dispositivo solo reaccionará ante mensajes que contengan todos sus filtros. No hay un límite en el número máximo de filtros, pero es importante tener en cuenta las limitaciones de las redes sociales. Por ejemplo, en Twitter solo se pueden publicar mensajes de 140 caracteres.

El Código fuente 4 muestra el esqueleto para indicar los filtros del dispositivo.

FILTER BY ‘filter1’, ‘filter2’, …

Código fuente 3. Esqueleto de sintaxis de la definición del dispositivo.

Código fuente 4. Esqueleto de sintaxis de los filtros en la definición del dispositivo.

Page 172: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

154

B. Redes sociales

El sistema está diseñado para soportar varias redes sociales, aunque en el prototipo desarrollado solo se ha realizado la implementación a través de Twitter. Este bloque comienza por las palabras SOCIAL NETWORKS seguidas de la configuración de cada red social.

El Código fuente 5 muestra el esqueleto para indicar que redes sociales debe usar el dispositivo.

SOCIAL NETWORKS

CONNECT TO TWITTER | OTHERS

Tras indicar la red social, el usuario debe definir los parámetros de esa red social. En el caso de Twitter se necesitan dos tokens para publicar y buscar mensajes en la red social.

Además, se ha añadido un tercer parámetro que permite indicar que usuarios tienen permisos para controlar los actuadores del dispositivo, el parámetro ALLOW. Este parámetro es opcional, pero si está presente, el dispositivo solo reaccionará ante mensajes publicados por los usuarios indicados.

El Código fuente 6 muestra el esqueleto de la configuración de Twitter como red social del dispositivo.

CONNECT TO TWITTER

TOKEN ‘tokenvalue’

SECRET ‘secretvalue’

ALLOW ‘user1’, ‘user2’, …

C. Actuadores

Los dispositivos definidos pueden tener varios actuadores. Para introducir el bloque de actuadores es necesario escribir la palabra ACTUATORS y para introducir cada actuador es necesario escribir las palabras DEFINE ACTUATOR seguidas del nombre del actuador.

Todos los actuadores deben tener un nombre para identificarlo y controlarlo a través de mensajes en redes sociales. También deben disponer de una lista de acciones que pueden realizar precedidas de la palabra ACTIONS. Estas acciones serán los nombres de los métodos que el usuario deberá rellenar en la fase de completado del proyecto.

Cada actuador puede tener filtros con el fin de agrupar varios actuadores bajo una misma invocación. De esta manera, un mensaje puede invocar una acción de muchos actuadores si todos tienen filtros en común y disponen de dicha acción.

El Código fuente 7 muestra el esqueleto para definir los actuadores de un dispositivo.

ACTUATORS

DEFINE ACTUATOR ‘name’

FILTER BY ‘filter1’, ‘filter2’, …

ACTIONS ‘action1’, ‘action2’, …

Código fuente 5. Esqueleto de sintaxis que indica las redes sociales del dispositivo.

Código fuente 6. Esqueleto de sintaxis de la configuración de Twitter como red social del dispositivo.

Código fuente 7. Esqueleto de sintaxis para definir los actuadores de un dispositivo.

Page 173: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

155

D. Sensores

Los dispositivos definidos pueden tener varios sensores. Para introducir el bloque de los sensores es necesario escribir la palabra SENSORS y para introducir cada sensor es necesario escribir las palabras DEFINE SENSOR seguidas del nombre del sensor.

Todos los sensores deben tener un nombre para identificarlo en los mensajes publicados en las redes sociales por el dispositivo y deben tener un parámetro llamado MODE. Este parámetro indica como se publicarán los datos del sensor:

• Modo manual: Indica que los usuarios deberán llamar explícitamente al método que publica los datos del sensor en redes sociales pasando por parámetros lo que desean que se publique. Esto lo deberán hacer en la fase de completado del proyecto que se verá más adelante.

• Modo automático: Indica que el sensor publicará sus datos de acuerdo con una frecuencia definida. La frecuencia se define añadiendo un número después de la definición del modo seguido de la unidad de tiempo adecuada pudiendo elegir entre SECONDS, MINUTES o HOURS.

Cada sensor tiene filtros que permite agrupar varios sensores en la comprobación de valores de sensores en las reglas. De esta manera, un usuario puede definir reglas en las que la fuente de información pueda ser varios sensores y si alguno de estos cumple la condición se realizarán las ejecuciones.

El Código fuente 8 muestra el esqueleto para definir los sensores que componen un dispositivo.

SENSORS

DEFINE SENSOR ‘name’

FILTER BY ‘filter1’, ‘filter2’, …

MODE MANUAL |

MODE AUTO num SECONDS | MINUTES | HOURS

E. Reglas

Los dispositivos definidos pueden tener varias reglas que toman los datos de un sensor, comprueban una condición e invocan acciones de actuadores si la condición se cumple. Las reglas son útiles para automatizar la comunicación entre dispositivos.

Para introducir el bloque de reglas es necesario escribir la palabra RULES y a continuación definir cada regla que será precedida por las palabras DEFINE RULE TO seguidas de un sensor o sensores que el dispositivo tendrá que consultar.

El esqueleto de la definición de una regla completa es:

RULES DEFINE RULE TO ALL SENSORS

FILTER BY ‘filter1’, ‘filter2’, …

IF VALUE IS GREATER THAN -1 EXECUTE ACTION ‘action1’

IN ACTUATOR ‘actuator1’

EXECUTE ACTION ‘action2’

IN ACTUATOR ‘actuator2’

Código fuente 8. Esqueleto de sintaxis para definir los sensores de un dispositivo.

Código fuente 9. Esqueleto de sintaxis para definir una regla de un dispositivo.

Page 174: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

156

La sintaxis para definir reglas es más compleja que la sintaxis del resto de bloques del lenguaje. La definición de una regla se compone de la fuente de datos, la condición que los datos deben cumplir y las ejecuciones que se deben realizar si la condición se cumple.

Fuente de datos. Mediante la fuente de datos, se define el sensor o sensores, internos o externos al dispositivo de los que se tomarán los datos a utilizar en la regla. En las siguientes líneas se muestra las diferentes sintaxis para indicar diferentes fuentes de datos:

• Un sensor localizado en el mismo dispositivo: Se debe indicar el nombre del sensor que hace de fuente de datos.

DEFINE RULE TO SENSOR ‘name’

• Varios sensores localizados en el mismo dispositivo: Se deben indicar los filtros que los sensores del mismo dispositivo tienen en común.

DEFINE RULE TO ALL SENSORS

FILTER BY ‘filter1’, ‘filter2’, …

• Un sensor localizado en otro dispositivo: Se debe indicar el nombre del sensor y también los filtros para buscar el dispositivo donde el sensor está localizado.

DEFINE RULE TO EXTERNAL SENSOR ‘name’

FILTER BY ‘filter1’, ‘filter2’, …

• Varios sensores localizados en otros dispositivos: Se deben escribir los filtros para buscar los dispositivos donde están localizados los sensores, pero, en este caso, no se debe escribir el nombre de los sensores.

DEFINE RULE TO ALL EXTERNAL SENSORS

FILTER BY ‘filter1’, ‘filter2’, …

Condición que los datos deben cumplir. Después de definir los sensores de la regla, se debe indicar la condición que sus datos deben cumplir. Para ello, deben usar la siguiente sintaxis escogiendo un único tipo de condición.

IF VALUE IS

[ LESS THAN | LESS THAN OR EQUAL TO | EQUAL TO

| NOT EQUAL TO | GREATER THAN OR EQUAL TO

| GREATER THAN ] num

Ejecuciones. Es posible definir varias acciones a ejecutar si la condición anterior se cumple. Cada ejecución debe tener una acción y al menos un actuador que tenga esa acción. Una ejecución puede tener un actuador o varios actuadores, internos o externos al dispositivo donde se aplicará la acción. En las siguientes líneas se muestra como son las diferentes sintaxis para indicar las ejecuciones:

Código fuente 10. Sintaxis para indicar como fuente de datos un sensor localizado en el mismo dispositivo.

Código fuente 11. Sintaxis para indicar como fuente de datos varios sensores localizados en el mismo dispositivo.

Código fuente 12. Sintaxis para indicar como fuente de datos un sensor localizado en otro dispositivo.

Código fuente 13. Sintaxis para indicar como fuente de datos varios sensores localizados en otros dispositivos.

Código fuente 14. Sintaxis para indicar la condición que deben cumplir los datos de los sensores del dispositivo.

Page 175: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

157

• Un actuador localizado en el mismo dispositivo: Los usuarios tiene que indicar el nombre de la acción y el nombre del actuador que realizará la acción.

EXECUTE ACTION ‘action’

IN ACTUATOR ‘actuator’

• Varios actuadores localizados en el mismo dispositivo: Los usuarios tiene que indicar los filtros que los actuadores tienen en común y el nombre de la acción que los actuadores realizarán.

EXECUTE ACTION ‘action’

IN ALL ACTUATORS FILTER BY ‘filter1’, ‘filter2’, …

• Un actuador localizado en otro dispositivo: En este caso, los usuarios tienen que indicarle nombre del actuador, los filtros por lo que buscar el dispositivo donde se localiza el actuador y el nombre de la acción a realizar.

EXECUTE ACTION ‘action’

IN EXTERNAL ACTUATOR ‘actuator’

FILTER BY ‘filter1’, ‘filter2’, …

• Varios actuadores localizados en otros dispositivos: Al igual que en el caso anterior, los usuarios tienen que escribir los filtros para buscar los dispositivos donde están localizados los actuadores, pero, además, deben indicar también los filtros que los actuadores tienen en común y también el nombre de la acción a realizar.

EXECUTE ACTION ‘action’

IN ALL EXTERNAL ACTUATORS

FILTER BY ‘filter1’, ‘filter2’, …

En el Código fuente 19 se muestra la definición con BSL de un dispositivo a modo de ejemplo. Este dispositivo controla un ventilador y se comunica con otro dispositivo que controla la calefacción y dispone de un sensor de temperatura. El dispositivo definido invoca las acciones correspondientes de su ventilador y de la calefacción para apagar o encender ambos dispositivos bajo ciertas condiciones.

DEVICE IN PYTHON

FILTER BY 'bilrost', 'rpi'

SOCIAL NETWORKS

CONNECT TO TWITTER

TOKEN 'token'

SECRET 'secret'

ACTUATORS

DEFINE ACTUATOR 'fan'

ACTIONS 'encender', 'apagar'

SENSORS

DEFINE SENSOR 'temperatura'

MODE AUTO 30 SECONDS

Código fuente 15. Sintaxis para indicar la ejecución de una acción de un actuador localizado en el mismo dispositivo.

Código fuente 16. Sintaxis para indicar la ejecución de una acción de varios actuadores localizados en el mismo dispositivo.

Código fuente 17. Sintaxis para indicar la ejecución de una acción de un actuador localizado en otro dispositivo.

Código fuente 18. Sintaxis para indicar la ejecución de una acción de varios actuadores localizados en otros dispositivos.

Page 176: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

158

RULES

DEFINE RULE TO SENSOR 'temperatura'

FILTER BY 'bilrost', 'clima'

IF VALUE IS GREATER THAN 25

EXECUTE ACTION 'apagar'

IN EXTERNAL ACTUATOR 'calefaccion'

FILTER BY 'bilrost', 'climate'

EXECUTE ACTION 'encender'

IN ACTUATOR 'ventilador'

2.1.2.2.Prototipo propuesto: Bilrost

El prototipo de esta solución específica se denominada Bilrost y es una plataforma para interconectar objetos inteligentes del mundo de Internet de las Cosas a través de redes sociales de personas y usando un DSL que puede ser usado de dos formas distintas, mediante un editor de texto o usando un editor gráfico. La plataforma permite la creación de proyectos de aplicaciones que interconectan objetos ubicuos y heterogéneos usando las redes sociales como canal de comunicación y sin la necesidad de disponer de servidores donde desplegar las soluciones de comunicación además de muchas más ventajas.

Esta solución consiste en un prototipo que permite generar proyectos de aplicaciones donde la conexión a las redes sociales, concretamente Twitter, ya está implementada y por tanto no son necesarios los conocimientos de programación relacionados con esta tarea. Sin embargo, los usuarios si tiene que implementar la lógica específica que permite a las aplicaciones recopilar datos de sensores y controlar actuadores a partir de un esqueleto ya presente en el proyecto generado.

En este apartado se describirá Bilrost, primero a través de un enfoque general sobre cómo funciona, y después se abordarán los principales componentes que forman su arquitectura.

Con el fin de explicar mejor como funciona Bilrost se recurrirá a un ejemplo sencillo que, aunque no muestra todas las posibilidades del BSL, es útil para entenderlo mejor.

Ejemplo: Interconectar una Raspberry Pi y un dispositivo Android a través de Twitter. Ambos dispositivos cuentan con un sensor y un actuador. La Raspberry Pi dispone de un sensor de luminosidad y de un led rojo como actuador, mientras que el dispositivo Android cuenta con el acelerómetro como sensor y el flash de la cámara como sensor.

En la Figura 26 se muestra un esquema general sobre los componentes que participan en la interconexión de dispositivos a través de redes sociales.

El ejemplo que se siguen en la explicación tiene componentes de todos los tipos que se muestran en el esquema. La Raspberry Pi y el Smartphone Android son dispositivos y están representados con el número 2. El sensor de luminosidad conectado a la Raspberry Pi y el acelerómetro del Smartphone Android so sensores y están representados con el número 4. Por último, el LED de la Raspberry Pi y el flash de la cámara del smartphone Android son actuadores y están representados con el numero 3. El número 1 representa las redes sociales que en el caso del ejemplo es Twitter.

Código fuente 19. Ejemplo de dispositivo definido con BSL.

Page 177: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

159

2.1.2.2.1. Ciclo de trabajo de Bilrost

En este subapartado, se explica como funciona la plataforma Bilrost a través del ejemplo definido anteriormente. Lo primero es definir el contexto donde los dispositivos del ejemplo planteado podrían ser útiles.

El flash de la cámara del Smartphone Android podría ser una linterna que se encenderá cuando el sensor de luminosidad de la Raspberry Pi detecte poca luz, y el LED de las Raspberry Pi podría ser un indicador que se encenderá cuando alguien solicite ayuda agitando el dispositivo Android y por tanto accionando el acelerómetro.

Bilrost permite llevar a cabo este ejemplo usando su propio DSL, Bilrost-Specific Language ya explicado en apartados anteriores. Con este nuevo lenguaje, un usuario puede definir los siguientes aspectos del proyecto de aplicación que se generará:

• Tecnología que se usará en el proyecto como Android, Java o Python.

• Las palabras claves que se usarán para buscar mensajes en Twitter o que deberán contener los mensajes que se envíen con datos de los sensores.

• Los datos necesarios para establecer conexión con las redes sociales.

• Los actuadores de la aplicación y sus acciones.

• Los sensores utilizados.

• Las reglas que automatizan la invocación de las acciones de los actuadores según los valores de los sensores. Estas reglas pueden estar formadas tanto por sensores y actuadores del propio dispositivo como de dispositivos externos.

Los proyectos generados a partir de la definición de un dispositivo escrita en BSL no están completos. Aunque la conexión con Twitter ya esté implementada, los usuarios tendrán que implementar la lógica específica necesaria para acceder a los datos de los sensores o para controlar los actuadores ya que cada dispositivo, sensor y actuador tiene su funcionamiento específico.

Debido a esto, el ciclo de trabajo de Bilrost se puede dividir en dos pasos en los que la interacción de los usuarios es necesaria, Como se muestra en la Figura 27, estos dos pasos son, la generación de proyectos y el completado de proyectos.

Figura 26. Componentes que participan en la interconexión de objetos a través de redes sociales.

Page 178: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

160

A. Generación de proyectos

El primer paso en del ciclo de trabajo de Bilrost es la generación de proyectos de aplicaciones que conecten objetos inteligentes con redes sociales y está representado en la Figura 27 con el número 1.

En este paso, los usuarios tienen que definir sus dispositivos usando la sintaxis de BSL. Los dispositivos del ejemplo planteado se podrían definir mediante la sintaxis BSL a través de uno de los dos editores que Bilrost pone a disposición del usuario, mediante el editor textual y mediante el editor gráfico. Este último define un dispositivo de manera gráfica creando un modelo gráfico que el sistema transforma al modelo textual antes de proseguir con la generación del proyecto mientras que el editor textual crea un modelo textual mediante la sintaxis de BSL.

Tras definir los dispositivos con BSL, Bilrost generará los proyectos que cumplan las reglas definidas por los usuarios para ambos dispositivos a partir del modelo textual creado.

Esta propuesta hace que la creación de aplicaciones que conecten objetos inteligentes a Twitter sea más fácil ya que abstrae la conexión a las redes sociales de la implementación. Los usuarios solo necesitan conocimientos básicos de cómo funcionan sus dispositivos, es decir, como leer los sensores y como controlar los actuadores además de conocer la sintaxis BSL.

Los proyectos generados usan la tecnología o lenguaje de programación que el usuario indicó mediante la definición del dispositivo en BSL con el fin de que sea más fácil para los usuarios implementar la lógica faltante y que además sea adaptable al dispositivo destino ya que no todos los dispositivos son compatibles con el mismo lenguaje de programación.

El Código fuente 20 muestra el código resultante de un actuador una vez generado el proyecto. Como se puede ver, en ese fragmento de código hay varios comentarios que indican al usuario donde debe completar la lógica específica que controla al actuador. A través de mensajes de Twitter y sin necesidad de que el usuario escriba código para ese fin, usuarios de la red social u otros objetos podrán llamar a esos métodos como se verá más adelante.

Figura 27. Pasos del ciclo de trabajo de Bilrost: 1. Generación de proyectos y 2. Completado de proyectos.

Page 179: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

161

class LedActuator(ActuatorBase):

def __init__(self):

super().__init__('led')

def encender_action(self, params):

# TODO Fill as you want

pass

def apagar_action(self, params):

# TODO Fill as you want

pass

B. Completado de proyectos

El último paso del ciclo de trabajo de Bilrost, es el completado de los proyectos. En este paso, los usuarios tienen que completar los proyectos generados en el paso anterior. Estos proyectos contienen métodos vacíos que se corresponden con las acciones de los actuadores y los métodos de acceso a los datos de los sensores según lo que el usuario haya definido a través de la sintaxis BSL como se puede ver en el Código fuente 20. Este paso depende completamente del usuario y no de Bilrost ya que esta solución específica se centra en la interconexión de objetos a través de redes sociales en vez de en la generación de aplicaciones completas para objetos inteligentes. Automatizar este paso será trabajo futuro que será considerado para futuras investigaciones.

2.1.2.2.2. Arquitectura

La arquitectura de Bilrost se divide en 4 capas: Definición de código BSL, Generación de proyectos, Implementación de la lógica específica, y Despliegue de objetos. La primera y segunda capa forman parte del prototipo desarrollado en esta solución específica mientras que la tercera y cuarta capa no dependen del prototipo, sino que dependen del propio usuario. En futuras iteraciones del proyecto se abarcarán las dos capas restantes.

Definición de código BSL: En la primera capa del sistema es donde se define código usando la sintaxis de BSL y en ellas se encuentran los editores web, tanto el gráfico como el textual, y el analizador de código BSL. El editor web gráfico permite definir un dispositivo mediante un modelo gráfico compuesto de elementos visuales y generar la definición del dispositivo en sintaxis BSL mediante una transformación de modelos, el editor web textual permite definir un dispositivo usando directamente la sintaxis BSL y el analizador de código BSL interpreta la definición del dispositivo escrita en BSL, es decir el modelo, generando un JSON que el generador de proyectos utilizará para crear los proyectos de acuerdo a las propiedades indicadas mediante la sintaxis BSL o mediante el editor web gráfico.

Generador de proyectos: En la segunda capa del sistema es donde se encuentra el generador de proyectos de aplicaciones. A esta capa le llega el resultado de la capa anterior, es decir, el JSON resultante del analizador de código BSL. El generador de proyectos procesa ese JSON y genera el proyecto apropiado que cumple con los requisitos definidos con la conexión con las redes sociales ya implementada y con un esqueleto para ayudar a los usuarios a completar la lógica específica de los actuadores y sensores.

Código fuente 20. Esqueleto de un actuador tras la generación del proyecto.

Page 180: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

162

Implementación de lógica específica: En la tercera capa ya no hay componentes del prototipo, sino que se encuentra el propio proyecto recibido de la capa anterior. En esta capa el usuario debe importar el proyecto al IDE correspondiente y completar la lógica específica del dispositivo que permita a la aplicación acceder a los datos de los sensores y controlar los actuadores definidos en las capas anteriores.

Despliegue de Objetos: En la cuarta capa se encuentran los objetos inteligentes soportados y los proyectos ya finalizados. En esta capa los usuarios deben generar las aplicaciones de la manera adecuada para el dispositivo y desplegarlas en él. Por ejemplo, si se ha definido un dispositivo Android se deberá generar el archivo APK correspondiente e instalarlo en el dispositivo.

Las siguientes subsecciones explicarán los principales componentes de la solución propuesta: el editor gráfico, el analizador de código BSL y el generador de proyectos. Además, se explicará cómo completar la implementación específica y cómo funciona la comunicación a través de Twitter.

A. Editor web gráfico

El editor gráfico es uno de los componentes que los usuarios usan para modelar las aplicaciones. En esta solución hay dos editores, uno gráfico y otro textual, pero solo se explicará el funcionamiento del editor gráfico ya que el textual simplemente permite escribir código BSL y mandarlo al analizador de código BSL mientras que el editor gráfico dispone de un modelo gráfico para definir dispositivos. Se ha desarrollado usando tecnologías web con el fin de ser accesible para todos sin importar el sistema operativo o el dispositivo. El resultado obtenido del editor gráfico es la definición de un dispositivo escrita en BSL, y será los datos de entrada del analizador de código.

La Figura 28 muestra el aspecto de este editor donde se pueden diferenciar 4 zonas, cajas o bloques donde los usuarios pueden configurar las distintas partes que componen la definición de un dispositivo y que se detallan a continuación.

Figura 28. Editor Web gráfico de Bilrost.

Page 181: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

163

Device Box o Caja del Dispositivo

Al primer bloque se le llama Device Box o caja de dispositivo, se muestra en Figura 29 y está representado con el número 1 en la Figura 28. Este bloque permite configurar la tecnología o lenguaje de programación que el proyecto generado deberá usar y las palabras claves, aquí llamados filtros, que identifican al dispositivo en las redes sociales. En el caso de Twitter son hashtags. Ambos campos son obligatorios para generar la definición de un dispositivo en BSL.

Social Networks Box o Caja de Redes Sociales

Al segundo bloque se le llama Social Networks Box o caja de redes sociales, se muestra en Figura 30 y está representando con el número 2 en la Figura 28. Este bloque contiene la configuración de las redes sociales que el dispositivo usará, es decir, los parámetros necesarios por sus APIs y los usuarios que tienen permisos para comunicarse con el dispositivo. Un usuario puede ser una persona u otro dispositivo ya que se refiere a un usuario de la red social y no a una persona física. El prototipo desarrollado solo es compatible con Twitter, aunque se ha desarrollado pensando en la compatibilidad con nuevas redes sociales y es sencillo añadir la implementación para otras redes ya que se contempla como trabajo futuro investigar qué red social se adapta mejor a las necesidades de los objetos.

Objects Box o Caja de Objetos

Al tercer bloque se le llama Objects Box o caja de objetos se muestra en la Figura 31 y está representando con el número 3 en la Figura 28. Los usuarios pueden usar este bloque para añadir sensores o actuadores a su dispositivo, así como establecer las propiedades de cada uno de estos objetos. Un sensor necesita un nombre, un modo de trabajo entre manual y automático y opcionalmente unos filtros que permitan identificarlo mejor en las redes sociales. Y un actuador necesita un nombre, una lista de acciones que puede realizar y que pueden ser ejecutadas a través de las redes sociales y opcionalmente unos filtros que permitan identificarlo mejor en las redes sociales a la

Figura 29. Editor gráfico - Device Box o Caja del dispositivo.

Figura 30. Editor gráfico - Social Networks Box o Caja de redes sociales.

Page 182: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

164

vez que permitir ejecuciones simultaneas de varios actuadores que tengan el mismo filtro y acciones como se verá más adelante.

Rules Box o Caja de reglas

Al cuarto y último bloque se le llama Rules Box o caja de reglas se muestra en la Figura 32 y está representando con el número 4 en la Figura 28. Esta caja es la más compleja de las 4 cajas. Los usuarios pueden usarla para añadir reglas que permitan la automatización de tareas. Cada regla tiene 3 partes diferentes:

• La fuente de datos. Se corresponde con un sensor o grupo de sensores.

• La condición que debe cumplir los datos recogidos para realizar acciones.

• Las acciones o ejecuciones que realizar si se cumple la condición dada.

Haciendo uso del ejemplo que se ha definido anteriormente, un usuario podría añadir una regla que use como fuente de datos el sensor de luminosidad de la Raspberry Pi, la condición que se debe cumplir sería “si los datos son inferiores a un valor dado entonces…” y la ejecución a realizar sería llamar a la acción «encender» de un actuador externo llamado flash con los filtros usados en la definición del dispositivo Android. Si esta regla se establece en la definición de la Raspberry Pi se estaría usando un sensor del dispositivo e invocando una acción de un dispositivo externo a través de Twitter y si la regla se establece en la definición del dispositivo Android se estaría usando un sensor de un dispositivo externo por lo que se estaría leyendo el valor a través de Twitter e invocando una acción de un actuador del propio dispositivo.

Teniendo esto en cuenta, un usuario podría definir un dispositivo que no tuviera sensores ni actuadores, pero si reglas de manera que funcionaría como un orquestador de acciones que invocarías acciones externas cuando un sensor externo tiene un valor concreto.

Además, los editores permiten guardar la definición escrita en BSL a un fichero local para poder cargarla más tarde con el fin de poder modificarla posteriormente.

Es importante mencionar que usando el editor gráfico el usuario no necesita conocer la sintaxis BSL ya que el editor gráfico es capaz de generar proyectos sin escribir una sola

Figura 31. Editor gráfico - Objects Box o Caja de objetos.

Page 183: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

165

línea de código BSL, aunque existe la posibilidad de ver la definición en BSL una vez completada la definición con el editor gráfico.

B. Analizador de código BSL

La entrada del analizador de código BSL es la definición de un dispositivo escrito en BSL. Esta definición puede venir tanto del editor web gráfico como del editor web textual, o incluso de un fichero local usando línea de comandos.

A través del análisis léxico y del análisis sintáctico se interpreta la definición del dispositivo y se genera un JSON que se enviará al generador de proyectos para que genere el proyecto adecuado según la definición. Para realizar estos pasos se han usado las implementaciones en Python de las herramientas de análisis lex y yacc.

Para modelar el ejemplo definido anteriormente usando BSL, hay que definir dos dispositivos, un microcomputador Raspberry Pi y un dispositivo Android. En el Código fuente 21 se puede ver la definición del microcomputador Raspberry Pi en BSL y en el Código fuente 22 se puede ver la definición del dispositivo Android en BSL.

DEVICE IN PYTHON

FILTER BY 'bilrost', 'rpi'

SOCIAL NETWORKS

CONNECT TO TWITTER

TOKEN 'token'

SECRET 'secret'

ACTUATORS

DEFINE ACTUATOR 'led'

ACTIONS 'on'

SENSORS

DEFINE SENSOR 'luminosidad'

Figura 32. Editor gráfico - Rules Box o Caja de reglas.

Page 184: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

166

MODE MANUAL

RULES

DEFINE RULE TO SENSOR 'luminosidad'

IF VALUE IS LESS THAN 30

EXECUTE ACTION 'on'

IN EXTERNAL ACTUATOR 'flash'

FILTER BY 'bilrost', 'smartphone'

DEVICE IN ANDROID

FILTER BY 'bilrost', 'smartphone'

SOCIAL NETWORKS

CONNECT TO TWITTER

TOKEN 'token'

SECRET 'secret'

ACTUATORS

DEFINE ACTUATOR 'flash'

ACTIONS 'on'

SENSORS

DEFINE SENSOR 'acelerometro'

MODE MANUAL

RULES

DEFINE RULE TO SENSOR 'acelerometro'

IF VALUE IS EQUAL TO 1

EXECUTE ACTION 'on'

IN EXTERNAL ACTUATOR 'led'

FILTER BY 'bilrost', 'rpi'

C. Generador de proyectos

El componente que se encarga de analizar el JSON generado en el analizador de código BSL es el generador de proyectos. Este componente se encarga de analizar el JSON extrayendo los datos necesarios para generar un proyecto que cumpla los requisitos.

En función de los datos del JSON, el generador de proyectos selecciona una plantilla y la completa con los datos extraídos del JSON hasta obtener un esqueleto de proyecto con los actuadores, las acciones de los actuadores y los sensores definidos, además de tener implementada la conexión con las redes sociales.

Actualmente, el prototipo desarrollado es capaz de generar proyectos en 3 tecnologías distintas: Python, Java y Android. En el caso de Java, se crea un proyecto con la estructura necesaria para el IDE IntelliJ IDEA, en el caso de Android, se crea un proyecto con la estructura necesaria para el IDE Android Studio y en el caso de Python sigue la estructura más simple posible que pueda ser importado en cualquier IDE.

El proyecto resultante tiene un esqueleto con métodos vacíos, como ya se ha visto en el Código fuente 20. En este código se puede ver la clase Python de un actuador llamado «Led». Se trata del actuador del dispositivo Raspberry Pi usado en el ejemplo. La clase tiene dos métodos que se corresponden con las dos acciones, el método para encender el led y el método para apagarlo. Estos métodos se invocarán de manera automática cuando el dispositivo lea en Twitter un mensaje que encaje con sus filtros y con las características del actuador.

Código fuente 21. Definición del dispositivo Raspberry Pi del ejemplo en BSL.

Código fuente 22. Definición del dispositivo Android del ejemplo en BSL.

Page 185: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

167

D. Implementación específica

De la capa anterior, el generador de proyectos, se obtiene un esqueleto de aplicación importable en el IDE correspondiente en el que los módulos encargados de la conexión del dispositivo con las redes sociales ya están completamente implementados. El usuario solo debe completar la implementación específica realizar las acciones de los actuadores, para acceder a los datos de los sensores de manera automática y/o la implementación que acceda a los datos de los sensores de forma manual y que deben ser enviados al módulo de conexión con las redes sociales.

El Código fuente 23 es un ejemplo de una implementación final de un actuador. El código de el Código fuente 23 se corresponde con el esqueleto visto en el Código fuente 20 y es el actuador del dispositivo Raspberry Pi definido en el ejemplo usado. Este código implementa el encendido y apagado de un led situado en el PIN 6 de un microcomputador Raspberry Pi.

import RPi.GPIO as GPIO

class LedActuator(ActuatorBase):

def __init__(self):

super().__init__('led')

self.port = 6

GPIO.setmode(GPIO.BCM)

GPIO.setup(self.port, GPIO.OUT)

def encender_action(self, params):

GPIO.output(self.port, True)

def apagar_action(self, params):

GPIO.output(self.port, False)

2.1.2.2.3. Comunicación a través de Twitter

La comunicación a través de Twitter se realiza por medio de la publicación de mensajes o tuits en la línea temporal de Twitter. La estructura de cada tuit depende del objeto con el que interacciona, es decir, los mensajes o tuits serán diferentes si proceden de un sensor o si es un mensaje destinado a ejecutar una acción de un actuador. Sin embargo, ambos mensajes tienen una parte común, deben contener los filtros del dispositivo que contiene el objeto con el que interactúan.

El funcionamiento de la comunicación a través de Twitter se debe explicar separando los mensajes que se intercambian con las redes sociales en dos grupos: mensajes para controlar un actuador y mensajes que publican los datos de un sensor.

A. Mensajes para controlar un actuador

La estructura de los mensajes para controlar un actuador está compuesta de los filtros del dispositivo, los filtros del actuador en caso de tenerlos, el nombre del actuador, la acción a llamar y los parámetros que la acción necesita en caso de necesitarlos. Además, los mensajes pueden contener más texto plano sin que ello interfiera en el correcto funcionamiento del sistema.

Código fuente 23. Ejemplo de implementación de un actuador.

Page 186: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

168

Los filtros y el nombre del actuador van precedidos del símbolo almohadilla (#) debido a que las palabras clave de Twitter o hashtags van precedidos de este símbolo. Las acciones son texto plano y los parámetros de la acción texto entre comillas. El resto del mensaje es ignorado sin importar su contenido.

Cuando la publicación se hace manera automática como fruto de la automatización de las reglas, junto a lo ya mencionado se publica el timestamp con el fin de que los tuits sean todos únicos y evitar así las restricciones de Twitter de publicación de dos tuits idénticos.

En las siguientes líneas se muestran ejemplos de tuits que manejan los actuadores definidos:

• #bilrost #rpi #led encender: Invoca la acción llamada encender del actuador llamado led del dispositivo que responde ante los filtros bilrost y rpi.

• #bilrost #smartphone #flash encender: Invoca la acción llamada encender del actuador llamado flash del dispositivo que responde ante los filtros bilrost y smartphone.

• #bilrost #uniovi #clima #calefaccion ajustar “22” – Invoca la acción llamada ajustar del actuador llamado calefaccion que tiene un filtro clima del dispositivo que responde ante los filtros bilrost y uniovi. Además, aparece entre comillas los parámetros de la acción ajustar que en este caso es el valor 22. Los parámetros deben ir entre comillas y es el usuario el que se encarga de implementar como se deben tratar los parámetros en la fase del completado del proyecto.

Los filtros y el nombre del actuador se representan de la misma manera y por tanto no es posible identificar si los hashtags se corresponden con un nombre, un filtro de dispositivo o un filtro del actuador. Sin embargo, el sistema de procesado de mensajes de las redes sociales realiza una búsqueda ordenada de manera que primero comprueba que el tuit contenga los filtros del dispositivo y en caso afirmativo se procede a la búsqueda del nombre del actuador entre los del dispositivo descartando del mensaje los filtros ya utilizados. Si se encuentra un actuador cuyo nombre aparece en lo que queda del mensaje y que pueda realizar la acción, se selecciona ese actuador. Sin embargo, en el caso de que no aparezca el nombre del actuador en el mensaje, se realizaría la acción en todos los actuadores que dispongan de ella. De esta manera, si el analizador llega a completar todos los pasos y obtiene una invocación completa la efectúa, ya sea a nivel de un único actuador o de varios actuadores.

Para realizar una ejecución de varios actuadores se puede ignorar el nombre del actuador de manera que el dispositivo buscará todos los actuadores que puedan ejecutar dicho método como se puede ver en el siguiente ejemplo. Por tanto, el nombre del actuador es opcional.

• #bilrost #uniovi #luces encender: Invoca la acción llamada encender de todos los actuadores que tengan el filtro luces del dispositivo que responde ante bilrost y uniovi.

Como Twitter tiene la restricción de no permitir la publicación de tuits idénticos por el mismo usuario, cuando una regla definida en un dispositivo invoca una acción a través de Twitter, se añade el timestamp como se puede ver en el siguiente ejemplo.

Page 187: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

169

• #bilrost #uniovi #pantalla mostrar "Hola, mi valor es 1" 2019-12-05T10:18:36.898989: Invoca la acción llamada mostrar del actuador llamado pantalla del dispositivo que responde ante bilrost y uniovi y usando como parámetro «Hola, mi valor es 1».

B. Mensajes que publican los datos de un sensor

La estructura de los mensajes en los que se publican los datos de un sensor en Twitter, están compuestos por los filtros del dispositivo, los filtros del sensor si los hubiese, el nombre del sensor y los datos del sensor. Además, los sensores publican el timestamp con el fin de evitar la restricción de Twitter de no poder publicar dos mensajes iguales.

Los filtros y el nombre del sensor van precedidos del símbolo almohadilla (#) debido a que las palabras clave de Twitter o hashtags van precedidos de ese símbolo y los datos del sensor entre comillas. El resto del mensaje es irrelevante y los dispositivos que lean el mensaje lo ignorarán.

En las siguientes líneas se muestran ejemplos de tuits que comparten el estado de los sensores del ejemplo definido.

• #bilrost #rpi #luz "50" 2019-12-05T10:18:24.571613: Muestra que el sensor llamado luz del dispositivo cuyos filtros son bilrost y rpi ha detectado el valor 50. Esto significa que el sensor de luz de la Raspberry Pi ha detectado que el nivel de luz es 50.

• #bilrost #smartphone #acelerometro "1" 2019-12-05T10:18:42.649773: Muestra que el sensor llamado acelerometro del dispositivo cuyos filtros son bilrost y smartphone ha detectado el valor 1. Esto significa que el acelerómetro del dispositivo Android ha detectado una sacudida.

Para que un sensor publique un valor es necesario que el usuario finalice el proyecto en la fase de completado del proyecto. Si el sensor se define como automático se debe rellenar un método del que ya existe su esqueleto y que debe devolver exactamente lo que el usuario quiere que se publique en Twitter. El dispositivo llamará a ese método según la frecuencia configurada. Y si el sensor se ha definido como manual, el usuario deberá llamar a un método del sensor pasándole por parámetro lo que quiere que se publique en Twitter cuando él lo desee.

El sistema de filtros funciona de la misma manera que el de los actuadores. El sistema buscará sensores que cumplan los filtros o el nombre de este y evaluará su valor con la condición definida en la regla. Si la condición es correcta se ejecutarán las ejecuciones mediante la publicación de mensajes que controlan a un actuador si el actuador es externo ya que en caso de ser interno la llamada se hace directamente sin pasar por Twitter.

2.1.2.2.4. Software y hardware utilizados

Con el fin de desarrollar este prototipo se ha necesitado diferentes tipos de componentes software y hardware. Los componentes software utilizados son los siguientes:

• Los editores web fueron escritos usando JavaScript ES6 y usando la librería ReactJS 15.0.2. Además, se ha usado Webpack 1.13 junto a Babel para traducir

Page 188: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

170

el código a ES5, con el fin de que sea compatible con todos los navegadores actuales, y para crear un paquete con todo el código.

• El analizador de sintaxis BSL fue escrito usando Python 3.5.1 y usando la librería Ply 3.8.

• Los proyectos generados fueron escritos con Python 3.5.1, Java 8 y Android 5.1.1 aunque hay retrocompatibilidad con Python 3.x y Android 4.x.

• El proyecto generado en Python usa la librería Twython 3.4.0.

• Los proyectos generados de Java y Android usan las librearías Gson 2.6.2 y Twitter 4j 4.0.4.

Con fines de probar la propuesta se han usado distintos componentes hardware entre los que destacar un microcomputador Raspberry Pi 2 con varios componentes electrónicos conectados a sus puertos GPIO y un Galaxy Note 4 con Android 5.1 Lollipop.

2.1.3. Evaluación y discusión En este apartado se presentará el proceso seguido para evaluar la propuesta de esta

solución específica y así afirmar si la hipótesis planteada es cierta o no. Para ello se describirá la metodología seguida, se mostrarán los resultados obtenidos y se hará una discusión sobre el significado de estos datos.

El objetivo de esta solución es comprobar si es posible facilitar la creación de aplicaciones que interconecten objetos inteligentes entre sí y con personas a través de redes sociales. Por otro lado, también se analizará a partir de los resultados obtenidos, cuál de las dos herramientas presentadas para definir dispositivos, el editor textual y el editor gráfico, es mejor para lograr este objetivo.

2.1.3.1.Metodología

La metodología seguida para la evaluación tiene dos propósitos diferentes: recopilar datos que permitan tomar la decisión de que editor es mejor para el objetivo planteado y recopilar opiniones de los usuarios de las que se pueda deducir si la solución propuesta hace más sencilla la creación de aplicaciones que su desarrollo de la manera tradicional. Para lograr estos dos propósitos, se han reclutado 10 voluntarios con conocimientos sobre el desarrollo de aplicaciones que han realizado la evaluación de manera anónima.

La metodología seguida se puede dividir en dos fases diferentes que recopilan los datos para cada uno de los propósitos que se acaban de plantear.

• Fase 1: En esta fase, se quiere recopilar datos sobre el uso que hacen los participantes de los dos editores para completar una tarea propuesta para la evaluación. Esta tarea es un caso de uso básico que consiste en la definición de un dispositivo que se debe comunicar con otro dispositivo ya existente, con el fin de realizar una tarea colaborativa.

• Fase 2: En esta fase, se quiere recopilar las opiniones de los usuarios que han utilizado el sistema en la fase anterior mediante una encuesta basada en la escala de Likert (Likert, 1932).

2.1.3.1.1. Fase 1

Antes de realizar esta fase, se ha definido un escenario que simula un escenario real en el que un usuario quiere conectar un nuevo dispositivo con otro dispositivo ya existente con el objetivo de automatizar ciertas acciones.

Page 189: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

171

El escenario definido aborda el desarrollo de una aplicación que pueda controlar la temperatura de una habitación mediante el control del aire acondicionado y de la calefacción, y mediante la medición de la temperatura con un sensor de temperatura. El ciclo de trabajo consiste en encender la calefacción y apagar el aire acondicionado cuando la temperatura sea inferior a cierto valor, y apagar la calefacción y encender el aire acondicionado cuando la temperatura sea superior a cierto valor.

Sin embargo, según la tarea que se propuso a los usuarios, estos no tenían que definir todo el sistema planteado, sino que tenían que debían darse cuenta de que el dispositivo que puede controlar la calefacción ya estaba definido y listo para ser controlado a través de Twitter.

La tarea definida consiste entonces en definir un único dispositivo capaz de controlar el aire acondicionado y de medir la temperatura. Por otro lado, existe otro dispositivo, que ya está en funcionamiento, capaz de controlar la calefacción. El dispositivo definido debe ser capaz de automatizar el encendido y el apagado, tanto de la calefacción como del aire acondicionado, de acuerdo con la temperatura de la habitación. Si la temperatura es menor de 16ºC, el aire acondicionado tiene que apagarse y la calefacción tiene que encenderse. Por otro lado, si la temperatura es superior a 25ºC, el aire acondicionado tiene que encenderse y la calefacción tiene que apagarse. La temperatura deberá comprobarse cada 30 segundos.

Los participantes deberán tener en cuenta que el dispositivo ya definido usa los filtros bilrost, evaluation, and external, y controla la calefacción mediante un actuador llamado heating y cuyas acciones son on y off.

Para recoger datos sobre el uso del sistema por los participantes, se les ha proporcionado una explicación sobre cómo se define un dispositivo que tuvieron que leer sin un límite de tiempo establecido. Durante esta lectura, los participantes podían realizar preguntas sobre dudas que les surgiese sobre el funcionamiento del sistema. Además, en esa descripción, también podían observar un ejemplo donde se definen dos dispositivos que están interconectados con el fin de mejorar la compresión del sistema.

Tras leer la descripción, se les ha mostrado el sistema y otorgado tiempo para probarlo con el objetivo de intentar eliminar de los resultados el tiempo de la curva de aprendizaje. Una vez que los usuarios confirmaban que ya habían entendido el sistema y que están listos, se les entregaba la tarea que deben realizar y se les dio más tiempo para leerla y razonar como llevarla a cabo, pero sin tener acceso al sistema.

Finalmente, cuando los participantes estén listos, se empiezan a medir los tiempos. Se realizan dos mediciones, el tiempo empleado en realizar la tarea con el editor textual y el tiempo empleado en realizar la tarea con el editor gráfico. Con el fin de comparar como afecta a los resultados el editor usado en primer lugar, los participantes se alternaban el editor que usarán en primer lugar. Así, los participantes impares usaron primero el editor textual y los participantes pares el editor gráfico. Durante toda la prueba, los participantes tenían acceso a la descripción dada al principio de ella.

Una vez que los participantes finalizan adecuadamente la tarea en ambos editores, comienza la segunda fase de la evaluación.

Page 190: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

172

2.1.3.1.2. Fase 2

Una vez que los participantes hayan finalizado la tarea propuesta, deben rellenar la encuesta creada de manera anónima y sin ayuda.

Con el objetivo de medir y evaluar la encuesta, se ha decido usar la escala de Likert (Likert, 1932) ya que es una de las más usadas en el diseño de encuestas. La encuesta creada es una escala de Likert de 5 puntos que presenta a los participantes las siguientes opciones: 1 como «completamente en desacuerdo», 2 como «en desacuerdo», 3 como opción neutral, 4 como «de acuerdo» y 5 como «complemente de acuerdo».

La encuesta contiene 14 declaraciones sobre las que se pregunta a los participantes su opinión tras haber usado los dos editores. Las declaraciones están relacionadas con las posibilidades del sistema propuesto, su posible impacto en Internet de las Cosas y su posible impacto en las redes sociales. Las declaraciones se pueden ver en la Tabla 7.

Pregunta Descripción

Q1 El usuario entiende la funcionalidad de los elementos de ambos editores y del DSL y sus roles en el proceso de creación de aplicaciones.

Q2 Este DSL, a través de ambos editores, permite interconectar dispositivos entre sí y con personas a través de redes sociales de manera sencilla, usando pocas líneas de código y en poco tiempo.

Q3 Usando este DSL, a través de ambos editores, es más difícil cometer errores durante el modelado de aplicaciones que haciéndolo todo desde cero.

Q4 La solución propuesta ofrece una manera rápida de desarrollar la tarea indicada.

Q5 La solución propuesta ayuda a la creación de aplicaciones en las que hay objetos interconectados a través de redes sociales.

Q6 El editor TEXTUAL no requiere conocimientos de programación complejos.

Q7 El editor GRÁFICO no requiere conocimientos de programación complejos.

Q8 El DSL y ambos editores, incluyen suficientes elementos y funcionalidades para que el usuario pueda crear una gran numero de aplicaciones en las que se interconecten objetos a través de redes sociales

Q9 El DSL y ambos editores, incluyen suficientes elementos y funcionalidades para que el usuario pueda crear una gran numero de aplicaciones en las que se interconecten objetos a través de redes sociales.

Q10 El DSL y ambos editores, incluyen suficientes elementos y funcionalidades para que el usuario pueda crear una gran numero de aplicaciones en las que la gente pueda interactuar con dispositivos a través de redes sociales.

Q11 Esta solución es una contribución positiva para mejorar el desarrollo de servicios y aplicaciones que necesiten interconectar objetos entre sí o con personas.

Q12 Internet de las Cosas puede beneficiarse de esta solución.

Q13 Las redes sociales pueden beneficiarse de esta solución.

Q14 El editor gráfico hace que la creación de la interconexión a través de redes sociales sea más fácil que con el editor textual.

Tabla 7. Encuesta realizada a los participantes en la evaluación.

Page 191: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

173

2.1.3.2.Resultados

Una vez hecha la evaluación con los participantes, se han obtenido datos de ambas fases. En los siguientes apartados se mostrarán los resultados obtenido en las mediciones de cada fase.

2.1.3.2.1. Fase 1

La Figura 33 muestra el tiempo que cada participante ha empleado en completar la tarea con cada editor y la media de todos los participantes con cada editor. El usuario que menos tiempo ha invertido en realizar la tarea con el editor textual ha empleado 294s mientras que el usuario con el menor tiempo invertido en el editor gráfico fue 201s. El mayor tiempo empleado en realizar la tarea con el editor textual fue 672s mientras que con el editor gráfico fue 730s.

La media de tiempo invertido en el editor textual fue 471,5s y la del editor gráfico fue 383,9s. La desviación estándar de los tiempos del editor textual fue 113,48s mientras que la del editor gráfico fue 150,16s.

También se han recogido datos agrupados en función del editor que los participantes hayan usado en primer lugar con el fin de saber si enfrentarse primero a uno u otro puede influir en los resultados. Estos datos se pueden visualizar en la Figura 34.

El grupo que ha empezado con el editor textual ha empleado una media de 491,4s en el editor textual, con un máximo de 672s, un mínimo de 339s y una desviación típica de 117,55s. Este grupo ha empleado en el editor gráfico un tiempo medio de 296,6s, con un máximo de 408s, un mínimo de 201s y una desviación típica de 75,65s.

El otro grupo, los usuarios que empezaron con el editor gráfico, ha empleado un tiempo medio de 451,6s en el editor textual, con un máximo de 600s, un mínimo de 294s y una desviación típica de 105,58s. Este grupo, ha empleado en el editor gráfico, un tiempo medio de 471,2s, con un máximo de 730s, un mínimo de 301s y una desviación típica de 155,33s.

Figura 33. Tiempos empleados por cada participante en completar la evaluación.

Page 192: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

174

2.1.3.2.2. Fase 2

La Tabla 8 muestra la estadística descriptiva obtenida de las encuestas hechas por los participantes. Esta gráfica muestra el desglose de cada pregunta: el mínimo, el primer cuartil, la mediana, el tercer cuartil, el máximo, el rango (diferencia entre máximo y mínimo), el rango entre cuartiles y la moda.

Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14

Min 3 3 4 4 4 3 2 3 3 3 4 4 2 3

Cuartil 1 4,25 4 4 4 4 4 3,25 4 4 3 4 4 3 4,25

Mediana 5 4,5 4,5 5 4,5 4,5 4 5 4 4 4,5 5 3,5 5

Cuartil 3 5 5 5 5 5 5 4,75 5 4,75 4,75 5 5 5 5

Max 5 5 5 5 5 5 5 5 5 5 5 5 5 5

Rango 2 2 1 1 1 2 3 2 2 2 1 1 3 2

Inter Qrt.-Rango 0,75 1 1 1 1 1 1,5 1 0,75 1,75 1 1 2 0,75

Moda 5 5 5 5 5 5 4 5 4 3 5 5 5 5

Tabla 8. Estadística descriptiva obtenida de las respuestas de las encuestas.

Por otro lado, en la Figura 35 también se presenta la misma información a través de un diagrama de cajas y bigotes.

Además, en la Figura 36 se puede ver un gráfico que representa la frecuencia de las respuestas de cada pregunta.

Sumando los valores de las respuestas de cada usuario y calculando la media de la puntuación otorgada por cada usuario, se obtiene una puntuación media de 60,6, que

Figura 34. Tiempo medio usado para completar la tarea en función del primer editor usado.

Page 193: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

175

dividiéndola entre el número de preguntas da una puntuación de 4,33 por cada pregunta en base 5.

2.1.3.3.Discusión

Tras obtener los resultados de cada fase, se procede a analizarlos y realizar una discusión sobre ellos.

2.1.3.3.1. Fase 1

De la Figura 33, donde se muestra el tiempo empleado por cada participante en cada editor para realizar la tarea asignada, se puede concluir que, por norma general, el uso del editor gráfico conlleva un menor tiempo que el editor textual. Sin embargo, hay casos en los que no es así pero que se podrían justificar en que el primer editor usado puede tener una penalización de tiempo debido a la curva de aprendizaje en caso de

Figura 35. Diagrama de cajas y bigotes de cada pregunta.

Figura 36. Frecuencias de las respuestas de la encuesta por pregunta.

Page 194: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

176

que el participante no haya comprendido correctamente el funcionamiento del sistema en la fase previa. Por ejemplo, el participante 6 ha empezado con el editor gráfico y ha estado más tiempo con ese editor que con el editor textual.

A continuación, se realizará un estudio estadístico para determinar si el editor que se ha usado en primer lugar ha influido en los resultados obtenidos con el otro editor.

Lo primer que se debe hacer es comprobar si los datos siguen o no una distribución normal. El conjunto de datos usado está dividido en 4 grupos:

• Tiempo empleado en el editor textual por los usuarios que empezaron con el editor textual.

• Tiempo empleado en el editor gráfico por los usuarios que empezaron con el editor textual.

• Tiempo empleado en el editor textual por los usuarios que empezaron con el editor gráfico.

• Tiempo empleado en el editor gráfico por los usuarios que empezaron con el editor gráfico.

Planteando como hipótesis nula que la muestra proviene de una población distribuida normalmente, se aplica el test de normalidad de Shapiro-Wilk obteniendo unos p-values de 0,9137, 0,7754, 0,9378 y 0,5215 respectivamente. Todos los p-values son mayores que el nivel de significación (0,05), por tanto, no se puede rechazar la hipótesis nula para ninguno de los conjuntos de datos.

Asumiendo que los datos siguen una distribución normal, se comprueba que los conjuntos de datos, en función del editor que se usa en primer lugar, tienen varianzas iguales. Para ello se aplica el test F de Fisher tomando como hipótesis nula la igualdad de varianzas. Al aplicar este test al grupo formado por los usuarios que empiezan por el editor textual cogiendo como variables los tiempos empleados en cada editor, y al grupo formado por los usuarios que empiezan por el editor gráfico, se obtienen los p-values 0,4142 y 0,4729 respectivamente. Estos p-values son mayores que el nivel de significación (0,05), por tanto, no se puede rechazar la hipótesis nula en ninguno de los grupos. Es decir, se asume que las varianzas son iguales en ambos grupos.

Por último, teniendo en cuenta que se asume que las muestras siguen una distribución normal y las varianzas de ambos grupos son iguales, se aplica el test T de Student para muestras pareadas partiendo de la hipótesis nula planteada, es decir, que el editor que se usa en primer lugar no influye en los resultados finales. Los p-values obtenidos son los siguientes:

• Comenzando la prueba con el editor textual: 0,001319.

• Comenzando la prueba con el editor gráfico: 0,698. En el caso de comenzar la prueba con el editor textual, se ha obtenido un p-value

inferior al nivel de significación (0,05), por tanto, se puede rechazar la hipótesis nula y afirmar que usar el editor textual en primer lugar influye significativamente en el tiempo empleado en el editor gráfico.

Sin embargo, el p-value obtenido en el caso de comenzar la prueba con el editor gráfico es mayor que el nivel de confianza (0,05), por tanto, no se puede rechazar la hipótesis nula y se asume que usar el editor gráfico en primer lugar no influye en el tiempo empleado en el editor textual.

Page 195: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

177

En base a estos datos y a la gráfica de la Figura 34, se concluyen que empezar por el editor textual hace que el uso del editor gráfico sea más sencillo y, sin embargo, esto no ocurre en el caso contrario. Esto puede ser debido a que usar una sintaxis textual es más difícil que usar componentes visuales, por tanto, una vez que un participante ha completado la tarea con el editor textual, realizarla con el editor gráfico le parece más sencillo. Mientras que, en el caso contrario, para un usuario que se ha enfrentado primero al editor gráfico, enfrentarse al editor textual es posible que le parezca más tedioso y no tenga asimilado por completo el funcionamiento del sistema.

2.1.3.3.2. Fase 2

A partir de la Tabla 8 y de la Figura 35 se pueden realizar las siguientes interpretaciones:

• Q7 y Q13 tienen el menor mínimo. Algunos participantes están en desacuerdo con ellas. Estas preguntas tratan la dificultad de cometer errores con ambos editores y la necesidad de tener conocimientos de programación para usar el editor textual. Ambas están relacionadas ya que la necesidad de conocimientos que requiere el editor textual implica que se puedan cometer errores con él.

• El mínimo más alto lo tienen Q3, Q4, Q5, Q11 y Q12. Esto significa que todos los participantes estaban, al menos, de acuerdo con ellas.

• Excepto Q7, Q10 y Q13, el resto de las declaraciones tiene el primer cuartil por encima de 4, es decir, al menos el 75% de los participantes están de acuerdo con ellas. Esas 3 declaraciones tienen el primer cuartil por encima de 3, es decir, que menos del 25% de los participantes están en desacuerdo con ellas.

• Q1, Q4, Q8, Q12 y Q14 tienen la mediana en el mismo valor que el tercer cuartil y en el máximo valor. Esto quiere decir que, al menos la mitad de los participantes están completamente de acuerdo con esas declaraciones. Q2, Q3, Q5, Q6 y Q11 tienen la mediana por encima de 4 y Q7, Q9, y Q10 tienen la mediana en el valor 4. Esto quiere decir que al menos el 50% por cierto de los participantes está de acuerdo con esas declaraciones. Sin embargo, Q13 tiene la mediana por debajo de 4 pero por encima de 3. Esto quiere decir que menos del 50% de los participantes está de acuerdo con la declaración.

• Excepto Q7, Q9 y Q10, el resto de las declaraciones tienen el tercer cuartil en el máximo. Esto quiere decir que al menos el 25% de los participantes está completamente de acuerdo con estas declaraciones.

• Todas las declaraciones tienen como máximo misma opción, completamente de acuerdo. Esto quiere decir que, al menos 1 participante por cada declaración está completamente de acuerdo con ella.

• La moda de Q7 y Q9 ha sido de acuerdo, la de Q10 la opción intermedia y en el resto completamente de acuerdo. Por tanto, la mayoría de los participantes están, al menos, de acuerdo con las declaraciones planteadas.

Por otra parte, a partir de la Figura 36 se pueden obtener interpretaciones todavía no formuladas:

• Q7 y Q13 son las únicas declaraciones en la que algún participante está en desacuerdo con solo un 10% de participantes en desacuerdo en el caso de Q7 y un 20% en el caso de Q13.

• Q13 es la declaración peor valorada ya que solo el 50% de los participantes está de acuerdo con ella.

Page 196: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

178

• Q1 y Q14 son las declaraciones con las que más participantes están completamente de acuerdo, pero las mejor valoradas son Q3, Q4, Q5, Q11 y Q12 ya que el 100% de los participantes esta, al menos, de acuerdo con ellas.

La puntuación media de cada pregunta es 4,33 y se ha calculado en función de la media de las puntuaciones totales de la encuesta por cada usuario, y dividiendo esa media por el número de preguntas. Esa puntuación media representa que los participantes estaban, al menos, de acuerdo con la totalidad de la encuesta, por tanto, podemos concluir que los usuarios han valorado positivamente la propuesta planteada y su utilidad para facilitar la creación de aplicaciones que conecten objetos inteligentes de Internet de las Cosas entre sí y con personas, a través de redes sociales.

2.1.4. Conclusiones Mediante esta solución específica se ha propuesto una nueva forma de comunicar

objetos heterogéneos, ubicuos e inteligentes entre sí y con las personas. Esta comunicación se basa en la utilización de redes sociales.

Para ello se ha diseñado, mediante la aplicación de la Ingeniería Dirigida por Modelos, un Lenguaje de Dominio Específico, al que se ha llamado Bilrost-Specific Language (BSL), y cuyo fin es la definición de objetos inteligentes capaces de conectarse a redes sociales para compartir el estado de sus sensores y para permitir que otros objetos o personas puedan controlar sus actuadores.

También se ha desarrollado un prototipo, Bilrost, que permite la generación de proyectos de aplicaciones en diferentes lenguajes donde la conexión con las redes sociales ya está implementada y donde se suministra un esqueleto que el usuario deberá rellenar con la lógica específica para acceder a los datos de los sensores y para controlar los actuadores del dispositivo donde se va a desplegar. Este prototipo, además, cuenta con dos editores para definir objetos usando el DSL definido. Usando estos editores, los usuarios podrán crear modelos gráficos o textuales de los dispositivos indicando sus propiedades, sus componentes (actuadores y sensores), los parámetros que las APIs de las redes sociales necesitan y una serie de reglas que automatizan los procesos de invocación de acciones de actuadores del dispositivo o de otros dispositivos.

Para evaluar el sistema propuesto, se ha hecho una comparación entre los dos editores creados midiendo el tiempo que los participantes de la evaluación han empleado en completar una tarea específica con ambos editores. De estas mediciones se ha obtenido que la media de tiempo requerida para completar la tarea con el editor textual es mayor que el tiempo requerido para completar la tarea con el editor gráfico.

Además, se ha realizado otra comparación entre ambos editores considerando si comenzar la tarea con un editor u otro afecta a los resultados. De esta comparación se ha obtenido que empezar la tarea con el editor textual afecta al tiempo requerido para completar la tarea con el editor gráfico mientras que empezar la tarea por el editor gráfico no afecta a los tiempos del editor textual. Concretamente, empezar por el editor textual hace que el tiempo invertido en el editor gráfico sea aún menor.

Por otro lado, la evaluación del sistema propuesto también incluye la realización de una encuesta donde los usuarios evalúan el sistema tras haberlo usado. Las preguntas que compusieron la encuesta trataban asuntos sobre la experiencia de usuario mientras usaban el sistema propuesto. La puntuación media obtenida por pregunta fue 4,33

Page 197: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.1. Redes Sociales como canal de socialización

179

sobre 5, lo que significa que los participantes estaban de acuerdo con las declaraciones presentadas en la encuesta y que pensaban que el sistema era útil para interconectar dispositivos a través de redes sociales.

Teniendo en cuenta los resultados del proceso de evaluación, se puede afirmar que el sistema es útil para conectar objetos entre sí y con personas mediante el uso de redes sociales y que se han cumplido los objetivos planteados para esta solución específica.

Se ha logrado integrar objetos inteligentes en una red social, se ha logrado que las personas puedan interactuar con estos objetos, se ha logrado que los objetos se comuniquen entre sí a través de la red social, se ha definido un Lenguaje de Dominio Específico que realiza esa integración y configura las comunicaciones, se ha logrado facilitar la generación de aplicaciones que interconecten objetos inteligentes mediante la aplicación de Ingeniería Dirigida por Modelos y se ha logrado que se puedan generar aplicaciones que soporten distintas plataformas mediante la integración de elementos en el DSL que indican la plataforma de destino.

En resumen, se ha conseguido confirmar la hipótesis planteada, es decir, es posible facilitar la creación de aplicaciones que integren objetos inteligentes de Internet de las Cosas en las redes sociales de personas, permitiéndoles interaccionar entre sí, y la interacción de las personas con los objetos inteligentes.

2.1.5. Trabajo futuro Internet de las cosas podría ser el futuro, pero para ello es necesario abordar el

desarrollo de soluciones que integran IoT en nuestras vidas. Esta solución específica de esta tesis doctoral todavía no está concluida ya que queda mucho trabajo por hacer y líneas de investigación abiertas que seguir. A continuación, se enumeran sugerencias de trabajo futuro que se pueden realizar a partir de los resultados de esta solución específica.

• Añadir la generación de aplicaciones finales con la lógica específica ya implementada: Las aplicaciones que la propuesta presentada puede generar no son aplicaciones para usuarios finales ya que los usuarios deben completar las aplicaciones con la lógica específica del dispositivo donde se van a desplegar. Mejorar la sintaxis del BSL con el objetivo de añadir componentes para indicar el dispositivo es un posible trabajo futuro. Indicando el dispositivo, el sistema debería ser capaz de implementar el código específico para este. Además, se deberán añadir componentes al lenguaje dependientes de cada dispositivo ya que no todos los dispositivos tienen los mismos componentes o usan la misma configuración.

• Carga de módulos externos para nuevos dispositivos: En relación con el trabajo futuro presentado en el punto anterior, otro trabajo futuro podría consistir en permitir la ampliación del BSL y del sistema mediante módulos externos de manera que cualquier usuario pueda desarrollar un módulo para un dispositivo externo e integrarlo en el sistema con el fin de generar proyectos finales sin tener que volver a implementar la lógica específica en cada generación.

• Realizar un estudio sobre las posibilidades de las redes sociales de personas para conectar objetos inteligentes: El sistema aquí presentado usa Twitter para interconectar los objetos, pero existen muchas otras redes sociales que podrían ser útiles para conectar objetos. Un trabajo futuro podría ser la realización de

Page 198: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

180

una comparación de las redes sociales actuales centrándose en las ventajas y desventajas de integrar objetos inteligentes en ellas.

• Seguridad y privacidad: Actualmente, el sistema desarrollado usa la línea temporal de Twitter para compartir los mensajes que se usan para realizar la comunicación. Esta línea temporal suele ser pública. Un trabajo futuro podría ser ampliar la sintaxis del BSL para añadir opciones que permitan usar los mensajes privados de las redes sociales en vez de la zona pública, con el objetivo de comunicar objetos privados que no deben ser controlados por otras personas ni sus datos publicados.

• Usar lenguaje natural en las comunicaciones: El sistema propuesto usa las palabras claves disponibles en las redes sociales para reconocer y decidir qué hacer. Sin embargo, esto es demasiado artificial para las personas y hace difícil la interacción entre personas y objetos. Por ello, un posible trabajo futuro sería evitar el uso de estas palabras clave y usar lenguaje natural mediante algoritmos de procesamiento de lenguaje natural. Esto haría que la integración del sistema en las redes sociales fuese más natural y cómodo para los usuarios.

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

En esta solución específica se aborda la creación de un sistema en el que se hace uso de la inteligencia artificial para socializar objetos con personas a través de redes sociales. En esta solución no se propone nada novedoso respecto a la comunicación entre objetos, sino que se propone el uso de redes sociales para comunicar a personas con objetos aplicando inteligencia artificial para lograr que la comunicación sea en el lenguaje natural de las personas.

Las redes sociales son un canal de comunicación muy usado por las personas para comunicarse con amigos, familiares, o estar al tanto de lo que ocurre en el mundo que los rodea. Sin embargo, las máquinas no están muy presentes en este canal de comunicación y eso es lo que esta propuesta quiere resolver. Mediante la integración de las redes sociales e Internet de las Cosas es posible hacer pública cierta información bajo demanda de los usuarios. Por ejemplo, mediante esta integración, si un usuario quiere saber si está lloviendo en un momento específico en un lugar determinado sin recurrir a una persona que se encuentre en ese lugar y en ese momento, podría preguntar esa información a objetos de Internet de las Cosas que estén recopilando esos datos a través de redes sociales.

En esta propuesta de solución específica se presenta un nuevo sistema que permitirá a los usuarios pedir información a una red de sensores a través de una red social propia de las personas, concretamente, Twitter. Este sistema hará uso de sensores registrados por usuarios del sistema para resolver cuestiones de otros usuarios a través de Twitter. Para lograr recopilar la información de los sensores y combinarla, se propone tres tipos diferentes de relaciones entre sensores: vecinos, familiares y compañeros de trabajo. Y para el desarrollo de esta solución se propone una arquitectura basada en tres capas: capa social, capa de servicio y capa de objetos.

En los siguientes apartados de abordará esta propuesta de solución específica, llamada SenseQ, comenzando con una introducción mas extensa, seguida de la

Page 199: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

181

descripción de la solución propuesta, y finalizando con las conclusiones y el trabajo futuro planteado.

2.2.1. Introducción Las redes sociales son una tecnología muy presente en el día a día de las personas

donde comparten aspectos muy variados sobre su vida como, por ejemplo, qué están haciendo en el mismo momento de compartir una publicación, comparten fotos con sus amigos, dan su opinión sobre otras publicaciones, etc. Pero, además, las redes sociales no solo la usan las personas para estos fines, sino que también las usan los negocios para promocionar sus productos o servicios, e incluso las redes sociales se están convirtiendo en un nuevo canal de comunicación entre compañías y clientes.

Por otro lado, las redes sociales son una fuente de información para los usuarios ya que pueden consultar información muy diversa y no solo las publicaciones de sus amigos o conocidos, como la hora de cierre de un negocio, el teléfono de un restaurante, el tiempo atmosférico de una zona concreta a través de publicaciones de expertos, y mucha más información. Sin embargo, hay que tener en cuenta que esta información no es en tiempo real ya que los usuarios están leyendo publicaciones que se han escrito momentos atrás que pueden ser de segundo, días o años. Por ejemplo, un usuario puede ver la temperatura que hay en un lugar determinado a través del perfil de un experto en predicciones climatológicas y que esa publicación tenga días de horas de antigüedad y ya no sea válida.

La propuesta de esta solución específica trata del acceso a información a través de redes sociales. Pero esta información no la publican otras personas como en los ejemplos anteriores, sino que la publican muchos sensores en tiempo real. Por tanto, la propuesta aborda la combinación de redes sociales y el mundo de Internet de las Cosas para informar a los usuarios de información disponible en una red de sensores. Para lograr esta meta, se propone la creación de un sistema novedoso, llamado SenseQ, que se encarga de recopilar preguntas hechas por usuarios a través de redes sociales en su propio lenguaje natural y responderlas consultando información de diferentes sensores de una red de sensores específica usando también el lenguaje natural en redes sociales. En resumen, se busca hacer accesible la información de los sensores a través de redes sociales para cualquier usuario de forma sencilla.

La red social que se ha seleccionado para esta propuesta es Twitter ya que se basa en mensajes cortos con cierta semántica que hace que trabajar con ellos sea más sencillo. Pero la característica más importante y por la que Twitter es la red social que mejor se adapta a esta propuesta, es la no necesidad de reciprocidad en las relaciones entre usuarios (Kwak et al., 2010). De esta manera, un usuario no necesita ser seguido por otro usuario para poder seguirlo a él.

Esta propuesta presenta una solución de integración entre redes sociales e Internet de las Cosas (Meana-Llorián, González García, García-Díaz, et al., 2016) con el fin de profundizar en la investigación sobre como las tecnologías de Internet de las Cosas pueden comunicarse a través de las redes sociales de personas y como pueden recopilar información para ayudar y responder las inquietudes de las personas.

Page 200: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

182

2.2.2. Descripción de la solución propuesta La propuesta de solución específica de este apartado consiste en un sistema

denominado SenseQ, capaz de responder las preguntas que realizan usuarios de redes sociales usando como fuente de información sensores conectados al propio sistema. Además, estos sensores tendrán capacidades sociales ya que, dentro del sistema, los sensores serán capaces de tener sensores «amigos» con el fin de poder resolver preguntas de las personas de forma conjunta. Cuando un usuario pregunta por una información específica, el sistema tratará de recuperar la información de los sensores registrados o de las relaciones entre sensores. Por ejemplo, si un usuario pregunta por datos climáticos, el sistema tendrá que responder con datos de varios sensores como sensores de temperatura y humedad. Para ello, estos sensores tendrán una relación de «amistad» basada en que ambos aportan información climatológica.

Para poder explicar esta propuesta adecuadamente, esta sección se divide en cuatro subsecciones diferentes. En la primera se explicará el registro de los sensores, en la segunda el proceso de socialización de los sensores, en la tercera la interfaz en redes sociales que usará el usuario para comunicarse con el sistema, y en la última se explicará como se conecta el sistema con las redes sociales y como los sensores reciben y publican información en estas.

2.2.2.1.Registro de sensores

En esta solución específica, los sensores tienen que ser registrados en el sistema para poder acceder a la información que recopilan que sea útil para resolver las preguntas de los usuarios de las redes sociales. En esta propuesta, se propone que todo aquel usuario que disponga de sensores conectados a internet y quiera que su sensor sea utilizado por esta solución los registre en una aplicación web aportando los parámetros necesarios para identificar el sensor adecuadamente como su localización, su finalidad, su propietario y un nivel de privacidad para restringir el acceso a datos sensibles. Estos sensores, además, se relacionarán entre sí como se verá más adelante en el apartado 2.2.2.2.

A continuación, se detalla la función de cada uno de los parámetros que se deben registrar de los sensores presentes en el sistema.

2.2.2.1.1. Localización

La localización del sensor es uno de los parámetros requeridos para registrar un sensor en el sistema. Aunque el sensor se encuentre en una ubicación concreta, este parámetro almacenará varias localizaciones ya que un sensor debe poder accederse desde diferentes niveles de granularidad. Por ejemplo, un sensor situado en un laboratorio de una universidad debe ser accesible a través de diferentes niveles de localización como «Universidad», «Ciudad», «País». De esta manera, si una de las preguntas de un usuario es la temperatura de la universidad, se debería acceder a este sensor junto a otros ubicados en la universidad, y si el usuario pregunta por la temperatura en la ciudad donde está la universidad, también se debería acceder a este sensor junto a otros de la ciudad.

Este parámetro permite identificar los sensores vecinos de un sensor. Esta información permitirá uno de los tipos de relaciones entre sensores que se verán mas adelante en el apartado 2.2.2.2, la relación de vecinos.

Page 201: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

183

2.2.2.1.2. Finalidad

Otro parámetro que se requiere para registrar un sensor en el sistema es su finalidad. Al igual que ocurre con el parámetro de la localización, este parámetro no solo se compone con una finalidad concreta, sino que puede tener varias finalidades según el nivel de concreción de las preguntas de los usuarios. Un sensor de temperatura aporta información sobre la temperatura, pero también sobre las condiciones climatológicas junto a información de otros sensores, y, por tanto, si un usuario pregunta sobre el clima de una ubicación, se deberá acceder a información de sensores de la zona de diversa índole como de temperatura y humedad.

Este parámetro también se usa para permitir otro de los tipos de relaciones entre sensores que se verán mas adelante en el apartado 2.2.2.2, la relación de compañeros de trabajo.

2.2.2.1.3. Propietario

Quién es el propietario de un sensor es otro de los parámetros requeridos para registrar un sensor ya que el sistema necesita esta información para almacenar y recuperar los sensores. A diferencia de los parámetros anteriores, este parámetro no lo introduce el usuario en el proceso de registro del sensor, sino que el propio sistema asocia el sensor al usuario que lo esté registrando de forma automática dando por hecho que el usuario que lo registra es su propietario.

Este parámetro permite establecer otro tipo de relación entre sensores, la relación de familiares. Un sensor será familia de otro sensor cuando pertenezcan al mismo usuario.

2.2.2.1.4. Nivel de privacidad

El control de la privacidad es fundamental cuando se trabaja con datos obtenidos de sensores (González García, 2017) ya que la información que recopila el sensor de forma automática puede incorporar datos sensibles como problemas de salud, datos bancarios o la localización de una persona (Atzori et al., 2010). Para asegurar la privacidad de esos datos, los propietarios de los sensores pueden indicar diferentes niveles de privacidad.

El sistema propuesto dispondrá de cuatro niveles de privacidad y que permiten al usuario propietario del sensor indicar si quiere que la información del sensor sea accesible por cualquier petición de otros usuarios, solo por peticiones que incluyan la localización del sensor, solo por sus propias peticiones o solo por sus peticiones cuando incluyan la localización del sensor.

Al igual que los parámetros anteriores, este parámetro también condiciona las relaciones entre sensores, pero desde otro enfoque, en vez de ayudar a crear relaciones, restringe como se puede relacionar un sensor con los demás.

2.2.2.2. Socialización de sensores

Uno de los objetivos de esta propuesta de solución específica es la creación de una red de sensores relacionados entre si por diferentes tipos de relaciones de acuerdo con los parámetros presentados en la sección anterior. Esto permite filtrar los datos de los sensores del sistema y ofrecer una mejor información al usuario cuando hace alguna pregunta a través de la interfaz, las redes sociales. Las relaciones disponibles que pueden existir entre los sensores se basan en los cuatro parámetros que un sensor tiene y son las siguientes: relación de vecindad, relación de trabajo, y relación familiar.

Page 202: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

184

2.2.2.2.1. Relación de vecindad

Mediante la relación de vecindad, un sensor puede conocer a los sensores cercanos según el parámetro de localización. Este parámetro contiene varias localizaciones para indicar distintos niveles de granularidad. Por cada localización puede tener varios sensores vecinos, todos aquellos que compartan localizaciones. Esta relación se ve afectada por el nivel de privacidad que los propietarios de los sensores hayan establecido en los sensores ya que es posible que solo se pueda acceder a un sensor si la consulta establece la ubicación, o lo que es lo mismo, solo se puede acceder al sensor a través de relaciones de vecindad.

Por ejemplo, si un usuario solicita la calidad del aire de un edificio cuya localización se encuentra en el parámetro correspondiente de algún sensor, el sistema recopilará la información de esos sensores, la combinará y procesará para informar al usuario a través de las redes sociales.

2.2.2.2.2. Relación de trabajo

La relación de trabajo es la principal relación de esta solución. El objetivo del sistema propuesto es responder preguntas que los usuarios hacen a través de las redes sociales, por tanto, el sistema debe satisfacer estas demandas identificando que es lo que quieren los usuarios y que sensores de los registrados en el sistema pueden aportar la información necesaria. Para esto es necesario identificar las capacidades de cada sensor, información que su propietario debe aportar en el momento de su registro. Los sensores que compartan algún valor del parámetro de finalidad son sensores cuya finalidad es la misma, es decir, son compañeros de trabajo y por tanto los une una relación de finalidad.

Las relaciones de trabajo no se ven afectadas por el nivel de privacidad establecido, pero es el tipo de relación más importante de esta propuesta ya que siempre se recurrirá a ella para resolver las preguntas de los usuarios. En ciertas ocasiones, según sea la pregunta del usuario, las otras relaciones pueden no ser necesarias pero la relación de trabajo siempre se usará. Por ejemplo, cuando un usuario pida cualquier información, el sistema buscará sensores cuya finalidad sea aportar esa información y si no los hay no podrá aportar la información requerida. Una vez que se hayan detectado sensores que puedan aportar dicha información y que cumplan las exigencias de la solicitud de acuerdo con los parámetros de cada sensor y el resto de las relaciones, el sistema combinará la información de estos sensores y se la enviará al usuario a través de las redes sociales.

2.2.2.2.3. Relación familiar

La relación familiar permite al sistema identificar los sensores que pertenecen al mismo propietario y agruparlos bajo un mismo grupo. La principal función de esta relación se basa en la privacidad ya que esta relación se tiene en cuenta cuando el nivel de privacidad de los sensores se ajusta para restringir el acceso a la información de forma que solo sea accesible por el propietario. Por tanto, cuando exista este tipo de relación y el nivel de privacidad evite el acceso público, la información de los sensores limitados solo podrá combinarse con datos de otros sensores cuando la petición de información la haga el propietario.

Page 203: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

185

Por ejemplo, si el usuario es propietario de un sensor de humedad cuyo nivel de privacidad es de acceso restringido y se localiza en un laboratorio de la universidad donde hay más sensores cuyo nivel de privacidad es de acceso público, y solicita el nivel de humedad en el laboratorio, el sistema le aportará información basándose en los datos de todos los sensores, tanto los públicos como los de acceso restringido. Sin embargo, si la pregunta la realiza otro usuario solo se le aportará información de los sensores con acceso público.

Esta relación también permite al propietario de sensores acceder a la información de sus sensores sin necesidad de indicar la localización de estos. Por ejemplo, si un usuario pide información sobre el nivel de humedad sin indicar la localización de donde quiera conocer dicha información, el sistema recopilará información solo de sus sensores en vez de acceder a todos los sensores públicos que permiten conocer el nivel de humedad en el aire.

2.2.2.3.Interfaz en Redes Social

Uno de los objetivos de esta solución es conectar a las personas con objetos de Internet de las Cosas por medio de redes sociales diseñadas para personas. Para ello, este sistema dispone de una interfaz de usuario basada en mensajes en redes sociales a través de los cuales se comunica con los usuarios para recibir las preguntas y responderlas.

Inicialmente, el sistema está planteado para usar la red social Twitter debido a diversas características especiales de esta red social que la hacen la más apropiada. Twitter se basa en mensajes cortos con cierta semántica ya que además de texto, contienen palabras clave, llamadas hashtags, para identificar personas o temas de conversación. Este sistema hace uso de estas palabras clave para identificar ciertos parámetros que se requieren para realizar la consulta. El parámetro del propietario del sensor, el sistema no lo busca en el texto, sino que se encuentra presenten en las propiedades del mensaje de Twitter ya que el propietario tiene que corresponderse con el usuario de Twitter que hace la pregunta. El resto de los parámetros se buscarán analizando el texto y los hashtags: para obtener el parámetro de la finalidad, el sistema analizará el texto mientras que, para obtener el parámetro de la localización, se analizarán los hashtags.

Como se acaba de mencionar, el propietario del sensor se debe corresponder con el usuario de Twitter y, por lo tanto, para poder registrar sensores, los usuarios se deben registrar en la plataforma usando su perfil de Twitter. De esta forma se podrá almacenar los sensores junto a su perfil de Twitter.

A continuación, se muestran ejemplos de uso donde un usuario hace una pregunta al sistema, llamado SenseQ, y este le contesta.

• Pregunta de un usuario por la temperatura actual en Madrid: El sistema consultará todos los sensores registrados y cuyo parámetro de localización contenga el valor Madrid, y combinará la información para responder al usuario con el valor adecuado.

@user: @senseq ¿Cuál es la temperatura de #Madrid? @senseq: @user La temperatura de #Madrid es 23ºC.

Page 204: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

186

• Pregunta de un usuario sobre donde está lloviendo, usando sus propios sensores: El sistema consultará los sensores del usuario que puedan detectar lluvia y responderá con la localización de estos si detectan que está lloviendo.

@user: @senseq ¿Dónde está lloviendo? @senseq: @user Está lloviendo en #Gijón y en #Oviedo.

Para poder entender las preguntas de los usuarios y poder responderlas usando un lenguaje natural para ellos, SenseQ deberá hacer uso de Inteligencia Artificial, concretamente de Procesamiento de Lenguaje Natural.

2.2.2.4.Conexión de los Sensores con las Redes Sociales

El sistema propuesto se basa en responder preguntas que llegan de usuarios de redes sociales, concretamente Twitter, usando información recopilada de sensores registrados en el sistema. Por tanto, los dos extremos del sistema son las redes sociales y los sensores u objetos donde se encuentran. En este apartado se explicará como se conectan los sensores y las redes sociales. Para ello se explicará la arquitectura de la solución propuesta.

La arquitectura propuesta para este sistema es una arquitectura basada en tres capas interconectadas como se muestra en la Figura 37: Capa Social, Capa de Servicios y Capa de Objetos.

La primera capa es la Capa Social o Social Layer. En esta capa se encuentran los componentes necesarios para leer mensajes de Twitter dirigidos al perfil del sistema en la red social, y publicar mensajes en la red social respondiendo al usuario que haga preguntas. Para comunicarse con Twitter, en esta capa se hace uso de la API de Twitter,

Figura 37. Arquitectura de tres capas de SenseQ.

Page 205: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

187

por lo que en caso de querer modificar la red social que se usa o querer añadir una nueva, bastaría que hacer cambios en esta capa.

La capa intermedia es la Capa de Servicios o Backend Layer. En esta capa se encuentran los componentes necesarios para procesar los mensajes recibidos de la Capa Social, procesar y combinar la información de los sensores, identificar las relaciones entre objetos, y generar los mensajes con la información que se quiere publicar en Twitter. Por tanto, un componente de esta capa se encarga de procesar el texto recibido de la Capa Social y extraer los parámetros necesarios para localizar los objetos capaces de proporcionar la información requerida, otro componente se encarga de procesar y combinar la información recopilada de los objetos según las relaciones que existan entre ellos y generar la respuesta a la pregunta del usuario que se enviará a la Capa Social para posteriormente ser publicada en Twitter, y el último componente almacena las relaciones existentes entre los objetos registrados así como la forma de acceso a estos objetos.

La última capa es la Capa de Objetos u Object Layer. Esta capa gestiona la conexión con los diferentes objetos registrados.

2.2.2.4.1. Capa Social

La Capa Social o Social Layer esta compuesta de dos componentes que se encarga de leer y escribir información en Twitter. Estos componentes son el Escuchador de Mensajes y el Publicador de Mensajes.

El primer componente es el Escuchador de Mensajes o Messages Listener y su tarea es escuchar de forma continua los mensajes que se publican en Twitter con el fin de recuperar aquellos que se dirigen a la cuenta del sistema en la red social, es decir, aquellos que gracias a las palabras clave de la semántica de Twitter mencionan la cuenta del sistema, por ejemplo, @SenseQ. Esta escucha continua es posible gracias a la API de Twitter ya que permite a los desarrolladores subscribirse a la red social para recibir mensajes que cumplan unos filtros específicos en tiempo real. El texto de los mensajes recibidos junto al nombre de perfil del usuario que los publica se envía a la siguiente capa, a la Capa de Servicios, donde serán procesados.

El segundo componente es el Publicador de mensajes o Messages Publisher y se encarga de publicar mensajes o tweets en nombre del sistema en Twitter mencionando al usuario que hizo la pregunta y con la información generada en la Capa de Servicios a partir de la información obtenida de los objetos o sensores.

El flujo de trabajo de esta capa sería de la siguiente manera:

1. Los usuarios realizan una pregunta a SenseQ mediante mensajes en Twitter y mencionando la cuenta del sistema.

2. El Escuchador de Mensajes recopila las preguntas de los usuarios realizadas en el paso anterior y las traslada junto al nombre de los usuarios que las realizan a la Capa de Servicios donde serán procesadas y contestadas.

3. El Publicador de mensajes recibe las respuestas a las preguntas de los usuarios desde la Capa de Servicios y las publica en Twitter mencionando en la respuesta al usuario que hizo la pregunta.

Page 206: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

188

2.2.2.4.2. Capa de Servicios

La Capa de Servicios o Backend Layer está compuesta de tres componentes que se encargan de procesar el texto de los mensajes de Twitter, generar el texto de respuesta a esos mensajes, procesar y combinar la información de los objetos con los datos de los sensores, y almacenar los objetos registrados con sus relaciones. Estos componentes son: el Procesador del Lenguaje, el Gestor de Relaciones y las Bases de datos.

El Procesador del Lenguaje o Language Processor procesa los mensajes que llegan de la Capa Social extrayendo los valores de los parámetros usados para clasificar los objetos registrados, es decir, la localización, la finalidad y el propietario. Para extraer la información se hace uso de técnicas de NPL además de hacer uso de la semántica de Twitter, ya que, por ejemplo, la localización puede venir identificada como un hashtag o palabra clave. Los parámetros obtenidos del mensaje se envían al siguiente componente, el Gestor de Relaciones. El Procesador del Lenguaje también se encarga de generar las respuestas que se darán a los usuarios en Twitter a partir de los datos recopilados por el Gestor de Relaciones.

El Gestor de Relaciones o Relationship Manager se encarga de recuperar los objetos almacenados en las bases de datos según los parámetros extraídos por el componente anterior. El Gestor de Relaciones hace uso de los parámetros y recupera los objetos de las bases datos según los parámetros y los objetos con los que están relacionados. Por ejemplo, se recuperarán objetos con la misma finalidad o con una relación de trabajo, objetos cercanos o con una relación de vecindad; y objetos que pertenece al mismo usuario que realiza la pregunta. Tras esto, este componente combinará la información de los objetos recuperados descartando primero aquellos objetos que no satisfagan algún parámetro o relación. La información de los objetos la obtendrá de la siguiente capa, la Capa de Objetos, y una vez combinada se enviará al Procesador de Lenguaje.

Las Bases de datos son los componentes que almacenan los objetos. Este sistema dispondrá de tres bases de datos diferentes, una por cada tipo de relación. De esta manera será posible encontrar los objetos que están relacionados de alguna manera. Una de las posibilidades de implementación de este componente podría ser hacer uso de grafos de relaciones. Este componente se usa desde el componente anterior, el Gestor de Relaciones, ya que las Bases de Datos solo almacenan objetos, pero no procesan ninguna información relacionada con responder a las preguntas de los usuarios.

El flujo de trabajo de esta capa sería de la siguiente manera:

1. Los mensajes de Twitter llegan al Procesador del Lenguaje desde la Capa Social. 2. El Procesador del Lenguaje procesará los mensajes extrayendo los tres

parámetros, si están disponibles, y enviándolos al Gestor de Relaciones. 3. El Gestor de Relaciones buscará en las Bases de Datos los objetos que están

relacionados entre sí según los parámetros recibidos del Procesador del Lenguaje.

4. El Gestor de Relaciones accederá a la Capa de Objetos con el fin de establecer una comunicación con los objetos obtenidos en el paso anterior.

5. El Gestor de Relaciones recibirá información de los objetos y la combinará de acuerdo con las relaciones entre los objetos. Tras esto, el Gestor de Relaciones procesará toda esta información y la enviará al Procesador del Lenguaje.

Page 207: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2.2. Aplicación de Inteligencia Artificial para socializar objetos con personas

189

6. El Procesador del Lenguaje generará mensajes a partir de los datos procesados por el Gestor de Relaciones y los enviará a la Capa Social para responder a los usuarios a través de Twitter.

2.2.2.4.3. Capa de Objetos

La última capa de la arquitectura propuesta es la Capa de Objetos u Object Layer y será la capa que gestione el acceso a los objetos registrados. Esta compuesta de dos componentes: el Gestor de Accesos a los Objetos y los propios Objetos.

El primer componente es el Gestor de Accesos a los Objetos u Object Access Manager (OAM) y gestiona la comunicación entre el sistema y los objetos. A través de este componente, el sistema será capaz de recuperar datos de los diferentes objetos registrados en el sistema y enviar esos datos a la Capa de Servicios.

El segundo componente de esta capa son los propios Objetos. Como ya se ha explicado en un capítulo anterior, en el mundo de Internet de las Cosas hay dos tipos de objetos, los Objetos Inteligentes o Smart Objects y los Objetos No Inteligentes o Not-Smart Objects. Los primeros son objetos con cierta inteligencia y capaces de ejecutar aplicaciones. Estos son capaces de percibir el entorno, realizar acciones o ambas opciones. Además, suelen estar compuestos de varios sensores, varios actuadores o una combinación de ambos tipos. En el componente de esta capa, se hace referencia a objetos, pero refiriéndose a los Objetos Inteligentes con sensores ya que los objetos a los que este sistema se pueda conectar deben poder recopilar datos de su entorno y deben poder ejecutar aplicaciones ya que deben ejecutar las aplicaciones necesarias para establecer la comunicación con el OAM del sistema a través de una API. Además, este sistema dispondrá de un generador de aplicaciones para los objetos para facilitar este paso a personas sin conocimientos de programación.

El flujo de trabajo de esta capa sería de la siguiente manera:

1. El OAM recibirá instrucciones para establecer una comunicación con los diferentes objetos registrados y de los que se quiere obtener datos.

2. Los objetos serán Objetos Inteligentes que estarán ejecutando una aplicación generada por el sistema que les permitirá transmitir los datos recopilados al OAM cuando este lo solicite.

3. El OAM recibirá los datos de los objetos y los reenviará a la Capa de Servicios.

2.2.3. Conclusiones y Trabajo futuro Esta solución específica plantea un nuevo sistema llamado SenseQ, que combina

tecnologías de Internet de las Cosas y Redes Sociales con el fin de hacer más sencillo por parte de los usuarios el acceso a los datos de los sensores en tiempo real. Para este propósito, se plantea el uso de técnicas de Inteligencia Artificial como el Procesamiento de Lenguaje Natural para interpretar solicitudes de información de usuarios a través de redes sociales y para responder a dichas solicitudes con datos recopilados de una red de sensores registrada en el propio sistema.

Para acceder a los sensores y combinar información equivalente de diferentes sensores se ha propuesto el uso de relaciones entre sensores que permiten filtrar la información a combinar y presentar a los usuarios según la finalidad de los datos, la localización de los sensores y el propietario de los sensores. De esta forma, si un usuario solicita datos con una finalidad concreta en una localización específica, el sistema solo

Page 208: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 9: Soluciones específicas y prototipos

190

tendrá que acceder a los sensores que cumplan esas relaciones y combinar la información.

También se ha explicado como se realiza la comunicación a través de Redes Sociales entre el sistema y sus usuarios. En esta propuesta, la red social seleccionada ha sido Twitter donde los usuarios pueden publicar mensajes que contengan hashtags y menciones a SenseQ para solicitar datos y por donde responderá el sistema haciendo uso de la misma semántica de Twitter.

Por último, se ha propuesto una arquitectura para SenseQ basada en tres capas y explicado el funcionamiento de cada capa, así como el flujo de trabajo a través de los componentes de capa. Estas tres capas son: la Capa Social donde se procesan y se generan los mensajes de Twitter, la Capa de Servicios donde se extraen los requisitos de las peticiones de los usuarios y se combinan los datos recopilados, y la Capa de Objetos donde se acceder a los datos de los sensores de los objetos registrados.

A partir de esta propuesta, se puede proponer aún más trabajo futuro para incorporar a la solución una vez que esta esté finalizada:

• Añadir nuevas relaciones basadas en las amistades del propietario de los objetos en las redes sociales: En esta propuesta, se ha hablado sobre relaciones entre sensores, pero no se ha mencionado las relaciones de los usuarios del sistema. El uso de las relaciones en las redes sociales de sus usuarios es otro tipo de relación que podría ser interesante incorporar a la solución. Por tanto, un trabajo futuro sería estudiar y evaluar si es interesante este tipo de relación, como se podría aprovechar y su posible integración.

• Establecer relaciones en las redes sociales entre el propio sistema y los usuarios: Actualmente solo se usan las redes sociales como interfaz de comunicación entre los usuarios y el sistema. Sin embargo, puede ser interesante aprovechar las posibilidades que aportan las relaciones de amistad de las redes sociales para establecerla entre el sistema y los usuarios. Haciendo a los usuarios y al sistema «amigos» en las redes sociales se pueden aportar nuevas funcionalidades al sistema como las recomendaciones automáticas según interacciones previas.

• Plataformas externas: En el punto actual de esta investigación, la solución es un sistema aislado que no está conectado a ningún otro sistema ni permite el acceso de sistemas externos que quieran acceder a información disponible desde el sistema. Un posible trabajo futuro podría ser la creación de una API que permita a otras plataformas realizar peticiones al sistema. E incluso también se podría ampliar el sistema para hacer uso de plataformas externas para obtener información de ellas como si de más objetos con sensores se tratasen.

Page 209: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

191

BLOQUE IV Conclusiones y trabajo futuro

Page 210: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 211: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

193

ÍNDICE DEL BLOQUE

CAPÍTULO 10. CONCLUSIONES 195 1. VERIFICACIÓN DE OBJETIVOS E HIPÓTESIS 195 2. APORTACIONES 199 CAPÍTULO 11. TRABAJO FUTURO 203 1. VISIÓN POR COMPUTADOR 203 2. LÓGICA DIFUSA 204 3. REDES SOCIALES 205 CAPÍTULO 12. PUBLICACIONES DERIVADAS 209 1. ARTÍCULOS PUBLICADOS EN REVISTAS INDEXADAS EN JCR 209 2. ARTÍCULOS PUBLICADOS EN REVISTAS NO INDEXADAS EN JCR 209 3. PUBLICACIONES PRESENTADAS EN CONGRESOS CIENTÍFICOS 210 4. CAPÍTULOS DE LIBROS 210 CAPÍTULO 13. BIBLIOGRAFÍA 211

Page 212: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 213: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

195

CAPÍTULO 10. CONCLUSIONES

Una vez presentadas las soluciones que esta tesis doctoral propone para los problemas planteados y el marco teórico necesario para su realización, el siguiente capítulo abordará las conclusiones de esta tesis doctoral. En estas conclusiones se indicará si se han cumplido todos los objetivos presentados o solo algunos, si se han verificado tanto la hipótesis general como las específicas, qué aportaciones se obtienen de esta tesis doctoral y qué publicaciones científicas se han elaborado.

1. Verificación de objetivos e hipótesis

En el Capítulo 1.3 de esta memoria se presentaron los objetivos de esta tesis doctoral. Para verificar si se han cumplido los objetivos, es necesario recordarlos. A continuación, se muestra el objetivo principal de esta tesis doctoral.

Desarrollar una investigación en el marco de Internet de las Cosas que aborde la socialización de los objetos inteligentes entre sí y con personas, buscando facilitar esa comunicación acercándola a la forma de socializar de las personas, mejorar la seguridad de las personas y mejorar la habitabilidad, es decir, acercar las tecnologías de Internet de las Cosas al día a día de las personas sin que necesiten conocimientos de desarrollo de software utilizando diversas técnicas como Inteligencia Artificial e Ingeniería Dirigida por Modelos.

Este objetivo se había dividido en varios objetivos parciales para poder abordarlo de una forma más sencilla. A continuación, se mencionará cada uno comentando su verificación, evaluación y grado de cumplimiento.

El primer objetivo aborda la mejora de seguridad de las personas en el marco de Internet de las Cosas y se recuerda a continuación:

Mejorar la seguridad de las personas. Uno de los objetivos derivados del objetivo general es el buscar la forma de mejorar la seguridad de las personas usando tecnologías de Internet de las Cosas. Esto se llevará a cabo aplicando una técnica de Inteligencia Artificial a los datos procedentes de cámaras de vigilancia IP. En concreto se quiere lograr usar cámaras IP como si de sensores binarios se tratase para que permitan identificar con precisión si un intruso ha accedido a una zona protegida mediante el uso de algoritmos de Visión por Computador. A partir de las imágenes obtenidas debe poder automatizarse tareas según se detecte la presencia de una persona. Cumpliendo este objetivo se logra mejorar la seguridad de las personas en espacios cerrados a partir del análisis de los datos obtenidos en el proceso de socialización de objetos inteligentes de Internet de las Cosas, en concreto de cámaras IP y una plataforma de Internet de las Cosas.

Este objetivo se ha verificado mediante el desarrollo de la solución específica presentada en el Capítulo 9.1.1.1 donde se aplican técnicas de Visión por Computador a

Page 214: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 10: Conclusiones

196

imágenes captadas por una cámara IP obteniendo un sensor de presencia que una vez integrado en la plataforma de Internet de las Cosas Midgar, permite automatizar tareas cuando una persona acceda a la área restringida. Por tanto, se puede concluir que es posible hacer uso de visión por computador en Internet de las Cosas para automatizar tareas relacionadas con la seguridad obteniendo una precisión adecuada aún sin haber usado un modelo bien ajustado.

Con la solución específica presentada en el Capítulo 9.1.1.1 se cumple este objetivo y también se verifica la siguiente hipótesis de esta tesis doctoral:

Las imágenes de una cámara IP pueden ser tratadas como datos de un sensor binario mediante la aplicación de visión por computador con la suficiente precisión para automatizar o semi-automatizar tareas, integrando así la visión por computador en Internet de las Cosas.

El segundo objetivo aborda la mejora de la habitabilidad en el marco de Internet de las Cosas y se recuerda a continuación:

Mejorar la habitabilidad. Uno de los objetivos derivados del objetivo general es el buscar la forma de mejorar la habitabilidad usando tecnologías de Internet de las Cosas. Esto se llevará a cabo aplicando una técnica de Inteligencia Artificial a los datos procedentes de sensores de Internet de las Cosas, concretamente datos sobre la temperatura y humedad exterior y temperatura interior de un espacio cerrado como una habitación. La habitabilidad se mejorará a partir de una gestión de la temperatura interior más inteligente, decidiendo en que momento es más oportuno encender la calefacción o el aire acondicionado, y a que potencia. Para esto se usarán algoritmos de Lógica Difusa y datos de sensores físicos y de una plataforma online de Internet de las Cosas. Cumpliendo este objetivo se logra mejorar la habitabilidad a partir de un control optimo de la temperatura interior según los datos obtenidos de las condiciones ambientales del exterior, es decir, a partir del análisis de los datos obtenidos en el proceso de socialización de objetos inteligentes de Internet de las Cosas.

Este objetivo se ha verificado mediante el desarrollo de la solución específica presentada en el Capítulo 9.1.1.2 donde se aplica Lógica Difusa a datos de temperatura y humedad recopilados tanto de sensores físicos como de plataformas de Internet de las Cosas para automatizar una gestión eficiente de los sistemas de climatización de una habitación teniendo en cuenta las condiciones ambientales del exterior. A partir de los datos recopilados se tomaba la decisión cual era el mejor momento para encender o apagar la calefacción o el aire acondicionado y a que potencia se debía de poner. Finalmente, se concluyó que aplicar lógica difusa en sistemas de calefacción y aire acondicionado permite ahorrar energía y, por tanto, también un ahorro económico derivado del ahorro energético. Sin embargo, a partir de los datos obtenidos también se concluyó que esta solución no sería válida para contextos donde el control de la temperatura sea extremadamente crítico ya que la temperatura obtenida es más oscilante, pero mas confortable.

Page 215: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

1. Verificación de objetivos e hipótesis

197

Con la solución específica presentada en el Capítulo 9.1.1.2 se cumple este objetivo y también se verifica la siguiente hipótesis de esta tesis doctoral:

La aplicación de la lógica difusa a datos obtenidos de plataformas de IoT permite mejorar la habitabilidad de un espacio cerrado mediante el control del sistema de calefacción y aire acondicionado, reduciendo el consumo energético, y considerando las condiciones ambientales exteriores.

El tercer objetivo aborda la posibilidad de establecer relaciones sociales entre diferentes sistemas de Internet de las Cosas y se recuerda a continuación:

Establecer relaciones sociales entre diferentes sistemas de Internet de las Cosas. Otro de los objetivos de esta tesis doctoral, es idear un sistema que permita tomar mejores decisiones a partir de los datos recopilados por diferentes subsistemas aparentemente independientes pero que mediante su socialización pueden ayudar a tomar mejores decisiones. Es decir, uno de los objetivos es la creación de un sistema capaz de imitar el comportamiento humano referente a los sentidos. Estos son capaces de recoger datos del entorno y combinándolos, las personas son capaces de tomar mejores decisiones que si solo se tuvieran en cuenta los datos de un único sentido.

Para verificar este objetivo se ha planteado la solución específica presentada en el Capítulo 9.1.2. Esta solución consiste en una propuesta de un sistema inteligente basado en los cinco sentidos humanos capaz de interaccionar con el entorno que le rodea a partir de varios subsistemas que simula a cada uno de esos sentidos. Cada sistema funcionaría de forma individual pero los datos se combinarían en otro subsistema encargado de orquestar todos los sistemas, comunicarlos y tomar decisiones que permitan automatizar tareas. Con esta propuesta se busca que las decisiones tomadas partan de mucha más información gracias a la ayuda de los datos de varios sistemas aparentemente independientes.

La solución específica presentada en el Capítulo 9.1.2 es una propuesta y no se ha llegado a desarrollar, aunque si alguno de los subsistemas que ejercerían como un sentido humano. Por tanto, la siguiente hipótesis todavía no ha sido verificada y se tratará como trabajo futuro de esta tesis doctoral.

La creación de un macrosistema formado por diferentes sistemas que emulan los cinco sentidos humanos permite obtener nuevos datos tras combinar los datos de cada subsistema y tomar mejores decisiones con más información en comparación con usar los datos de cada subsistema de forma aislada.

El cuarto objetivo aborda la integración de objetos inteligentes en redes sociales de personas y se recuerda a continuación:

Integrar objetos inteligentes en redes sociales de personas. A partir de la integración de los objetos inteligentes en las redes sociales de personas se podrán superar el siguiente objetivo. Para cumplir con este objetivo, los objetos deberán ser capaces de leer y analizar la información publicar en redes sociales de personas como Twitter y también publicar información en la misma red social.

La verificación de este cuarto objetivo se abordará con otros objetivos posteriores.

Page 216: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 10: Conclusiones

198

El quinto objetivo aborda la posibilidad de socializar objetos inteligentes entre sí y con personas usando redes sociales de personas y se recuerda a continuación:

Socializar objetos inteligentes entre sí y con personas a través de Redes Sociales. Una vez completado el objetivo anterior, se podrá abordar la socialización entre objetos y entre estos y las personas usando como vía de comunicación las Redes Sociales. Este objetivo consiste en que las personas podrán enviar ordenes a los objetos a través de redes sociales, consultar datos de estos, y solicitar datos concretos usando un lenguaje lo más cómodo posible para las personas. También se deberá abordar la comunicación entre objetos inteligentes a través de redes sociales permitiéndoles consultar datos de otros objetos y automatizar tareas enviando ordenes a otros objetos en función de los datos consultados u obtenidos por otros medios.

La verificación de este quinto objetivo se abordará con otros objetivos posteriores.

El sexto objetivo aborda facilitar la creación de aplicaciones que hagan uso de redes sociales como canal de socialización y se recuerda a continuación:

Facilitar la creación de aplicaciones que hagan uso de las Redes Sociales como canal de socialización. Tras superar los objetivos anteriores, hay que abordar el desarrollo de aplicaciones que permitan aprovechar las capacidades de socializar de objetos inteligentes a través de Redes Sociales. Para ello habrá que facilitar la generación de aplicaciones donde la implementación para comunicarse a través de Redes Sociales ya esté implementada independientemente de la plataforma donde se requiera ejecutar la aplicación. Para ello se deberá definir un Lenguaje de Dominio Específico aplicando Ingeniería Dirigida por Modelos a partir del cual se podrán definir modelos de aplicaciones que interconectan objetos inteligentes a través de redes sociales y generar su código.

Los últimos objetivos, el cuarto, quinto y sexto objetivo se han verificado mediante el desarrollo de la solución específica presentada en el Capítulo 9.2.1. En esta solución se presentó un novedoso sistema llamado Bilrost que permite generar aplicaciones que conectan objetos inteligentes entre sí y con personas a través de redes sociales. La generación de estas aplicaciones se lleva a cabo a través de un nuevo lenguaje de dominio específico llamado BSL (Bilrost Specific Language) creado mediante la aplicación de Ingeniería Dirigida por Modelos y que permite generar aplicaciones que automaticen tareas, tanto del dispositivo donde se ejecuta la aplicación como remotas a través de mensajes en Twitter, usando datos de sensores compartidos en Twitter. Además, es posible generar aplicaciones para distintas plataformas ya que se han integrado elementos en el DSL que indican la plataforma de destino. A partir de la evaluación realizada, se puedo concluir que el sistema es válido para conectar objetos inteligentes entre sí y con personas usando las redes sociales como canal de socialización y para generar aplicaciones que hagan uso de esa socialización.

Por tanto, con la solución específica presentada en el Capítulo 9.2.1 se han verificado el cuarto, quinto y sexto objetivo y también se verifica la siguiente hipótesis de esta tesis doctoral:

Es posible facilitar la creación de aplicaciones que permitan la integración de objetos inteligentes de Internet de las Cosas en redes sociales, y que permitan la interacción entre los propios objetos y entre los objetos y las personas.

Page 217: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Aportaciones

199

Además de cubrir el cuarto y quinto objetivo con la solución del Capítulo 9.2.1, también se ha planteado la solución específica del Capítulo 9.2.2 para verificar ambos objetivos. Esta solución específica consiste en un nuevo sistema al que se le ha llamado SenseQ que busca integrar objetos inteligentes en redes sociales de personas, concretamente sensores conectados a la plataforma propuesta. El objetivo principal de esta solución es facilitar el acceso a los datos de sensores por parte de personas usando redes sociales. Esto se lleva a cabo usando técnicas de Inteligencia Artificial, concretamente Procesamiento de Lenguaje Natural para interpretar las solicitudes de información de los usuarios a través de las redes sociales y para generar las respuestas a esas solicitudes con los datos disponibles. Además de establecer relaciones sociales entre las personas y la plataforma a la que están conectados los sensores, también se establecen relaciones entre los propios sensores permitiendo filtrar la información a combinar y presentar a los usuarios según la finalidad de los datos, la localización de los sensores y el propietario de estos. Con esta propuesta se busca tanto integrar una red de sensores en las redes sociales como facilitar la socialización de las personas con objetos de Internet de las Cosas usando para ello el lenguaje natural. Es decir, se busca cumplir con el cuarto y quinto objetivo.

La solución específica presentada en el Capítulo 9.2.2 es una propuesta y no se ha llegado a desarrollar. Por tanto, la siguiente hipótesis todavía no ha sido verificada y se tratará como trabajo futuro de esta tesis doctoral.

La socialización entre personas y objetos inteligentes de Internet de las Cosas a través de las redes sociales de personas usando el lenguaje natural de las personas es posible, permitiendo a las personas consultar información en una red de sensores relacionados entre sí.

Llegado a este punto, tras haber verificado si se han cumplido los objetivos de esta tesis necesarios para verificar cada una de las hipótesis planteadas, se puede concluir que se han verificado tres de las cinco hipótesis quedando la verificación de dos de ellas como trabajo futuro de esta tesis doctoral. Sin embargo, con las tres hipótesis verificadas se puede concluir que la hipótesis general que se recuerda a continuación también queda verificada ya que los objetivos cumplidos abordan esta hipótesis en su totalidad.

El estudio de la socialización de objetos de Internet de las Cosas permite encontrar mecanismos para mejorar la seguridad, mejorar la habitabilidad, integrar los objetos inteligentes en las Redes Sociales de las personas y facilitar la comunicación entre objetos y personas, es decir, acercar las tecnologías de Internet de las Cosas a las personas.

2. Aportaciones

Una vez finalizada esta tesis y verificados los objetivos y las hipótesis planteadas, es el turno de indicar de forma enumerada las aportaciones novedosas y originales realizadas durante la realización de esta tesis doctoral.

• La integración de Visión por Computador en Internet de las Cosas.

• Uso de imágenes de cámaras IP como sensores binarios de presencia.

Page 218: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 10: Conclusiones

200

• Buena precisión en la detección de personas en escenas sin un modelo bien entrenado o genérico.

• Módulo para la plataforma Midgar capaz de automatizar tareas en función de la detección de personas en un conjunto de imágenes que pueden venir de una cámara IP permitiendo mejorar la seguridad de las personas.

• La integración de Lógica Difusa en Internet de las Cosas.

• Un sistema capaz de controlar la temperatura de una habitación específica según las condiciones ambientales exteriores, concretamente, la sensación térmica calculada a partir de la temperatura y la humedad mejorando la habitabilidad, llamado IoFClime.

• Una propuesta de sistema IoT que emula los cinco sentidos del cuerpo, llamado IntelliSense, capaz de interaccionar con el entorno usando subsistemas que emulan cada uno de los sentidos humanos y otro subsistema que los orqueste y tome decisiones según los datos obtenidos de ellos.

• La integración de objetos inteligentes de IoT en las Redes Sociales de personas.

• La socialización entre personas y objetos inteligentes usando Redes Sociales de personas.

• La socialización entre objetos usando Redes Sociales de personas.

• El uso de Ingeniería Dirigida por Modelos para facilitar el desarrollo de software que interconecte objetos inteligentes entre sí y con personas usando Redes Sociales.

• Un sistema, llamado Bilrost, capaz de generar aplicaciones que automaticen tareas usando actuadores y sensores de dispositivos locales y remotos usando Redes Sociales.

• Un DSL, llamado Bilrost Specific Language, tanto gráfico como textual, que permite a personas sin conocimientos de programación avanzados generar aplicaciones para distintas plataformas que aprovechen la socialización a través de Redes Sociales para automatizar tareas.

• Una propuesta de sistema IoT, llamado SenseQ, que facilita la socialización entre personas y sensores a través de Redes Sociales usando Procesamiento de Lenguaje Natural. Este sistema permite a las personas consultar información de sensores haciendo preguntas al sistema en Redes Sociales y este le contesta según los datos recopilados de una red de sensores con diferentes tipos de relaciones entre ellos que facilita la búsqueda de la información más adecuada, así como la seguridad y la privacidad de los datos.

Además de todas estas propuestas también se han realizado un estudio del marco teórico relacionado que consiste en los siguiente:

• Un estudio sobre Internet de las Cosas, sus plataformas y campos de aplicación.

• Un estudio sobre los diferentes objetos de Internet de las Cosas, diferenciando los objetos inteligentes, o Smart Objects, de los no inteligentes y los campos de aplicación de ambos.

• Un estudio sobre la Ingeniería Dirigida por Modelos abordando su metodología, la transformación entre modelos, las características que debe tener un modelo de MDE y el flujo de trabajo de MDE.

Page 219: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

2. Aportaciones

201

• Un estudio sobre las Redes Sociales presentando varias clasificaciones según distintos criterios, la teoría de los seis grados de separación y la presencia de las Redes Sociales en Internet de las Cosas.

• Un estudio sobre la Inteligencia Artificial abordando el Test de Turing, las seis reglas de la Inteligencia Artificial, la visión por computador, la lógica difusa y el procesamiento de lenguaje natural.

Por último, se han realizado dos propuestas de dos nuevos sistemas de recomendación, uno relacionado con Internet de la Cosas y otro con Redes Sociales que se sale del objetivo principal de esta tesis doctoral pero que se han realizado durante su desarrollo.

• Un sistema de recomendación de puntos de interés basado en los mensajes públicos de los usuarios en la red social Twitter.

• Un sistema de recomendación de puntos de interés basado en los datos de sensores de Internet de las Cosas.

Page 220: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 221: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

203

CAPÍTULO 11. TRABAJO FUTURO

Una vez llegado a este punto, ya se ha expuesto como los objetivos de esta tesis se han cumplido, pero aún así queda mucho trabajo por delante. Las tecnologías de Internet de las Cosas son parte del presente y el futuro de la sociedad. Hoy en día hay muchas líneas de investigación alrededor de Internet de las Cosas y en el futuro aparecerán nuevas líneas de investigación que hoy todavía son inimaginables. Durante el desarrollo de esta tesis han surgido muchas ideas que pueden ser planteadas como trabajo a realizar a partir de esta tesis doctoral, algunas de ellas se han llevado a cabo, otras han quedado en prototipos inconclusos o en construcción, y otras han quedado anotadas para retomarlas más adelante.

Aunque al final del apartado de cada trabajo propuesto se ha presentado el trabajo futuro relacionado con esa solución, a continuación, se recopilan todas esas ideas de trabajo futuro que puede realizarse a partir de esta tesis doctoral.

1. Visión por Computador

A continuación, se presenta el trabajo futuro aplicable a la solución específica presentada en el Capítulo 9.1.1.1, donde se aplica visión por computador a las imágenes obtenidas de una cámara IP, es decir, a una de las soluciones específicas donde se aplica Inteligencia Artificial a los resultados de un proceso de socialización.

Aplicar MDE para crear un DSL que facilite la detección de objetos a través de visión por computador. Mediante un nuevo DSL podría automatizarse el proceso de extracción de características y el entrenamiento del modelo necesario para detectar no solo personas sino lo que se requiera. Para ello será necesario el análisis de muchas imágenes hasta obtener un modelo válido. Un DSL enfocado a esta tarea podría permitir tanto generar modelos, como configurar los parámetros del software que se encarga de usar el modelo y analizar las imágenes. Por ejemplo, en la solución específica presentada en el Capítulo 9.1.1.1, mediante un nuevo DSL de este tipo se podría adaptar la configuración usada en el prototipo y que depende del contexto de forma sencilla.

Reconocimiento óptico de caracteres o reconocimiento facial. La visión por computador no solo permite identificar objetos o personas, sino que también permite analizar más en profundidad los elementos en el campo de visión. Un posible trabajo futuro partiendo de esta tesis y ampliando la solución específica presentada en el Capítulo 9.1.1.1 sería el uso de la visión por computador para segurizar los accesos a áreas restringidas permitiendo únicamente el acceso alas personas autorizadas mediante el reconocimiento óptico de caracteres de tarjetas de identificación o mediante el reconocimiento facial de las personas que intentan acceder.

Reconocimiento de gestos. La solución propuesta en el Capítulo 9.1.1.1 se hace uso de secuencias de imágenes para detectar personas. Sin embargo, el análisis de secuencias de imágenes podría servir para identificar patrones de movimiento, es decir,

Page 222: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 11: Trabajo futuro

204

gestos. Mediante la identificación de gestos se podrían automatizar la realización de acciones de un actuador. Así, se estarían usando las imágenes como un sensor no binario cuya salida indica que acción realizar, mientras que, en la solución propuesta, los datos de salida son binarios, es decir, si ha detectado una persona o no.

Escalabilidad y rendimiento. Los algoritmos de visión por computador necesitan muchos recursos computacionales para analizar las imágenes e identificar objetos en dichas imágenes. La máquina encargada de procesar las imágenes podría verse saturada ante una gran cantidad de imágenes que analizar o ante imágenes de varias cámaras, requiriendo mucho más tiempo para lograr procesar esas imágenes o incluso más recursos. Por tanto, sería necesario realizar un estudio de las diferentes implementaciones en el lado de las plataformas de Internet de las Cosas para lograr soportar el máximo número posible de cámaras IP o minimizar el número de imágenes que procesar necesarias para obtener el resultado deseado.

2. Lógica difusa

A continuación, se presenta el trabajo futuro aplicable a la solución específica presentada en el Capítulo 9.1.1.2, donde se aplica lógica difusa a los resultados de diferentes sensores de Internet de las Cosas, es decir, a una de las soluciones específicas donde se aplica Inteligencia Artificial a los resultados de un proceso de socialización.

Mejorar la configuración de la lógica difusa. En la solución específica presentada en el Capítulo 9.1.1.2 se han establecido unos parámetros para configurar el algoritmo de lógica difusa basados en la experimentación realizada durante el desarrollo de la solución. Ajustar adecuadamente estos parámetros podría permitir obtener mejores resultados, ahorrar más energía, y controlar aún mejor la temperatura interior.

Aplicar MDE para crear un DSL que permita la personalización de las reglas y los conjuntos difusos de forma sencilla. El ajuste de los parámetros necesarios para configurar el algoritmo de lógica difusa varía según el contexto. Por tanto, una gran mejora para la solución propuesta en el Capítulo 9.1.1.2 sería la creación de un nuevo DSL que permita a cualquier usuario con pocos conocimientos de programación o incluso sin ellos, personalizar la configuración del algoritmo de lógica difusa a través de la modificación de los parámetros adecuados.

Almacenar histórico de los datos para identificar si los datos varían en una dirección o en otra. En la solución específica presentada en el Capítulo 9.1.1.2 no se tiene en cuenta el historial de los datos, concretamente la temperatura interior. A partir de los de los datos anteriores sería posible tomar mejores decisiones ya que el comportamiento de un sistema no tiene porque ser el mismo ante el mismo valor de entrada, ante la misma temperatura, si este esta subiendo o bajando.

Compartir los datos obtenidos en plataformas de Internet de las Cosas. En la solución específica presentada en el Capítulo 9.1.1.2 se consumen datos provenientes de plataformas de Internet de las Cosas. A partir de la temperatura exterior y la humedad provenientes de plataformas de IoT, se calcula la sensación térmica. Este dato también es valioso y una buena contribución para estas plataformas por lo que un posible trabajo futuro sería compartir dicho dato.

Page 223: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 11. Trabajo futuro

205

Añadir más sensores a la solución propuesta. La gestión de los sistemas de calefacción y aire acondicionado realizado en la solución específica del Capítulo 9.1.1.2 tiene en cuenta solo tres valores, el de la temperatura interior, el de la temperatura exterior y el de la humedad exterior. Sin embargo, usar más valores permitiría mejorar la gestión de esos sistemas ya que actualmente, sobre las condiciones interiores solo se usa la temperatura, y podría ser adecuado calcular también la sensación térmica del interior. Para ello haría falta recopilar el valor de la humedad con nuevos sensores. E incluso se puede mejorar el cálculo de esta sensación térmica interior teniendo en cuenta el número de personas que se encuentran presentes entre otros factores, para lo que se necesitan nuevos sensores y algoritmos que gestionen esa nueva información.

3. Redes sociales

A continuación, se presenta el trabajo futuro aplicable a las soluciones específicas presentadas en el Capítulo 9.2.1 y en el Capítulo 9.2.2 , donde se aborda la socialización de objetos inteligentes con personas, primero usando las redes sociales de personas para conectar objetos entre sí y con las personas y segundo usando las redes sociales para conectar a los objetos con las personas usando lenguaje natural.

Completar la solución denominada Bilrost con la generación de aplicaciones finales que contengan la implementación específica de cada objeto. Actualmente, la solución específica del Capítulo 9.2.1 no genera aplicaciones finales listas para ser desplegadas por usuarios finales, sino que estos usuarios deben completar el proyecto generado con la lógica específica del dispositivo donde se quiere desplegar la aplicación, es decir, los usuarios necesitan ciertos conocimientos de programación sobre sus propios dispositivos. Un trabajo futuro de esta tesis doctoral sería mejorar la sintaxis del lenguaje BSL para añadir los elementos necesarios para indicar de que dispositivo se trata y que el generador de proyectos sea capaz de generar la lógica específica de ese dispositivo. Por otro lado, no todos los dispositivos son iguales ni tampoco usan la misma configuración, por tanto, habría que añadir elementos al lenguaje y al generador de proyectos específicos por cada dispositivo que se quiera soportar.

Ampliar la solución denominada Bilrost con carga de módulos externos para nuevos dispositivos. Continuando con el trabajo futuro propuesto en el punto anterior, la existencia de diversos dispositivos con distintas configuraciones hace que sea difícil que el sistema de la solución específica del Capítulo 9.2.1 soporte todos los dispositivos posibles. Por ello, un trabajo futuro a realizar junto con el anterior sería añadir al sistema la posibilidad de ampliar el lenguaje BSL y el propio sistema mediante módulos externos o plugins que cualquier usuario podría desarrollar. De esta manera, el nuevo sistema capaz de generar aplicaciones finales se podría adaptar a cualquier dispositivo siempre que algún usuario con conocimientos de programación desarrolle un módulo que aporte la compatibilidad con el dispositivo específico y lo comporta con usuarios sin conocimientos. Además, esto permite no tener que realizar la implementación específica en cada proyecto generado, sino que se introduciría solo una vez, en el nuevo módulo.

Añadir medidas de seguridad y privacidad a la solución denominada Bilrost. En el estado actual de la solución específica del Capítulo 9.2.1, el prototipo desarrollado se

Page 224: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 11: Trabajo futuro

206

comunica a través de mensajes públicos, ya sea para consultar mensajes como para publicarlos. En un futuro se debería estudiar el uso de los mensajes privados de las redes sociales. Para ello habrá que ampliar la actual sintaxis del lenguaje BSL para añadir los elementos oportunos que permitan escoger el tipo de privacidad de los mensajes. De esta manera se podrán controlar y consultar objetos privados que no deben ser accesibles por otros usuarios, ni para acceder a los datos publicados ni para controlarlos.

Usar lenguaje natural en las comunicaciones de la solución denominada Bilrost. La solución específica presentada en el Capítulo 9.2.1 hace uso de la semántica que aporta la red social Twitter para facilitar el análisis de los mensajes. Este sistema se basa en las palabras clave o hashtags para reconocer que acciones realizar e identificar la información que se publica. La sintaxis de estos mensajes es demasiado artificial para las personas por lo que la interacción persona-objeto no es todo lo natural que cabría desear. Por tanto, en un futuro se debería hacer uso de lenguaje natural para evitar así el uso de palabras clave aplicando para ello algoritmos de procesamiento de lenguaje natural. De esta manera, la integración del sistema en las redes sociales sería más natural y cómoda para los usuarios. Sin embargo, la solución específica propuesta en el Capítulo 9.2.2 aborda este asunto, presentando una comunicación con los usuarios basada en lenguaje natural, aunque en combinación con las palabras clave para hacer más sencillo el análisis de los mensajes y para que estos se integren mejor en la red social al usar su sintaxis.

Crear nuevas relaciones entre objetos basadas en las relaciones de las personas en las redes sociales. En la solución específica propuesta en el Capítulo 9.2.2 se abordan las relaciones «sociales» entre objetos, pero no se abordan las relaciones entre los usuarios del propio sistema propuesto dentro de las redes sociales usadas como canal de comunicación. Estas relaciones son otro tipo de relación que podría llegar a ser interesante incorporar al sistema propuesto. Por tanto, otro posible trabajo a realizar sería el estudio de este tipo de relación y evaluar si es posible aprovechar e integrar estas relaciones en el futuro desarrollo del sistema propuesto.

Establecer relaciones entre los usuarios de los sistemas y los propios sistemas. En el Capítulo 9.2.2 se propone un sistema que solo usa las redes sociales como canal de comunicación entre usuarios y el sistema. Y, por tanto, no se abordan las posibles relaciones que el futuro sistema y los usuarios pudieran tener dentro de las propias redes sociales. Mediante la creación de relaciones entre el sistema y los usuarios se podrían aportar nuevas funcionalidades como por ejemplo las recomendaciones según interacciones previas, así como la privacidad en las comunicaciones.

Compartir el acceso a los sistemas desarrollados. La solución propuesta en el Capítulo 9.2.2 se presenta como un sistema aislado que no está conectado a ningún otro sistema salvo a las redes sociales y la red de sensores, por lo que no permite que otro sistema pueda acceder a él al no disponer de una interfaz pública. Por tanto, la información que se genera mediante la consulta a la red de sensores no es accesible por otras plataformas desaprovechando parte del potencial de estos datos. Un posible trabajo futuro sería la creación de una API para la solución propuesta en el Capítulo 9.2.2 que permita a plataformas de terceros realizar peticiones al sistema propuesto, así como incorporar otras plataformas externas como fuente de información del sistema junto a la red de sensores.

Page 225: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 11. Trabajo futuro

207

Realizar un estudio sobre las posibilidades de las redes sociales de personas para conectar objetos inteligentes. A lo largo de esta tesis doctoral se han planteado varias soluciones específicas que hace uso de redes sociales. En todas ellas se ha usado siempre la red social Twitter y, sin embargo, existen muchas otras redes sociales que podrían ser útiles en estos contextos. Por tanto, como posible trabajo futuro de esta tesis doctoral está la realización de un estudio donde se comparasen las diferentes redes sociales actuales buscando las ventajas y desventajas de cada una en el marco de establecer comunicaciones ente personas y objetos inteligentes, así como interconectar a los propios objetos entre sí.

Implementar las soluciones propuestas. A lo largo de esta tesis doctoral se han presentado prototipos desarrollados para las diferentes soluciones específicas presentadas, así como propuesto soluciones sin haber desarrollado aún el prototipo que verifique la solución. Por tanto, el trabajo futuro más inmediato que se debería abordar a partir de esta tesis doctoral es la implementación de los prototipos sin desarrollar de esta tesis doctoral.

Integrar todas las soluciones bajo un mismo sistema. En esta tesis doctoral se han presentado varias soluciones específicas inconexas pero centradas en una línea de investigación común. Estas soluciones se podrían integrar bajo un mismo sistema como el propuesto en el Capítulo 9.1.2. Por otro lado, el sistema Bilrost desarrollado para la solución específica del el Capítulo 9.2.1 y la plataforma Midgar (González García, 2017; González García, Meana-Llorián, Pelayo G-Bustelo, et al., 2017; González García, Pascual Espada, et al., 2014; González García, Pelayo G-Bustelo, et al., 2014; Sánchez-Arias et al., 2017) usada en el Capítulo 9.1.1.1 tienen ciertas similitudes al servir ambos sistemas para incorporar inteligencia a los objetos basándose en el automatismo, y, por tanto, un posible trabajo futuro a realizar a partir de esta tesis sería combinar ambos sistemas bajo una única plataforma convirtiendo a Bilrost en un módulo de Midgar que permite usar las redes sociales como canal de comunicación.

Page 226: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A
Page 227: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

209

CAPÍTULO 12. PUBLICACIONES DERIVADAS

Durante la realización de esta tesis doctoral se han escrito diferentes publicaciones para difundir ante la comunidad científica presentando las soluciones propuestas y los resultados obtenidos. A continuación, se enumeran las publicaciones derivadas divididas en artículos publicados en revistas indexadas en JCR, artículos en revistas no indexadas en JCR, publicaciones presentadas en congresos científicos y capítulos de libro.

1. Artículos publicados en revistas indexadas en JCR

A partir de esta tesis doctoral se han publicado dos artículos en revistas indexadas en JCR.

• Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Garcia-Fernandez, N. (2016). IoFClime: The fuzzy logic and the Internet of Things to control indoor temperature regarding the outdoor ambient conditions. Future Generation Computer Systems. https://doi.org/10.1016/j.future.2016.11.020

• González García, C., Meana-Llorián, D., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Garcia-Fernandez, N. (2017). Midgar: Detection of people through computer vision in the Internet of Things scenarios to improve the security in Smart Cities, Smart Towns, and Smart Homes. Future Generation Computer Systems. https://doi.org/10.1016/j.future.2016.12.033

2. Artículos publicados en revistas no indexadas en JCR

A partir de esta tesis doctoral se han publicado dos artículos en revistas no indexadas en JCR.

• González García, C., Meana-Llorián, D., Pelayo G-Bustelo, C., & Cueva-Lovelle, J. M. (2017). A review about Smart Objects, Sensors, and Actuators. International Journal of Interactive Multimedia and Artificial Intelligence, 4(3), 7. https://doi.org/10.9781/ijimai.2017.431

• Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., & García-Fernández, N. (2017). SenseQ: Replying questions of Social Networks users by using a Wireless Sensor Network based on sensor relationships. Data Science and Pattern Recognition, 1(1), 1–12. Retrieved from http://www.ikelab.net/dspr-pdf/vol1-1/dspr-paper1.pdf

Page 228: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 12: Publicaciones derivadas

210

3. Publicaciones presentadas en congresos científicos

A partir de esta tesis doctoral se han presentado cuatro publicaciones en congresos científicos.

• Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Medina García, V. H. (2016). IntelliSenses: Sensing the Internet of Things. In 2016 11th Iberian Conference on Information Systems and Technologies (CISTI) (pp. 1–6). IEEE. https://doi.org/10.1109/CISTI.2016.7521551

• Meana-Llorián, D., González García, C., García-Díaz, V., Pelayo G-Bustelo, B. C., & Cueva Lovelle, J. M. (2016). SenseQ: Creating Relationships Between Objects to Answer Questions of Humans by Using Social Networks. In Proceedings of the 3rd Multidisciplinary International Social Networks Conference on Social Informatics 2016, Data Science 2016 (pp. 1–5). ACM. https://doi.org/10.1145/2955129.2955135

• Meana-Llorián, D., González García, C., Pascual Espada, J., Semwal, V. B., & Khari, M. (2017). Bilrost: Connecting the Internet of Things through human social networks with a Domain-Specific Language. In Proceedings of the Second International Conference on Research in Intelligent and Computer in Engineering (pp. 55–61). Retrieved from: https://fedcsis.org/proceedings/rice2017/pliks/110.pdf

• González García, C., Meana-Llorián, D., García-Díaz, V., & Núñez-Valdez, E. R. (2017). Social Recommender System: A Recommender System Based on Tweets for Points of Interest. In Proceedings of the 4th Multidisciplinary International Social Networks Conference (pp. 1–7). ACM. https://doi.org/10.1145/3092090.3092121

4. Capítulos de libros

A partir de esta tesis doctoral se han publicado un capítulo de libro.

• González García, C., Meana-Llorián, D., García-Díaz, V., & Núñez-Valdez, E. R. (2019). IoT Recommender System: A Recommender System Based on Sensors from the Internet of Things for Points of Interest. In Handbook of IoT and Big Data (p. 237). CRC Press.

Page 229: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

211

CAPÍTULO 13. BIBLIOGRAFÍA

Adamic, L., Burke, M., Herdağdelen, A., & Neumann, D. (2016). Cat People, Dog People. Retrieved December 19, 2019, from Facebook Research website: https://research.fb.com/cat-people-dog-people/

Akmajian, A., Farmer, A. K., Bickmore, L., Demers, R. A., & Harnish, R. M. (2017). Linguistics: An introduction to language and communication. MIT press.

Akyildiz, I. F., Su, W., Sankarasubramaniam, Y., & Cayirci, E. (2002). A survey on sensor networks. IEEE Communications Magazine, 40(8), 102–105. https://doi.org/10.1109/MCOM.2002.1024422

Al Kalbani, J., Suwailam, R. B., Al Yafai, A., Al Abri, D., & Awadalla, M. (2015). Bus detection system for blind people using RFID. 2015 IEEE 8th GCC Conference & Exhibition, 1–6. https://doi.org/10.1109/IEEEGCC.2015.7060038

Alghamdi, S., van Schyndel, R., & Alahmadi, A. (2013). Indoor navigational aid using active RFID and QR-code for sighted and blind people. 2013 IEEE Eighth International Conference on Intelligent Sensors, Sensor Networks and Information Processing, 1, 18–22. https://doi.org/10.1109/ISSNIP.2013.6529756

Allen, J. (1995). Natural language understanding. Pearson.

Allen, T., & Kack, D. (2017). Livability in State Departments of Transportation.

Altair Engineering. (2019). Altair SmartWorks. Retrieved May 23, 2019, from https://www.altairsmartworks.com

Amazon. (2019). AWS IoT. Retrieved May 23, 2019, from https://aws.amazon.com/es/iot/

Anantharam, P., Barnaghi, P., Thirunarayan, K., & Sheth, A. (2015). Extracting City Traffic Events from Social Streams. ACM Transactions on Intelligent Systems and Technology, 6(4), 1–27. https://doi.org/10.1145/2717317

Ashton, K. (2009). That “Internet of Things” thing. RFiD Journal, 22(7), 97–114.

Asur, S., & Huberman, B. A. (2010). Predicting the Future with Social Media. 2010 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology, 1, 492–499. https://doi.org/10.1109/WI-IAT.2010.63

Atzori, L., Iera, A., & Morabito, G. (2010). The Internet of Things: A survey. Computer Networks, 54(15), 2787–2805. https://doi.org/10.1016/j.comnet.2010.05.010

Atzori, L., Iera, A., & Morabito, G. (2011). SIoT: Giving a Social Structure to the Internet of Things. IEEE Communications Letters, 15(11), 1193–1195. https://doi.org/10.1109/LCOMM.2011.090911.111340

Atzori, L., Iera, A., & Morabito, G. (2014). From “smart objects” to “social objects”: The next evolutionary step of the internet of things. IEEE Communications Magazine, 52(1), 97–105. https://doi.org/10.1109/MCOM.2014.6710070

Page 230: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

212

Atzori, L., Iera, A., Morabito, G., & Nitti, M. (2012). The Social Internet of Things (SIoT) – When social networks meet the Internet of Things: Concept, architecture and network characterization. Computer Networks, 56(16), 3594–3608. https://doi.org/10.1016/j.comnet.2012.07.010

Backstrom, L., Boldi, P., Rosa, M., Ugander, J., & Vigna, S. (2012). Four degrees of separation. Proceedings of the 3rd Annual ACM Web Science Conference on - WebSci ’12, 33–42. https://doi.org/10.1145/2380718.2380723

Bagchi, S. (2011). A fuzzy algorithm for dynamically adaptive multimedia streaming. ACM Transactions on Multimedia Computing, Communications, and Applications, 7(2), 1–26. https://doi.org/10.1145/1925101.1925106

Bai, G., Liu, L., Sun, B., & Fang, J. (2015). A survey of user classification in social networks. 2015 6th IEEE International Conference on Software Engineering and Service Science (ICSESS), 1038–1041. https://doi.org/10.1109/ICSESS.2015.7339230

Bandyopadhyay, S., & Bhattacharyya, A. (2013). Lightweight Internet protocols for web enablement of sensors using constrained gateway devices. 2013 International Conference on Computing, Networking and Communications (ICNC), 334–340. https://doi.org/10.1109/ICCNC.2013.6504105

Begum, M., & Karray, F. (2011). Visual Attention for Robotic Cognition: A Survey. IEEE Transactions on Autonomous Mental Development, 3(1), 92–105. https://doi.org/10.1109/TAMD.2010.2096505

Ben Letaifa, S. (2015). How to strategize smart cities: Revealing the SMART model. Journal of Business Research, 68(7), 1414–1419. https://doi.org/10.1016/j.jbusres.2015.01.024

Blackstock, M., Lea, R., & Friday, A. (2011). Uniting online social networks with places and things. Proceedings of the Second International Workshop on Web of Things - WoT ’11, 1. https://doi.org/10.1145/1993966.1993974

Bollen, J., Mao, H., & Zeng, X. (2011). Twitter mood predicts the stock market. Journal of Computational Science, 2(1), 1–8. https://doi.org/10.1016/j.jocs.2010.12.007

Borgia, E. (2014). The Internet of Things vision: Key features, applications and open issues. Computer Communications, 54, 1–31. https://doi.org/10.1016/j.comcom.2014.09.008

Boser, B. E., Guyon, I. M., & Vapnik, V. N. (1992). A training algorithm for optimal margin classifiers. Proceedings of the Fifth Annual Workshop on Computational Learning Theory - COLT ’92, 144–152. https://doi.org/10.1145/130385.130401

boyd, danah m., & Ellison, N. B. (2007). Social Network Sites: Definition, History, and Scholarship. Journal of Computer-Mediated Communication, 13(1), 210–230. https://doi.org/10.1111/j.1083-6101.2007.00393.x

Bröring, A., Maué, P., Malewski, C., & Janowicz, K. (2012). Semantic mediation on the Sensor Web. 2012 IEEE International Geoscience and Remote Sensing Symposium, 2910–2913.

Buettner, R. (2017). Predicting user behavior in electronic markets based on personality-mining in large online social networks. Electronic Markets, 27(3), 247–265.

Page 231: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

213

https://doi.org/10.1007/s12525-016-0228-z

Cacho, A., Figueredo, M., Cassio, A., Araujo, M. V., Mendes, L., Lucas, J., … Prolo, C. (2016). Social Smart Destination: A Platform to Analyze User Generated Content in Smart Tourism Destinations. In New Advances in Information Systems and Technologies (pp. 817–826). https://doi.org/10.1007/978-3-319-31232-3_77

Cambridge University Press. (2019). Cambridge Dictionary. Retrieved June 4, 2019, from https://dictionary.cambridge.org

Caragliu, A., Del Bo, C., & Nijkamp, P. (2011). Smart Cities in Europe. Journal of Urban Technology, 18(2), 65–82. https://doi.org/10.1080/10630732.2011.601117

Casari, P., Castellani, A., Cenedese, A., Lora, C., Rossi, M., Schenato, L., & Zorzi, M. (2009). The “wireless sensor networks for city-wide ambient intelligence (WISE-WAI)” project. Sensors, 9(6), 4056–4082.

Cenedese, A., Zanella, A., Vangelista, L., & Zorzi, M. (2014). Padova Smart City: An urban Internet of Things experimentation. Proceeding of IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks 2014, 1–6. https://doi.org/10.1109/WoWMoM.2014.6918931

Chamodrakas, I., & Martakos, D. (2012). A utility-based fuzzy TOPSIS method for energy efficient network selection in heterogeneous wireless networks. Applied Soft Computing Journal, 12(7), 1929–1938. https://doi.org/10.1016/j.asoc.2012.04.016

Chang, K.-H. (2014). Bluetooth: a viable solution for IoT? [Industry Perspectives]. Wireless Communications, IEEE, 21(6), 6–7. https://doi.org/10.1109/MWC.2014.7000963

Chard, K., Caton, S., Rana, O., & Bubendorfer, K. (2010). Social Cloud: Cloud Computing in Social Networks. 2010 IEEE 3rd International Conference on Cloud Computing, 99–106. https://doi.org/10.1109/CLOUD.2010.28

Chavira, G., Nava, S. W., Hervas, R., Bravo, J., & Sanchez, C. (2007). Combining RFID and NFC Technologies in an AmI Conference Scenario. Eighth Mexican International Conference on Current Trends in Computer Science (ENC 2007), 165–172. https://doi.org/10.1109/ENC.2007.30

Cheng, J., Sundholm, M., Zhou, B., Hirsch, M., & Lukowicz, P. (2016). Smart-surface: Large scale textile pressure sensors arrays for activity recognition. Pervasive and Mobile Computing. https://doi.org/10.1016/j.pmcj.2016.01.007

Choi, J., Park, S., Ko, H., Moon, H.-J., & Lee, J. (2009). Issues for Applying Instant Messaging to Smart Home Systems. In Computational Science and Its Applications - Iccsa 2009, Pt I (Vol. 5592, pp. 649–661). Springer.

Church, K. W., & Rau, L. F. (1995). Commercial applications of natural language processing. Communications of the ACM, 38(11), 71–79. https://doi.org/10.1145/219717.219778

Cingolani, P., & Alcala-Fdez, J. (2012). jFuzzyLogic: a robust and flexible Fuzzy-Logic inference system language implementation. 2012 IEEE International Conference on Fuzzy Systems, 1–8.

Cingolani, P., & Alcalá-Fdez, J. (2013). jFuzzyLogic: a java library to design fuzzy logic

Page 232: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

214

controllers according to the standard for fuzzy control programming. International Journal of Computational Intelligence Systems, 6(sup1), 61–75.

Clarke, R. Y. (2013). Smart cities and the internet of everything: The foundation for delivering next-generation citizen services. Alexandria, VA, Tech. Rep.

Colace, F., De Santo, M., Greco, L., & Napoletano, P. (2014). Text classification using a few labeled examples. Computers in Human Behavior, 30, 689–697. https://doi.org/10.1016/j.chb.2013.07.043

Cole, M., Covington, J. A., & Gardner, J. W. (2011). Combined electronic nose and tongue for a flavour sensing system. Sensors and Actuators B: Chemical, 156(2), 832–839. https://doi.org/10.1016/j.snb.2011.02.049

Collotta, M., & Pau, G. (2015). Bluetooth for Internet of Things: A fuzzy approach to improve power management in smart homes. Computers & Electrical Engineering, 44(0), 137–152. https://doi.org/http://dx.doi.org/10.1016/j.compeleceng.2015.01.005

Coskun, V., Ok, K., & Ozdenizci, B. (2012). Near Field Communication (NFC): From Theory to Practice. John Wiley & Sons.

Coskun, V., Ozdenizci, B., & Ok, K. (2015). The Survey on Near Field Communication. Sensors, 15(6), 13348–13405.

Costa, D., Duran-Faundez, C., Andrade, D., Rocha-Junior, J., & Peixoto, J. (2018). TwitterSensing: An Event-Based Approach for Wireless Sensor Networks Optimization Exploiting Social Media in Smart City Applications. Sensors, 18(4), 1080. https://doi.org/10.3390/s18041080

Cox, D. R. (1958). The Regression Analysis of Binary Sequences. Journal of the Royal Statistical Society: Series B (Methodological), 20(2), 215–232. https://doi.org/10.1111/j.2517-6161.1958.tb00292.x

Cueva-Fernandez, G., Espada, J. P., García-Díaz, V., García, C. G., & Garcia-Fernandez, N. (2014). Vitruvius: An expert system for vehicle sensor tracking and managing application generation. Journal of Network and Computer Applications, 42, 178–188. https://doi.org/10.1016/j.jnca.2014.02.013

Cueva-Fernandez, G., Pascual Espada, J., García-Díaz, V., & Gonzalez-Crespo, R. (2015). Fuzzy decision method to improve the information exchange in a vehicle sensor tracking system. Applied Soft Computing, 35, 708–716. https://doi.org/10.1016/j.asoc.2015.01.066

Cueva-Fernandez, G., Pascual Espada, J., García-Díaz, V., González Crespo, R., & Garcia-Fernandez, N. (2016). Fuzzy system to adapt web voice interfaces dynamically in a vehicle sensor tracking application definition. Soft Computing, 20(8), 3321–3334. https://doi.org/10.1007/s00500-015-1709-2

Dalal, N., & Triggs, B. (2005). Histograms of Oriented Gradients for Human Detection. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), 1, 886–893. https://doi.org/10.1109/CVPR.2005.177

Dijkstra, E. (1972). The humble programmer. Communications of the ACM, 15(October 1972), 859–866.

Page 233: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

215

Ding, D., Cooper, R. A., Pasquina, P. F., & Fici-Pasquina, L. (2011). Sensor technology for smart homes. Maturitas, 69(2), 131–136. https://doi.org/10.1016/j.maturitas.2011.03.016

Doran, D., Gokhale, S., & Dagnino, A. (2013). Human sensing for smart cities. Proceedings of the 2013 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining - ASONAM ’13, 1323–1330. https://doi.org/10.1145/2492517.2500240

Drews, P., & Fromm, P. (1997). A natural language processing approach for mobile service robot control. Proceedings of the IECON’97 23rd International Conference on Industrial Electronics, Control, and Instrumentation (Cat. No.97CH36066), 3, 1275–1277. https://doi.org/10.1109/IECON.1997.668494

Duarte, O. G. (1999). Sistemas de lógica difusa: fundamentos. Ingeniería e Investigación, (42), 22–30. https://doi.org/10.15446/ing.investig

E.W.T. Ngai, Karen K. L. Moon, Fredrick J. Riggins, & Candace Y. Yi. (2008). RFID research: An academic literature review (1995–2005) and future research directions. International Journal of Production Economics, 112(2), 510–520. https://doi.org/10.1016/j.ijpe.2007.05.004

Electric Imp. (2019). Electric Imp. Retrieved May 23, 2019, from https://www.electricimp.com

Espada, J. P., Díaz, V. G., Crespo, R. G., Martínez, O. S., G-Bustelo, B. C. P., & Lovelle, J. M. C. (2015). Using extended web technologies to develop Bluetooth multi-platform mobile applications for interact with smart things. Information Fusion, 21, 30–41.

Evans-Pughe, C. (2003). Bzzzz zzz [ZigBee wireless standard]. IEE Review, 49(3), 28–31.

Exosite. (2019). Exosite. Retrieved May 23, 2019, from https://exosite.com

Ferro, E., & Potortì, F. (2005). Bluetooth and Wi-Fi wireless protocols: A survey and a comparison. IEEE Wireless Communications, 12(1), 12–26. https://doi.org/10.1109/MWC.2005.1404569

Finkelzeller, K. (2003). The RFID handbook. John Wiley & Sons.

Foroughi, H., Aski, B. S., & Pourreza, H. (2008). Intelligent video surveillance for monitoring fall detection of elderly in home environments. 2008 11th International Conference on Computer and Information Technology, 219–224. https://doi.org/10.1109/ICCITECHN.2008.4803020

Foroughi, H., Naseri, A., Saberi, A., & Sadoghi Yazdi, H. (2008). An eigenspace-based approach for human fall detection using Integrated Time Motion Image and Neural Network. 2008 9th International Conference on Signal Processing, 1499–1503. https://doi.org/10.1109/ICOSP.2008.4697417

Freund, Y., & Schapire, R. E. (1997). A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting. Journal of Computer and System Sciences, 55(1), 119–139. https://doi.org/10.1006/jcss.1997.1504

Friedman, C., Rindflesch, T. C., & Corn, M. (2013). Natural language processing: State of the art and prospects for significant progress, a workshop sponsored by the

Page 234: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

216

National Library of Medicine. Journal of Biomedical Informatics, 46(5), 765–773. https://doi.org/10.1016/j.jbi.2013.06.004

Fuegi, J., & Francis, J. (2003). Lovelace & Babbage and the creation of the 1843 “notes.” IEEE Annals of the History of Computing, 25(4), 16–26. https://doi.org/10.1109/MAHC.2003.1253887

Funayama, R., Yanagihara, H., Van Gool, L., Tuytelaars, T., & Bay, H. (2012). Patent No. US8165401B2. United States: Google Patents.

Fundación Telefónica. (2015). La Sociedad de la Información en España 2014. Grupo Planeta Spain.

Fundación Telefónica. (2016). La Sociedad de la Información en España 2015. Retrieved from http://www.fundaciontelefonica.com/arte_cultura/publicaciones-listado/pagina-item-publicaciones/itempubli/483/

Gama, K., Touseau, L., & Donsez, D. (2012). Combining heterogeneous service technologies for building an Internet of Things middleware. Computer Communications, 35(4), 405–417. https://doi.org/10.1016/j.comcom.2011.11.003

García-Díaz, V. (2011). MDCI: Model-driven continuous integration. University of Oviedo.

Garton, L., Haythornthwaite, C., & Wellman, B. (2006). Studying Online Social Networks. Journal of Computer-Mediated Communication, 3(1), 0–0. https://doi.org/10.1111/j.1083-6101.1997.tb00062.x

Ginsberg, J., Mohebbi, M. H., Patel, R. S., Brammer, L., Smolinski, M. S., & Brilliant, L. (2009). Detecting influenza epidemics using search engine query data. Nature, 457(7232), 1012–1014. https://doi.org/10.1038/nature07634

Girau, R., Nitti, M., & Atzori, L. (2013). Implementation of an Experimental Platform for the Social Internet of Things. 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 500–505. https://doi.org/10.1109/IMIS.2013.90

González García, C. (2013). MIDGAR: Plataforma para la generación dinámica de aplicaciones distribuidas basadas en la integración de redes de sensores y dispositivos electrónicos IoT. University of Oviedo.

González García, C. (2017). MIDGAR: Interoperabilidad de objetos en el marco de Internet de las Cosas mediante el uso de Ingenieria Dirigida por Modelos. University of Oviedo.

González García, C., Meana-Llorián, D., García-Díaz, V., & Núñez-Valdez, E. R. (2017). Social Recommender System: A Recommender System Based on Tweets for Points of Interest. Proceedings of the 4th Multidisciplinary International Social Networks Conference, 1–7. https://doi.org/10.1145/3092090.3092121

González García, C., Meana-Llorián, D., García-Díaz, V., & Núñez-Valdez, E. R. (2019). IoT Recommender System: A Recommender System Based on Sensors from the Internet of Things for Points of Interest. In Handbook of IoT and Big Data (p. 237). CRC Press.

González García, C., Meana-Llorián, D., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Garcia-Fernandez, N. (2017). Midgar: Detection of people through computer vision

Page 235: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

217

in the Internet of Things scenarios to improve the security in Smart Cities, Smart Towns, and Smart Homes. Future Generation Computer Systems. https://doi.org/10.1016/j.future.2016.12.033

González García, C., Meana Llorián, D., Pelayo G-Bustelo, C., & Cueva-Lovelle, J. M. (2017). A review about Smart Objects, Sensors, and Actuators. International Journal of Interactive Multimedia and Artificial Intelligence, 4(3), 7. https://doi.org/10.9781/ijimai.2017.431

González García, C., Pascual Espada, J., Núñez-Valdez, E. R., & García-Díaz, V. (2014). Midgar: Domain-Specific Language to Generate Smart Objects for an Internet of Things Platform. 2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 352–357. https://doi.org/10.1109/IMIS.2014.48

González García, C., Pelayo G-Bustelo, B. C., Pascual Espada, J., & Cueva-Fernandez, G. (2014). Midgar: Generation of heterogeneous objects interconnecting applications. A Domain Specific Language proposal for Internet of Things scenarios. Computer Networks, 64, 143–158. https://doi.org/10.1016/j.comnet.2014.02.010

Gore, A. (1998). The Digital Earth: Understanding our planet in the 21st Century. Australian Surveyor, 43(2), 89–91. https://doi.org/10.1080/00050326.1998.10441850

Gorman, B. L., Resseguie, D. R., & Tomkins-Tinch, C. (2009). Sensorpedia: Information sharing across incompatible sensor systems. 2009 International Symposium on Collaborative Technologies and Systems, 448–454. https://doi.org/10.1109/CTS.2009.5067513

Grant, P. (2007). A new approach to diabetic control: Fuzzy logic and insulin pump technology. Medical Engineering & Physics, 29(7), 824–827. https://doi.org/http://dx.doi.org/10.1016/j.medengphy.2006.08.014

Gu, H., & Wang, D. (2009). A Content-aware Fridge based on RFID in smart home for home-healthcare. 2009 11th International Conference on Advanced Communication Technology, 02, 987–990.

Guinard, D., Fischer, M., & Trifa, V. (2010). Sharing using social networks in a composable Web of Things. 2010 8th IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), 702–707. https://doi.org/10.1109/PERCOMW.2010.5470524

Guinard, D., & Trifa, V. (2009). Towards the Web of Things : Web Mashups for Embedded Devices. Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web (MEM 2009), in Proceedings of WWW (International World Wide Web Conferences), 1–8. https://doi.org/10.1.1.155.3238

Guinard, D., Trifa, V., Pham, T., & Liechti, O. (2009). Towards physical mashups in the web of things. INSS2009 - 6th International Conference on Networked Sensing Systems, 196–199. https://doi.org/10.1109/INSS.2009.5409925

Hailpern, B., & Tarr, P. (2006). Model-driven development: The good, the bad, and the ugly. IBM Systems Journal, 45(3), 451–461. https://doi.org/10.1147/sj.453.0451

Page 236: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

218

Hao, L., Lei, X., Yan, Z., & ChunLi, Y. (2012). The application and implementation research of smart city in China. 2012 International Conference on System Science and Engineering (ICSSE), 288–292. https://doi.org/10.1109/ICSSE.2012.6257192

Harel, D. (1992). Biting the silver bullet: toward a brighter future for system development. Computer, 25(1), 8–20. https://doi.org/10.1109/2.108047

Hasan, M., Hossain, E., & Niyato, D. (2013). Random access for machine-to-machine communication in LTE-advanced networks: issues and approaches. IEEE Communications Magazine, 51(6), 86–93. https://doi.org/10.1109/MCOM.2013.6525600

He, D.-C., & Wang, L. (1990). Texture unit, texture spectrum, and texture analysis. IEEE Transactions on Geoscience and Remote Sensing, 28(4), 509–512.

He, W., & Xu, L. Da. (2014). Integration of Distributed Enterprise Applications: A Survey. IEEE Transactions on Industrial Informatics, 10(1), 35–42. https://doi.org/10.1109/TII.2012.2189221

Heidemann, J. (2010). Online Social Networks – Ein sozialer und technischer Überblick. Informatik-Spektrum, 33(3), 262–271. https://doi.org/10.1007/s00287-009-0367-0

Heidemann, J., Klier, M., & Probst, F. (2012). Online social networks: A survey of a global phenomenon. Computer Networks, 56(18), 3866–3878. https://doi.org/10.1016/j.comnet.2012.08.009

Hermann, M., Pentek, T., & Otto, B. (2016). Design Principles for Industrie 4.0 Scenarios. 2016 49th Hawaii International Conference on System Sciences (HICSS), 3928–3937. https://doi.org/10.1109/HICSS.2016.488

Holland, J. H. (1962). Outline for a Logical Theory of Adaptive Systems. Journal of the ACM, 9(3), 297–314. https://doi.org/10.1145/321127.321128

Hopkins, B. (2004). KEVIN BACON AND GRAPH THEORY. PRIMUS, 14(1), 5–11. https://doi.org/10.1080/10511970408984072

Howe, B. M., Chao, Y., Arabshahi, P., Roy, S., McGinnis, T., & Gray, A. (2010). A Smart Sensor Web for Ocean Observation: Fixed and Mobile Platforms, Integrated Acoustics, Satellites and Predictive Modeling. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 3(4), 507–521. https://doi.org/10.1109/JSTARS.2010.2052022

Hribernik, K. a., Ghrairi, Z., Hans, C., & Thoben, K.-D. (2011). Co-creating the Internet of Things - First experiences in the participatory design of Intelligent Products with Arduino. 2011 17th International Conference on Concurrent Enterprising, 1–9.

IBM. (2019). Watson Internet of Things. Retrieved May 23, 2019, from https://www.ibm.com/es-es/internet-of-things

IEEE 802.15.4 Standard Specification. (n.d.). Retrieved from http://standards.ieee.org/about/get/802/802.15.html

Integral PLM Experts. (2018). ThingWorx. Retrieved May 23, 2019, from https://integralplm.com/thingworx/

International Telecommunication Union. (2012). Overview of the Internet of things.

Page 237: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

219

Series Y: Global Information Infrastructure, Internet Protocol Aspects and next-Generation Networks - Frameworks and Functional Architecture Models, 22. Retrieved from https://www.itu.int/rec/T-REC-Y.2060-201206-I

Jansen, B., & Deklerck, R. (2006). Context aware inactivity recognition for visual fall detection. 2006 Pervasive Health Conference and Workshops, 1–4. https://doi.org/10.1109/PCTHEALTH.2006.361657

Jara, A. J., Sun, Y., Song, H., Bie, R., Genooud, D., & Bocchi, Y. (2015). Internet of Things for Cultural Heritage of Smart Cities and Smart Regions. 2015 IEEE 29th International Conference on Advanced Information Networking and Applications Workshops, 668–675. https://doi.org/10.1109/WAINA.2015.169

Jia, X., Feng, Q., Fan, T., & Lei, Q. (2012). RFID technology and its applications in Internet of Things (IoT). 2012 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet), 1282–1285. https://doi.org/10.1109/CECNet.2012.6201508

KaaIoT Technologies. (2019). Kaa Enterprise IoT platform. Retrieved May 25, 2019, from https://www.kaaproject.org

Kansal, A., Nath, S., Liu, J., & Zhao, F. (2007). SenseWeb: An Infrastructure for Shared Sensing. IEEE Multimedia, 14(4), 8–13. https://doi.org/10.1109/MMUL.2007.82

Karinthy, F. (1929). Chain-links. Everything Is Different.

Keller, C. G., Dang, T., Fritz, H., Joos, A., Rabe, C., & Gavrila, D. M. (2011). Active Pedestrian Safety by Automatic Braking and Evasive Steering. IEEE Transactions on Intelligent Transportation Systems, 12(4), 1292–1304. https://doi.org/10.1109/TITS.2011.2158424

Keszocze, O., Soeken, M., Kuksa, E., & Drechsler, R. (2013). Lips: An IDE for model driven engineering based on natural language processing. 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE), 31–38. https://doi.org/10.1109/NAturaLiSE.2013.6611718

King, R. (2013). Brunelleschi’s dome: how a Renaissance genius reinvented architecture. Bloomsbury Publishing USA.

Kortuem, G., Kawsar, F., Fitton, D., & Sundramoorthy, V. (2010). Smart objects as building blocks for the Internet of things. IEEE Internet Computing, 14(1), 44–51. https://doi.org/10.1109/MIC.2009.143

Kranz, M., Roalter, L., Michahelles, F., & Michahelles, F. (2010). Things That Twitter: Social Networks and the Internet of Things. What Can the Internet of Things Do for the Citizen (CIoT) Workshop at The Eighth International Conference on Pervasive Computing: Pervasive 2010, 1–10.

Krco, S., Pokric, B., & Carrez, F. (2014). Designing IoT architecture(s): A European perspective. 2014 IEEE World Forum on Internet of Things (WF-IoT), 79–84. https://doi.org/10.1109/WF-IoT.2014.6803124

Kwak, H., Lee, C., Park, H., & Moon, S. (2010). What is Twitter, a social network or a news media? Proceedings of the 19th International Conference on World Wide Web - WWW ’10, 591. https://doi.org/10.1145/1772690.1772751

Page 238: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

220

Kwong, W. A., & Passino, K. M. (1996). Dynamically focused fuzzy learning control. IEEE Transactions on Systems, Man and Cybernetics, Part B (Cybernetics), 26(1), 53–74. https://doi.org/10.1109/3477.484438

Kylili, A., & Fokaides, P. A. (2015). European Smart Cities: The Role of Zero Energy Buildings. Sustainable Cities and Society, 15, 86–95. https://doi.org/10.1016/j.scs.2014.12.003

Lampos, V., De Bie, T., & Cristianini, N. (2010). Flu Detector - Tracking Epidemics on Twitter. In Joint European conference on machine learning and knowledge discovery in databases (pp. 599–602). https://doi.org/10.1007/978-3-642-15939-8_42

Larios, D. F., Barbancho, J., Molina, F. J., & León, C. (2012). LIS: Localization based on an intelligent distributed fuzzy system applied to a WSN. Ad Hoc Networks, 10(3), 604–622. https://doi.org/10.1016/j.adhoc.2011.11.003

Lea, R., & Blackstock, M. (2014). Smart Cities: An IoT-centric Approach. Proceedings of the 2014 International Workshop on Web Intelligence and Smart Sensing, 1–2. https://doi.org/10.1145/2637064.2637096

Lee, G. M., & Kim, J. Y. (2012). Ubiquitous networking application: Energy saving using smart objects in a home. 2012 International Conference on ICT Convergence (ICTC), 299–300. https://doi.org/10.1109/ICTC.2012.6386844

Lee, J.-S., Su, Y.-W., & Shen, C.-C. (2007). A comparative study of wireless protocols: Bluetooth, UWB, ZigBee, and Wi-Fi. Industrial Electronics Society, 2007. IECON 2007. 33rd Annual Conference of the IEEE, 46–51.

Leskovec, J., Rajaraman, A., & Ullman, J. D. (2014). Mining of Massive Datasets. https://doi.org/10.1017/CBO9781139058452

Li, S., Xu, L. Da, & Wang, X. (2013). Compressed Sensing Signal and Data Acquisition in Wireless Sensor Networks and Internet of Things. IEEE Transactions on Industrial Informatics, 9(4), 2177–2186. https://doi.org/10.1109/TII.2012.2189222

Li, S., Xu, L. Da, & Zhao, S. (2014). The internet of things: a survey. Information Systems Frontiers. https://doi.org/10.1007/s10796-014-9492-7

Likert, R. (1932). A technique for the measurement of attitudes. Archives of Psychology, 22 140, 55.

Lin, M.-S., Leu, J.-S., Li, K.-H., & Wu, J.-L. C. (2013). Zigbee-based Internet of Things in 3D Terrains. Computers & Electrical Engineering, 39(6), 1667–1683.

Liu, Y., & Dai, Q. (2010). A survey of computer vision applied in Aerial robotic Vehicles. 2010 International Conference on Optics, Photonics and Energy Engineering (OPEE), 1, 277–280. https://doi.org/10.1109/OPEE.2010.5508131

LogMeIn. (2019). Xively. Retrieved May 23, 2019, from https://xively.com

LORD Sensing. (2019). SensorCloud. Retrieved May 23, 2019, from https://sensorcloud.com

Lowe, D. G. (1999). Object recognition from local scale-invariant features. Iccv, 99(2), 1150–1157.

Page 239: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

221

Lu Tan, & Neng Wang. (2010). Future internet: The Internet of Things. 2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE), 5, V5-376-V5-380. https://doi.org/10.1109/ICACTE.2010.5579543

Madlmayr, G., Langer, J., Kantner, C., & Scharinger, J. (2008). NFC devices: Security and privacy. ARES 2008 - 3rd International Conference on Availability, Security, and Reliability, Proceedings, 642–647. https://doi.org/10.1109/ARES.2008.105

Manaris, B. (1998). Natural Language Processing: A Human-Computer Interaction Perspective. In Advances in Computers (Vol. 47, pp. 1–66). https://doi.org/10.1016/S0065-2458(08)60665-8

Manaris, B. Z., & Dominick, W. D. (1993). NALIGE: a user interface management system for the development of natural language interfaces. International Journal of Man-Machine Studies, 38(6), 891–921. https://doi.org/10.1006/imms.1993.1042

Manaris, B. Z., & Slator, B. M. (1996). Interactive Natural Language Processing: Building on Success. Computer, 29(7), 28. https://doi.org/10.1109/MC.1996.511965

Mashal, I., Alsaryrah, O., Chung, T.-Y., Yang, C.-Z., Kuo, W.-H., & Agrawal, D. P. (2015). Choices for interaction with things on Internet and underlying issues. Ad Hoc Networks, 28, 68–90. https://doi.org/10.1016/j.adhoc.2014.12.006

MathWorks. (2019). ThingSpeak Internet of Things. Retrieved May 25, 2019, from https://www.thingspeak.com/

McCarthy, C. (2010). Facebook: one social graph to rule them all? Retrieved September 15, 2020, from https://www.cbsnews.com/news/facebook-one-social-graph-to-rule-them-all/

McCarthy, J. (2001). What is Artificial Intelligence? Retrieved October 22, 2019, from http://lidecc.cs.uns.edu.ar/~grs/InteligenciaArtificial/whatisai.pdf

McCarthy, J., Minsky, M. L., Rochester, N., & Shannon, C. E. (2006). A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence. AI Magazine, 27(4), 12–14. https://doi.org/10.1609/aimag.v27i4.1904

McFarlane, D., Sarma, S., Chirn, J. L., Wong, C. ., & Ashton, K. (2003). Auto ID systems and intelligent manufacturing control. Engineering Applications of Artificial Intelligence, 16(4), 365–376. https://doi.org/10.1016/S0952-1976(03)00077-0

Meana-Llorián, D., González García, C., García-Díaz, V., Pelayo G-Bustelo, B. C., & Cueva Lovelle, J. M. (2016). SenseQ: Creating Relationships Between Objects to Answer Questions of Humans by Using Social Networks. Proceedings of the The 3rd Multidisciplinary International Social Networks Conference on SocialInformatics 2016, Data Science 2016, 1–5. https://doi.org/10.1145/2955129.2955135

Meana-Llorián, D., González García, C., Pascual Espada, J., Khari, M., & Semwal, V. B. (2017). Bilrost: Connecting the Internet of Things through human Social Networks with a Domain-Specific Language. In V. K. Solanki, V. B. Semwal, R. G. Crespo, & V. Bijalwan (Eds.), Proceedings of the Second International Conference on Research in Intelligent and Computing in Engineering (pp. 57–61). https://doi.org/10.15439/2017R110

Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., & Cueva Lovelle, J. M.

Page 240: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

222

(n.d.). Bilrost: Domain-Specific Language to define actions for the Internet of Things actuators, triggered by Twitter users posts. Unpublished.

Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Garcia-Fernandez, N. (2017). IoFClime: The fuzzy logic and the Internet of Things to control indoor temperature regarding the outdoor ambient conditions. Future Generation Computer Systems, 76, 275–284. https://doi.org/10.1016/j.future.2016.11.020

Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., Cueva Lovelle, J. M., & Medina García, V. H. (2016). IntelliSenses: Sensing the Internet of Things. 2016 11th Iberian Conference on Information Systems and Technologies (CISTI), 1–6. https://doi.org/10.1109/CISTI.2016.7521551

Meana-Llorián, D., González García, C., Pelayo G-Bustelo, B. C., & García-Fernández, N. (2017). SenseQ : Replying questions of Social Networks users by using a Wireless Sensor Network based on sensor relationships. Data Science and Pattern Recognition, 1(1), 1–12. Retrieved from http://www.ikelab.net/dspr-pdf/vol1-1/dspr-paper1.pdf

Meana Llorián, D. (2016). BILROST: Interconexión de objetos inteligentes a través de redes sociales (Universidad de Oviedo). Retrieved from http://hdl.handle.net/10651/38165

Mekhalfi, M. L., Melgani, F., Zeggada, A., De Natale, F. G. B., Salem, M. A. M., & Khamis, A. (2016). Recovering the sight to blind people in indoor environments with smart technologies. Expert Systems with Applications, 46, 129–138. https://doi.org/10.1016/j.eswa.2015.09.054

Metaxas, P. T., Mustafaraj, E., & Gayo-Avello, D. (2011). How (Not) to Predict Elections. 2011 IEEE Third Int’l Conference on Privacy, Security, Risk and Trust and 2011 IEEE Third Int’l Conference on Social Computing, 165–171. https://doi.org/10.1109/PASSAT/SocialCom.2011.98

Meyer, G. G., Främling, K., & Holmström, J. (2009). Intelligent Products: A survey. Computers in Industry, 60(3), 137–148. https://doi.org/10.1016/j.compind.2008.12.005

Miao Yun, & Bu Yuxin. (2010). Research on the architecture and key technology of Internet of Things (IoT) applied on smart grid. 2010 International Conference on Advances in Energy Engineering, 69–72. https://doi.org/10.1109/ICAEE.2010.5557611

Microsoft. (2019). Azure IoT. Retrieved May 23, 2019, from https://azure.microsoft.com/es-es/overview/iot

Milgram, S. (1967). The small world problem. Psychology Today, 2(1), 60–67.

Miranda, J., Makitalo, N., Garcia-Alonso, J., Berrocal, J., Mikkonen, T., Canal, C., & Murillo, J. M. (2015). From the Internet of Things to the Internet of People. IEEE Internet Computing, 19(2), 40–47. https://doi.org/10.1109/MIC.2015.24

Mishne, G., Glance, N. S., & others. (2006). Predicting movie sales from blogger sentiment. AAAI Spring Symposium: Computational Approaches to Analyzing

Page 241: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

223

Weblogs, 155–158.

Mitchell, M. (1998). An introduction to genetic algorithms. MIT press.

Mitchell, S., Villa, N., Stewart-Weeks, M., & Lange, A. (2013). The Internet of Everything for Cities: Connecting people, Process, Data, and Things to Improve the “Livability” of Cities and Communities. 1–21.

Moeslund, T. B., & Granum, E. (2001). A Survey of Computer Vision-Based Human Motion Capture. Computer Vision and Image Understanding, 81(3), 231–268. https://doi.org/10.1006/cviu.2000.0897

Morris, M. R., Teevan, J., & Panovich, K. (2010). What do people ask their social networks, and why? Proceedings of the 28th International Conference on Human Factors in Computing Systems - CHI ’10, 1739. https://doi.org/10.1145/1753326.1753587

Mubashir, M., Shao, L., & Seed, L. (2013). A survey on fall detection: Principles and approaches. Neurocomputing, 100, 144–152. https://doi.org/10.1016/j.neucom.2011.09.037

Muhammad Anwer, R., Vázquez, D., & López, A. M. (2011). Opponent Colors for Human Detection. In Iberian Conference on Pattern Recognition and Image Analysis (pp. 363–370). https://doi.org/10.1007/978-3-642-21257-4_45

Murphy, F. E., Magno, M., O’Leary, L., Troy, K., Whelan, P., & Popovici, E. M. (2015). Big brother for bees (3B) - Energy neutral platform for remote monitoring of beehive imagery and sound. 2015 6th International Workshop on Advances in Sensors and Interfaces (IWASI), 106–111. https://doi.org/10.1109/IWASI.2015.7184943

Nadella, S. (2016). The Partnership of the Future. Retrieved October 24, 2019, from Slate website: https://slate.com/technology/2016/06/microsoft-ceo-satya-nadella-humans-and-a-i-can-work-together-to-solve-societys-challenges.html

Naik, N. (2017). Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP. 2017 IEEE International Systems Engineering Symposium (ISSE), 1–7. https://doi.org/10.1109/SysEng.2017.8088251

National Intelligence Council. (2008). Discruptive civil tehnologies - six tehnologies with potential impacts on us interests out to 2025. Conference Report CR 2008 - 07. Retrieved from http://www.dni.gov./nic/confreports_discruptive_tech.html

Naur, P., & Randell, B. (1968). Software Engineering, Conference Report. NATO Science Committee, Garmisch (Germany), 7–11.

Nesi, P., Pantaleo, G., & Sanesi, G. (2015). A hadoop based platform for natural language processing of web pages and documents. Journal of Visual Languages & Computing, 31, 130–138. https://doi.org/10.1016/j.jvlc.2015.10.017

Neto, R., & Fonseca, N. (2014). Camera Reading for Blind People. Procedia Technology, 16, 1200–1209. https://doi.org/10.1016/j.protcy.2014.10.135

Nikravesh, M. (2007). Evolution of fuzzy logic: From intelligent systems and computation to human mind. Studies in Fuzziness and Soft Computing, 217(2), 37–53. https://doi.org/10.1007/978-3-540-73182-5_3

Page 242: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

224

O’Connor, B., Balasubramanyan, R., Routledge, B. R., & Smith, N. a. (2010). From tweets to polls: Linking text sentiment to public opinion time series. From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series, 122–129.

Oakland University. (2015). The Erdos Number Project. Retrieved September 16, 2019, from http://wwwp.oakland.edu/enp/

Ondrej, S., Zdenek, B., Petr, F., & Ondrej, H. (2006). ZigBee Technology and Device Design. International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies (ICNICONSMCL’06), 129–129. https://doi.org/10.1109/ICNICONSMCL.2006.233

Oxford University Press. (2019). Oxford Dictionaries. Retrieved June 4, 2019, from https://www.oxforddictionaries.com

Pintus, A., Carboni, D., & Piras, A. (2011). The anatomy of a large scale social web for internet enabled objects. Proceedings of the Second International Workshop on Web of Things - WoT ’11, 1. https://doi.org/10.1145/1993966.1993975

Pintus, A., Carboni, D., & Piras, A. (2012). Paraimpu: A platform for a social Web of Things. Proceedings of the 21st International Conference Companion on World Wide Web (WWW’12 Companion), 401–404. https://doi.org/10.1145/2187980.2188059

Piras, A., Carboni, D., & Pintus, A. (2012). A platform to collect, manage and share heterogeneous sensor data. 2012 Ninth International Conference on Networked Sensing Systems (INSS), 1–2. https://doi.org/10.1109/INSS.2012.6240570

Poels, G., & Dedene, G. (1997). Complexity metrics for formally specified business requirements. Proceedings of the Annual Oregon Workshop on Software Metrics (AOWSM’97).

Pornpanomchai, C., & Suthamsmai, N. (2008). Beer classification by electronic nose. 2008 International Conference on Wavelet Analysis and Pattern Recognition, 1, 333–338. https://doi.org/10.1109/ICWAPR.2008.4635799

Portmann, E., Andrushevich, A., Kistler, R., & Klapproth, A. (2010). Prometheus - Fuzzy information retrieval for semantic homes and environments. 3rd International Conference on Human System Interaction, HSI’2010 - Conference Proceedings, 757–762. https://doi.org/10.1109/HSI.2010.5514482

Ramparany, F., & Boissier, O. (2002). Smart devices embedding multi-agent technologies for a pro-active world. Proc. Uniquitous Computing Workshop.

Real Academia Española. (2019). Diccionario de la lengua española. Retrieved June 4, 2019, from http://www.rae.es

Reynolds, P. (2018). The Oracle of Bacon. Retrieved September 16, 2019, from https://oracleofbacon.org/ack.php

Richter, D., Riemer, K., & vom Brocke, J. (2011). Internet Social Networking. WIRTSCHAFTSINFORMATIK, 53(2), 89–103. https://doi.org/10.1007/s11576-011-0265-3

Riul, A., de Sousa, H. C., Malmegrim, R. R., dos Santos, D. S., Carvalho, A. C. P. L. F.,

Page 243: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

225

Fonseca, F. J., … Mattoso, L. H. C. (2004). Wine classification by taste sensors made from ultra-thin films and using neural networks. Sensors and Actuators B: Chemical, 98(1), 77–82. https://doi.org/10.1016/j.snb.2003.09.025

Ross, C., Orr, E. S., Sisic, M., Arseneault, J. M., Simmering, M. G., & Orr, R. R. (2009). Personality and motivations associated with Facebook use. Computers in Human Behavior, 25(2), 578–586. https://doi.org/10.1016/j.chb.2008.12.024

Rowland, I. D., Howe, T. N., & others. (2001). Vitruvius:’Ten Books on Architecture’. Cambridge University Press.

Russell, S. J., & Norvig, P. (2016). Artificial intelligence: a modern approach. Malaysia; Pearson Education Limited,.

Sakaki, T., Okazaki, M., & Matsuo, Y. (2010). Earthquake shakes Twitter users. Proceedings of the 19th International Conference on World Wide Web - WWW ’10, 851. https://doi.org/10.1145/1772690.1772777

Sánchez-Arias, G., González García, C., & Pelayo G-Bustelo, B. C. (2017). Midgar: Study of communications security among Smart Objects using a platform of heterogeneous devices for the Internet of Things. Future Generation Computer Systems. https://doi.org/10.1016/j.future.2017.01.033

Sanchez, L., Muñoz, L., Galache, J. A., Sotres, P., Santana, J. R., Gutierrez, V., … Pfisterer, D. (2014). SmartSantander: IoT experimentation over a smart city testbed. Computer Networks, 61, 217–238. https://doi.org/10.1016/j.bjp.2013.12.020

Saygin, A. P., Cicekli, I., & Akman, V. (2000). Turing Test: 50 Years Later. Minds and Machines, 10(4), 463–518. https://doi.org/10.1023/A:1011288000451

Schneider, F., Feldmann, A., Krishnamurthy, B., & Willinger, W. (2009). Understanding online social network usage from a network perspective. Proceedings of the 9th ACM SIGCOMM Conference on Internet Measurement Conference - IMC ’09, 35. https://doi.org/10.1145/1644893.1644899

Seidewitz, E. (2003). What models mean. IEEE Software, 20(5), 26–32. https://doi.org/10.1109/MS.2003.1231147

Selic, B. (2003a). Model-driven development of real-time software using OMG standards. Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003., 4–6. https://doi.org/10.1109/ISORC.2003.1199227

Selic, B. (2003b). Models, Software Models and UML. In UML for Real (pp. 1–16). https://doi.org/10.1007/0-306-48738-1_1

Selic, B. (2003c). The pragmatics of model-driven development. IEEE Software, 20(5), 19–25. https://doi.org/10.1109/MS.2003.1231146

Selic, B. (2007). From Model-Driven Development to Model-Driven Engineering. 19th Euromicro Conference on Real-Time Systems (ECRTS’07), 3–3. https://doi.org/10.1109/ECRTS.2007.16

Selic, B. (2008). MDA manifestations. The European Journal for the Informatics Professional, IX (2), 12–16.

Sendall, S., & Kozaczynski, W. (2003). Model transformation: the heart and soul of

Page 244: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

226

model-driven software development. IEEE Software, 20(5), 42–45. https://doi.org/10.1109/MS.2003.1231150

Siasar djahantighi, F., Norouzifard, M., Davarpanah, S. H., & Shenassa, M. H. (2008). Using natural language processing in order to create SQL queries. 2008 International Conference on Computer and Communication Engineering, 600–604. https://doi.org/10.1109/ICCCE.2008.4580674

Smith, A. (2011). 22% of online Americans used social networking or Twitter for politics in 2010 campaign. Retrieved June 15, 2019, from Report of the Pew Internet Research Center website: https://www.pewinternet.org/2011/01/27/22-of-online-americans-used-social-networking-or-twitter-for-politics-in-2010-campaign/

Softtek. (2019). blauLabs. Retrieved May 23, 2019, from https://www.softtek.com/solutions/digital-enablers/blaulabs

Song, H. (2013). Internet of things for rural and small town america (invited talk). 6th Annual Create West Virginia Training and Education Conference, 1–6.

Sun, C. (2012). Application of RFID technology for logistics on internet of things. AASRI Procedia, 1, 106–111.

Telefónica. (2018). Thinking Things. Retrieved May 23, 2019, from https://iot.telefonica.com/thinking-things

Telefónica, F. (2017). La sociedad de la información en España 2017. Fundación Telefónica, Editorial Ariel.

Teutle, A. R. M. (2010). Twitter: Network properties analysis. 2010 20th International Conference on Electronics Communications and Computers (CONIELECOMP), 180–186. https://doi.org/10.1109/CONIELECOMP.2010.5440773

The Standish Group International. (2015). CHAOS REPORT 2015.

Thinger.io. (2019). Thinger.io – Open Source IoT Platform. Retrieved May 25, 2019, from https://thinger.io

ThingsBoard. (2019). ThingsBoard - Open-source IoT Platform. Retrieved May 25, 2019, from https://thingsboard.io

Tripathy, A., & Rath, S. K. (2014). Application of Natural Language Processing in Object Oriented Software Development. 2014 International Conference on Recent Trends in Information Technology, 1–7. https://doi.org/10.1109/ICRTIT.2014.6996121

Turing, A. M. (2009). Computing Machinery and Intelligence. In Parsing the Turing Test (pp. 23–65). https://doi.org/10.1007/978-1-4020-6710-5_3

U.S. Department of Transportation. (2015). Livability. Retrieved from https://www.transportation.gov/livability/101

Ugander, J., Karrer, B., Backstrom, L., & Marlow, C. (2011). The Anatomy of the Facebook Social Graph. ArXiv Preprint ArXiv:1111.4503. Retrieved from http://arxiv.org/abs/1111.4503

UK Government Chief Scientific Adviser. (2014). The Internet of Things: making the most of the Second Digital Revolution.

Page 245: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

227

United Nations. (2018). 2018 Revision of World Urbanization Prospects.

van Deursen, A. (1997). Domain-specific languages versus object-oriented frameworks: A financial engineering case study. Smalltalk and Java in Industry and Academia, STJA’97, 35–39.

van Deursen, A., Klint, P., & Visser, J. (2000). Domain-specific languages: an annotated bibliography. ACM SIGPLAN Notices, 35(6), 26–36. https://doi.org/10.1145/352029.352035

Ventä, O. (2007). Intelligent products and systems: Technology theme-final report. VTT Technical Research Centre of Finland.

Vermesan, O., & Peter Friess. (2013). Internet of Things: Converging Technologies for Smart Environments and Integrated Ecosystems. In Challenges. https://doi.org/10.2139/ssrn.2324902

Viola, P., & Jones, M. J. (2004). Robust Real-Time Face Detection. International Journal of Computer Vision, 57(2), 137–154. https://doi.org/10.1023/B:VISI.0000013087.49260.fb

Walker, S. H., & Duncan, D. B. (1967). Estimation of the probability of an event as a function of several independent variables. Biometrika, 54(1–2), 167–179. https://doi.org/10.1093/biomet/54.1-2.167

Wang, C., Komodakis, N., & Paragios, N. (2013). Markov Random Field modeling, inference & learning in computer vision & image understanding: A survey. Computer Vision and Image Understanding, 117(11), 1610–1627. https://doi.org/10.1016/j.cviu.2013.07.004

Wang, L., & He, D.-C. (1990). Texture classification using texture spectrum. Pattern Recognition, 23(8), 905–910. https://doi.org/10.1016/0031-3203(90)90135-8

Wang, S. (2011). Spatial data mining under Smart Earth. 2011 IEEE International Conference on Granular Computing, 717–722. https://doi.org/10.1109/GRC.2011.6122686

Wang, X., Han, T. X., & Yan, S. (2009). An HOG-LBP human detector with partial occlusion handling. 2009 IEEE 12th International Conference on Computer Vision, 32–39. https://doi.org/10.1109/ICCV.2009.5459207

Weinstein, R. (2005). RFID: a technical overview and its application to the enterprise. IT Professional, 7(3), 27–33. https://doi.org/10.1109/MITP.2005.69

Wheeler, A. (2007). Commercial applications of wireless sensor networks using ZigBee. Communications Magazine, IEEE, 45(4), 70–77.

Wong, C. Y., McFarlane, D., Ahmad Zaharudin, A., & Agarwal, V. (2002). The intelligent product driven supply chain. IEEE International Conference on Systems, Man and Cybernetics, vol.4, 6. https://doi.org/10.1109/ICSMC.2002.1173319

WordReference.com LLC. (2019). WordReference.com. Retrieved June 4, 2019, from https://www.wordreference.com

Working Group Industrie 4.0. (2013). Recommendations for implementing the strategic initiative INDUSTRIE 4.0. Retrieved from

Page 246: UNIVERSIDAD DE OVIEDOdi002.edv.uniovi.es/~cueva/investigacion/tesis/Tesis... · 2020. 7. 3. · Internet de las Cosas está cada día más integrado en la vida de las personas. A

Capítulo 13: Bibliografía

228

http://www.acatech.de/fileadmin/user_upload/Baumstruktur_nach_Website/Acatech/root/de/Material_fuer_Sonderseiten/Industrie_4.0/Final_report__Industrie_4.0_accessible.pdf

Xu, L., He, W., & Li, S. (2014). Internet of Things in Industries: A Survey. IEEE Transactions on Industrial Informatics, 10(4), 2233–2243. https://doi.org/10.1109/TII.2014.2300753

Yashiro, T., Kobayashi, S., Koshizuka, N., & Sakamura, K. (2013). An Internet of Things (IoT) architecture for embedded appliances. 2013 IEEE Region 10 Humanitarian Technology Conference, 314–319.

Yick, J., Mukherjee, B., & Ghosal, D. (2008). Wireless sensor network survey. Computer Networks, 52(12), 2292–2330.

Yokotani, T., & Sasaki, Y. (2016). Comparison with HTTP and MQTT on required network resources for IoT. 2016 International Conference on Control, Electronics, Renewable Energy and Communications (ICCEREC), 1–6. https://doi.org/10.1109/ICCEREC.2016.7814989

Zadeh, L. a. (1965). Fuzzy Sets. Inf and Control, 8, 338–353. https://doi.org/10.1109/2.53

Zadeh, L. A. (1975). Fuzzy logic and approximate reasoning. Synthese, 30(3–4), 407–428. https://doi.org/10.1007/BF00485052

Zanella, A., Bui, N., Castellani, A., Vangelista, L., & Zorzi, M. (2014). Internet of Things for Smart Cities. IEEE Internet of Things Journal, 1(1), 22–32. https://doi.org/10.1109/JIOT.2014.2306328

Zhengming Fu, Culurciello, E., Lichtsteiner, P., & Delbruck, T. (2008). Fall detection using an address-event temporal contrast vision sensor. 2008 IEEE International Symposium on Circuits and Systems, 424–427. https://doi.org/10.1109/ISCAS.2008.4541445


Recommended