Hacia el internet de los agentesUn modelo semántico para agentificar ecosistemas de internet de las cosas

  1. Pico Valencia, Pablo Antonio
Supervised by:
  1. Juan Antonio Holgado Terriza Director

Defence university: Universidad de Granada

Fecha de defensa: 14 December 2018

Committee:
  1. José Manuel Zurita López Chair
  2. Miguel J. Hornos Barranco Secretary
  3. Claudia Villalonga Palliser Committee member
  4. Ana Belén Gil González Committee member
  5. Mercedes Amor Pinilla Committee member
Department:
  1. LENGUAJES Y SISTEMAS INFORMÁTICOS

Type: Thesis

Teseo: 572864 DIALNET

Abstract

El Internet de las Cosas (Internet of Things, IoT por sus siglas en inglés) es uno de los paradigmas emergentes que está revolucionando el Internet tanto a corto como a largo plazo, estableciendo las bases de lo que será el Futuro Internet. Dentro de dicho contexto, y tomando como base el IoT, se han identificado cuatro paradigmas complementarios que están contribuyendo a consolidar el IoT y, en consecuencia, el Futuro Internet. Estos paradigmas son: el Internet de los Servicios (IoS), Internet de las Personas (IoP), Internet del Contenido/Recursos (IoC) y el Internet de los Agentes (IoA). Entre dichos paradigmas, el IoA se posiciona como un novedoso paradigma que puede aportar capacidad de inteligencia al IoT. Para ello, este enfoque introduce el concepto de agente software como mecanismo para la construcción de ecosistemas inteligentes de IoT donde los objetos tradicionalmente pasivos puedan llegar a comportarse de manera proactiva e inteligente. Este trabajo de tesis presenta las contribuciones científicas que se han desarrollado dentro del contexto del IoA. De manera general, se definieron las directrices, concepto y terminología, alcance, aplicaciones potenciales, una especificación conceptual, métodos de agentificación, un marco de trabajo, un instrumento metodológico de diseño y un modelo de agente específico para proveer de inteligencia, proactividad, sociabilidad, adaptabilidad, y capacidad de colaboración al IoT. En primer lugar se identificaron las bases en las que se sustenta el IoA, y la relación que debe tener con el resto de paradigmas de IoT. Esto nos ha permitido definir formalmente el concepto de agente software. Posteriormente se realizó un estudio sistemático de los métodos planteados hasta la fecha para modelar el IoT a partir de agentes software. A partir de este estudio se planteó el “proceso de agentificación” como el procedimiento que permite integrar los agentes en los ecosistemas de IoT y que se puede aplicar de dos formas distintas: embebiendo agentes sobre los objetos y gestionando los recursos de redes de IoT a través de sistemas multiagentes. El modelo de cognición basado en reglas resultó ser el más empleado en la creación de ecosistemas de IoT agentificados, luego de compararlo con otros mecanismos como los basados en componentes deliberativos, lógica semántica, probabilidades y técnicas de Inteligencia Artificial. El agente tiene que tener una identidad propia, y ser autónomo y proactivo, lo que le permite coexistir, así como compartir o colaborar con otros agentes del ecosistema de IoA. Las directrices que determinan las interacciones entre agentes en IoA se resuelven mediante procesos de razonamiento semántico en base a una descripción semántica de cada agente. Se creó una ontología denominado IoA-OWL para recoger e integrar todos los conceptos requeridos en la descripción semántica de cada agente organizados en seis sub-ontologías a las que se denominó: AgentProfile, AgentContext, AgentService, AgentModel, AgentSmartThing y AgentSocial, es decir, un perfil de agente, sensibilidad al contexto, ámbito social, ecosistema de servicios, artefactos de agentes y recursos de IoT, respectivamente. En base al IoA-OWL se desarrolló un nuevo tipo de agente, el agente Linked Open Agent (LOA), extendiendo el modelo de agente JADE (Java Agent DEvelopment Framework). El modelo de agente propuesto es compatible con la agentificación del IoT a través de sistemas multiagentes y está descrito mediante un contrato semántico (Linked Agent Contract, LAC) y un flujo de control (Workflow for Agent Control, WAC). El primero de ellos se construye a partir de descriptores semánticos de acuerdo a la ontología IoA-OWL y el segundo se construye a partir de un conjunto de bloques IFTTT (If-This Then-That) donde se definen las instancias de los agentes contrapartes que el LOA empleará para la ejecución de tareas colaborativas. A nivel experimental, el proceso de agentificación del IoT modelado a partir de entidades LOAs y guiado por el marco de trabajo Framework-IoA —desarrollado mediante la herramienta IoA-Building Tool— proporcionó un mejor grado de precisión y exactitud en la recuperación de contrapartes en comparación con los mecanismos de descubrimiento sintácticos de agentes implementados mediante JADE y de repositorio de servicios implementados en jUDDI (Java implementation for the Universal Description, Discovery, and Integration). Con respecto a JADE y jUDDI, el modelo basado en LOAs proporcionó una mejora en la precisión del 24%. Por otro lado, en vista de que el enfoque propuesto no correspondía a un enfoque convencional fue necesario definir una herramienta metodológica que guiara el proceso a seguir para agentificar un ecosistema de IoT. En este sentido, se desarrolló un método sistemático en el que el proceso de agentificación es abordado en dos niveles, microscópico (a nivel de LOA) y macroscópico (a nivel de sociedad). Cada nivel incluyó un grupo de etapas, fases y pasos lógicos fáciles de ser ejercidos y que cumplidos a cabalidad permiten la creación de ecosistemas de IoA. Finalmente, el modelo de entidad LOA así como el método sistemático propuesto fueron evaluados en el área de Inteligencia Ambiental. Se plantearon dos casos de estudio orientados a proveer confort en comunidades y oficinas inteligentes. En ambos casos los sistemas modelados se comportaron de acuerdo a lo planificado. Las entidades LOAS de los ecosistemas de IoA lograron gestionar los recursos de IoT de manera inteligente, adaptativa, pro-activa y colaborativa. Asimismo, el modelo basado en LOAs proporcionó un mejor nivel de interoperabilidad, adaptación, recuperación ante fallos, proactividad y flexibilidad a nivel de agente en comparación con el modelo genérico de agentes JADE.