El autor Luis Iribarne ha publicado 21 artículo(s):
Existen aplicaciones software que necesitan ser adaptadas en tiempo de ejecución debido a que los componentes que conforman su arquitectura no representan la configuración óptima. En estos casos, las arquitecturas deben ser reconfiguradas, por ejemplo, a˜nadiendo y eliminando componentes, o modificando las relaciones entre ellos. Este artículo presenta una propuesta para la generación de arquitecturas en tiempo de ejecución. Está enfocado en la descripción del proceso que ocurre desde que existe una definición de arquitectura que hay que resolver, hasta que se genera la mejor configuración que da solución a dicha arquitectura. Para construir dicha configuración, se utilizan técnicas de modelado, mecanismos de trading y un algoritmo de búsqueda A*. Dicho algoritmo hace uso de una heurística basada en la información sintáctica y semántica de los componentes. Como dominio de aplicación, se muestra un caso estudio para la generación de interfaces de usuario.
Autores: Javier Criado / Luis Iribarne / Nicolás Padilla /
Palabras Clave: A* - Componentes - Heurística - M2M - MDE - Trading
Autores: Javier Criado / Silverio Martínez-Fernández / David Ameller / Luis Iribarne /
Palabras Clave:
Due to the ubiquitous use of spatial data applications and the large amounts of spatial data that these applications generate, the processing of large-scale queries in distributed systems is becoming increasingly popular. Complex spatial systems are very often organized under the form of Spatial Networks, a type of graph where nodes and edges are embedded in space. Examples of these spatial networks are transportation and mobility networks, mobile phone networks, social and contact networks, etc. When these spatial networks are big enough that exceed the capacity of commonly-used spatial computing technologies, we have Big Spatial Networks, and to manage them is necessary the use of distributed graph-parallel systems. In this paper, we describe our emerging work concerning the design of new storage methods and query processing algorithms over big spatial networks in scalable and distributed systems, which is a very active research area in the past years.
Autores: Manel Mena / Antonio Corral / Luis Iribarne /
Palabras Clave: Distributed Systems - query processing - Spatial Networks - Storage Methods
Data analysis is a trending technique due to the tendency of analyzing patterns or generating knowledge in different domains. However, it is difficult to know at design time what raw data should be collected, how it is going to be analyzed or which analysis techniques will be applied to data. Service-oriented architectures can be applied to solve these problems by providing flexible and reliable architectures. In this paper, we present a microservice-based software architecture in the cloud with the aim of generating datasets to carry out data analysis. This architecture facilitates acquiring data, which may be located in a data center, distributed, or even on different devices (ubiquitous computing) due to the rise of the IoT. It provides an infrastructure over which multiple developer’ groups can work in parallel on the microservices. These microservices also provide a reliable and affordable adaptability to the lack of specific requirements in some functionalities and the fast evolution and variability of them, due to the fast changing of client needs.
Autores: Antonio Jesús Fernández-García / Javier Criado / Antonio Corral / Luis Iribarne /
Palabras Clave: architectures - datasets - microservices
La comunicación entre dispositivos del Internet de las Cosas (IoT) es muy heterogénea y esto provoca que surjan problemas de interoperabilidad e integración entre dispositivos o plataformas. Además, debido al bajo poder de computación de estos dispositivos, es común encontrar cuellos de botella en la comunicación con los mismos.Para solucionar estos problemas, proponemos una arquitectura de microservicios para la gestión de lo que hemos denominado Digital Dices (DD). Los DD son una representación virtual de dispositivos IoT análoga al concepto de Digital Twin, pero incorporando un conjunto de nuevas características que mejoran la gestión de los dispositivos físicos. Los DD pretenden dar solución al problema de la interoperabilidad y el escalado de dispositivos IoT mediante una aproximación holística. Estos elementos proporcionarán una solución que permita la gestión de eventos y un control de entrada/salida utilizando tecnologías web. Por último, pretendemos hacerlos compatibles con los estándares de la Web de las Cosas (WoT) y prepararlos para que formen parte de un sistema Open Data.
Autores: Manel Mena / Javier Criado / Luis Iribarne / Antonio Corral /
Palabras Clave: Digital Twin - Interoperabilidad - IoT - Microservicios - Open Data - WoT
En los últimos años, el uso de dispositivos IoT ha crecido exponencialmente. A la hora de trabajar con ellos, nos encontramos con una serie de problemas difíciles de solucionar. Por un lado, el simple hecho de comunicarse con esos dispositivos puede resultar problemático ya que pueden utilizar diferentes tipos de tecnologías con respecto a la comunicación. Por otro lado, este tipo de dispositivos suele tener como objetivo realizar su función utilizando la menor energía posible, por lo que presentan ciertas limitaciones en cuanto a rendimiento. Tratar de trabajar con estos dispositivos en entornos de alta disponibilidad se vuelve difícil debido a esas restricciones, ya que se convierten en cuellos de botella dentro del entorno de ejecución.En este artículo presentamos la evolución de Digital Dice, una arquitectura de microservicios para el manejo de dispositivos IoT y sistemas ciberfísicos, y las estrategias que hemos utilizado para intentar alcanzar la meta de la alta disponibilidad.
Autores: Manel Mena / Javier Criado / Luis Iribarne / Antonio Corral /
Palabras Clave: Alta disponibilidad - CPS - IoT - Microservicios
Due to the ubiquitous use of spatial data applications and the large amounts of such data these applications use, the processing of large-scale distance joins in distributed systems is becoming increasingly popular. Distance Join Queries(DJQs) are important and frequently used operations in numerous applications, including data mining, multi-media and spatial databases. DJQs (e.g., k Nearest Neighbor Join Query, k Closest Pair Query, +A7U Distance Join Query, etc.) are costly operations, since they involve both the join and distance-based search, and performing DJQs efficiently is a challenging task. Recent Big Data developments have motivated the emergence of novel technologies for distributed processing of large-scale spatial data in clusters of computers, leading to Distributed Spatial Data Management Systems(DSDMSs). Distributed cluster-based computing systems can be classified as Hadoop-based or Spark-based systems. Based on this classification, in this paper, we compare two of the most recent and leading DSDMSs, SpatialHadoop and LocationSpark, by evaluating the performance of several existing and newly proposed parallel and distributed DJQ algorithms under various settings with large spatial real-world datasets. A general conclusion arising from the execution of the distributed DJQ algorithms studied is that, while SpatialHadoop is a robust and efficient system when large spatial datasets are joined (since it is built on top of the mature Hadoop platform), LocationSpark is the clear winner in total execution time efficiency when medium spatial datasets are combined (due to in-memory processing provided by Spark). However, LocationSpark requires higher memory allocation when large spatial datasets are involved in DJQs (even more so when k and +A7U are large). Finally, this detailed performance study has demonstrated that the new distributed DJQ algorithms we have pro-posed are efficient, robust and scalable with respect to different parameters, such as dataset sizes, k, +A7U and number of computing nodes.
Autores: Francisco Garcia-Garcia / Antonio Corral / Luis Iribarne / Michael Vassilakopoulos / Yannis Manolopoulos /
Palabras Clave: Distance Join - LocationSpark - Space Partitioning - Spatial Data Processing - Spatial Query Evaluation - SpatialHadoop
Al trabajar con dispositivos IoT o sistemas ciberfísicos, estos son expuestos por múltiples protocolos diferentes. Su gestión y manejo provocan problemas de usabilidad e integración. Para paliar estos problemas necesitamos encontrar una solución capaz de facilitar la comunicación entre diferentes plataformas y dispositivos. La Web of Things (WoT) propone una serie de interfaces y patrones de interacción entre distintas +ACI-cosas+ACI, as+AO0 como estrategias de implementación. Los componentes software que implementan parte de la especificación establecida por la WoT son lo que se conocen como WoT servients. En el artículo se presenta un lenguaje para la definición de Digital Dices. Un Digital Dice es un WoT servient basado en microservicios inspirado en el concepto de Digital Twin que representa de manera abstracta un dispositivo físico para poder gestionarlo aplicando protocolos y tecnologías web.
Autores: Manel Mena / Javier Criado / Luis Iribarne /
Palabras Clave: IoT - Microservicios - WoT
La construcción de modelos, como proceso de abstracción para definir una solución software, es una tarea que requiere ingenieros con cierta experiencia. Por un lado, modelos diferentes pueden ser igual de válidos para describir una misma solución y, por otro lado, disponer de una guía durante el aprendizaje de tareas de modelado puede ayudar a optimizar el proceso de desarrollo. Este artículo describe una propuesta para dar soporte a la evaluación de modelos utilizados durante las fases de análisis y diseño de un desarrollo de software. En particular, nuestro trabajo se aplica en la evaluación de modelos de casos de uso, clases y secuencias, como artefactos principales en la captura de requisitos, la descomposición modular y la descripción de comportamientos, respectivamente. Para evaluar dichos modelos, se ejecuta un conjunto de pruebas unitarias que son creadas automáticamente a partir de modelos de pruebas definidos conforme a un lenguaje específico de dominio.
Autores: Javier Criado / Joaquín Cañadas / Luis Iribarne /
Palabras Clave: Evaluación - Generación automática de pruebas - Ingeniería Basada en Modelos (MBE) - Transformación Modelo-a-Texto (M2T)
Efficient processing of Distance-Based Join Queries (DBJQs) in spatial databases is of paramount importance in many application domains (e.g. image processing, location-based systems, geographical information systems (GIS), continuous monitoring in streaming data settings, road network systems, etc.). The most representative and known DBJQs are the K Closest Pairs Query (KCPQ) and the e Distance Join Query (eDJQ). These types of join queries are characterized by a number of desired pairs (K) or a distance threshold (e) between the components of the pairs in the nal result, over two spatial datasets. Both are expensive operations, since two spatial datasets are combined with additional constraints, and they become even more costly operations for large-scale data. Given the increasing volume of spatial data originating from multiple sources and stored in distributed servers, it is not always efficient to perform DBJQs on a centralized server. For this reason, this paper addresses the problem of computing DBJQs on big spatial datasets in SpatialHadoop, an extension of Hadoop-MapReduce that supports efficient processing of spatial queries in a cloud-based setting. SpatialHadoop injects spatial data awareness in each Hadoop layer, i.e. language, storage, MapReduce and operations layers.We propose novel algorithms, based on plane-sweep, to perform efficient parallel DBJQs on large-scale spatial datasets in SpatialHadoop. In addition to the plane-sweep base technique, we present a methodology for improving the performance of the KCPQ algorithms by the computation of an upper bound of the distance of the K-th closest pair. To demonstrate the benets of our proposed methodologies, we present the results of the execution of an extensive set of experiments that demonstrate the efficiency and scalability of our proposals using big synthetic and real-world points datasets.
Autores: Antonio Corral / Francisco Garcia-Garcia / Luis Iribarne / Michael Vassilakopoulos / Yannis Manolopoulos /
Palabras Clave: eDJQ - KCPQ - MapReduce - Spatial Data Processing - Spatial Query Evaluation - SpatialHadoop
Actualmente, el tráfico rodado y marítimo produce una alta contaminación medioambiental en los puertos marítimos, afectando a las ciudades en las que se integran. En particular, la polución es uno de los problemas más importantes a combatir dado que puede afectar seriamente a la salud y a la calidad de vida tanto del personal portuario y turistas, como de los ciudadanos que viven cerca de los puertos, pudiendo propiciar o empeorar determinadas enfermedades o incluso causar la muerte en determinados grupos de riesgo. Aunque los puertos inteligentes suelen monitorizar la calidad medioambiental, no acometen el envío automatizado de alertas contextuales según las situaciones de interés detectadas en tiempo real ni tampoco proporcionan un repositorio de componentes software sobre calidad del aire que pueda ser reutilizado por otros puertos marítimos que compartan las mismas necesidades. Este artículo presenta un proyecto I+D+i donde se propone una plataforma innovadora, reutilizable y adaptable que permita monitorizar y gestionar, de manera más eficiente y en tiempo real, la calidad de aire en distintos puertos marítimos, así como enviar automáticamente alertas contextuales con objeto de reducir todo lo posible el daño al medio ambiente, a las ciudades en las que se integran, así como a su contexto socioeconómico. Se trata, por tanto, de un proyecto con una contribución innovadora y sostenible hacia la transformación digital de los puertos, aunando los ámbitos de las Ciudades Inteligentes y de la Industria 4.0.
Autores: Juan Boubeta-Puig / Javier Criado / Guadalupe Ortiz / Nicolás Padilla / Alfonso García de Prado / Rosa Ayala / David Corral-Plaza / Antonio Corral / Inmaculada Medina-Bulo / Luis Iribarne /
Palabras Clave: arquitectura orientada a servicios y dirigida por eventos - calidad del aire - procesamiento de eventos complejos - Puerto inteligente - transformación digital - Web de las Cosas
SpatialHadoop is an extended MapReduce framework supporting global indexing techniques that partition spatial datasets across several machines and improve spatial query processing performance compared to traditional Hadoop systems. SpatialHadoop supports several spatial operations (e.g.,K Nearest Neighbor search, range query, spatial intersection join, etc.) and seven spatial partitioning techniques (Grid, Quadtree, STR, STR+ACs, k-d tree, Z-curve and Hilbert-curve). Distance-Join Queries (DJQs), like the K Nearest Neighbors Join Query (KNNJQ) and K Closest Pairs Query (KCPQ), are common operations used in numerous spatial applications. DJQs are costly operations, since they combine spatial joins with distance-based search. Data partitioning improves the management of large datasets and speeds up query performance.Therefore, performing DJQs efficiently with new partitioning methods in SpatialHadoop is a challenging task. In this paper, a new data partitioning technique based on Voronoi-Diagrams is designed and implemented in SpatialHadoop. Moreover, improved KNNJQ and KCPQ MapReduce algorithms, using the new partitioning mechanism, are also designed and developed for SpatialHadoop. Finally, the results of an extensive set of experiments with real-world datasets are presented, demonstrating that the new partitioning technique and the improved DJQ MapReduce algorithms are efficient, scalable and robust in SpatialHadoop.
Autores: Francisco Garcia-Garcia / Antonio Corral / Luis Iribarne / Michael Vassilakopoulos /
Palabras Clave: Data Partitioning - K Closest Pairs - K Nearest Neighbors Join - MapReduce - Spatial Query Evaluation - SpatialHadoop
With the development of IoT devices and web services, the objects of the real world are more interconnected, which allows applications to extend their characteristics in different fields, including industrial or home environments, among other possible examples such as health, trade, transport, or agriculture. However, this development highlights the challenge of interoperability, because devices are heterogeneous and use different communication protocols and different data formats. For this reason, we propose a model for point-to-point integration in three-layer IoT applications: (a) hardware, which corresponds to the physical objects (controller, sensor and actuator), (b) communication, which is the bridge that allows the exchange of data between a MQTT queue and REST web services, and (c) integration, which establishes a sequence of transactions to coordinate the components of the system. For this purpose, a metamodel, a graphic editor and a code generator have been developed that allow the developer to design IoT systems formed by heterogeneous components without having in-depth knowledge of every hardware and software platform. In order to validate our proposal, a smart home scenario has been developed, with a series of sensors and actuators that combined show a complex behavior.
Autores: Darwin Omar Alulema Flores / Javier Criado / Luis Iribarne / António Jesús Fernández-García / Rosa Ayala /
Palabras Clave: Domain-Specific Language (DSL) - Integration Pattern - Internet of Things (IoT) - Model-Driven Engineering (MDE) - Smart Home - web services
Actualmente, existe una tendencia al desarrollo de aplicaciones web. Muchas de estas aplicaciones se construyen en base a componentes reutilizables, lo que influye considerablemente en el tiempo de desarrollo. En este contexto se enmarca nuestra propuesta. El artículo presenta una solución basada en la ingeniería dirigida por modelos (MDE) para agilizar y facilitar a los desarrolladores la implementación de un tipo de componentes web (llamados COTSgets). Nuestra propuesta consiste en la generación automática de la implementación de estos componentes, en lo que a su estructura y funcionalidad básica se refiere, a partir de un modelo que describe su especificación y mediante la utilización de una transformación modelo-a-texto (M2T). Para dicha implementación se ha seleccionado la incipiente tecnología Polymer.
Autores: Jose A. Asensio / Nicolás Padilla / Javier Criado / Luis Iribarne /
Palabras Clave: Componentes COTSgets - COScore - Ingeniería Dirigida por Modelos (MDE) - Polymer - Transformación de Modelo a Texto (M2T)
ATL is one of the most widely used model-to-model transformation languages. Often, software designers and developers using MDE techniques have difficulties executing ATL transformations outside the Eclipse platform. An advantage of implementing these transformations in a standalone way is that they can be used for handling models at runtime. This paper presents a web tool which uses ATL and EMF libraries to provide model transformation and model validation services. These functionalities are used to implement an adaptation process built up from a set of M2M transformations aimed to dynamically generate a new M2M transformation (which does not exist a priori) from a rule repository model. This new transformation is responsible for adapting component-based software systems. The web tool also offers a GUI to test and verify the adaptation process.
Autores: Javier Criado / Diego Rodríguez-Gracia / Luis Iribarne / Nicolás Padilla /
Palabras Clave: adaptation - ATL - HOT - M2M - MDE - standalone
El Internet de las Cosas (IoT) cubre una gran variedad de dispositivos y tecnologías. Esto permite que se puedan crear aplicaciones muy diversas de IoT, como por ejemplo en el ámbito de las Smart Cities, Smart Agro, Smart Buildings, Smart Home, y Smart Health. Cada uno de estos escenarios requiere que personas y objetos se interconecten. Para llevar a cabo esta tarea, los desarrolladores deben tener un alto grado de conocimiento de los lenguajes de programación que se emplean en cada plataforma y las tecnologías sobre las cuales se ejecutan. El artículo presenta una solución basada en MDE para facilitar a los desarrolladores la implementación de aplicaciones para el IoT, sin necesidad de conocer en profundidad todas las características de los escenarios, ni los lenguajes de programación de cada una de las plataformas.
Autores: Darwin Alulema / Javier Criado / Luis Iribarne /
Palabras Clave: Ingeniería Dirigida por Modelos (MDE) - Internet de las cosas (IoT) - Lenguaje específico de dominio (DSL) - Sirius
Un problema actual en el Internet de las Cosas (IoT) es la heterogeneidad de los dispositivos que, aún realizando la misma tarea, funcionan y se comunican de forma distinta. Esto supone que dispositivos con arquitecturas diferentes y con una alta variabilidad dependiente de información de contexto, espacio-temporal y de interacción con el entorno, tengan que coexistir para dar respuesta al usuario ante una necesidad. Por lo tanto, esto requiere de nuevos servicios de descubrimiento modernos que permitan buscar, registrar e interactuar con dispositivos que respetan arquitecturas diferentes y con una alta variabilidad. En este trabajo, se presenta un servicio de descubrimiento proactivo, capaz de adaptar los dispositivos IoT a una arquitectura común y de localizar los dispositivos desplegados en la misma red.
Autores: Juan Alberto Llopis Expósito / Javier Criado / Luis Iribarne / Antonio Jesús Fernández-García /
Palabras Clave: Discovery Service - Internet of Things - Proactive - Thing Description - Web of Things
In today’s Internet of Things (IoT) world, we face many challenges, such as having an architecture that improves the integration of data coming from several IoT devices and supports an efficient building of systems able to monitor, send and process data in real time. In this sense, we propose a model based on Model-Driven Engineering (MDE) for automatic RESTful web services building in IoT systems. This article introduces a graphical editor and a transformation engine proposed to simplify the creation of RESTful web services related to the operation of IoT hardware nodes (RESTIoT). This approach semi-automatically generates Java code (which uses Spring Boot technology) for web services and Arduino code for IoT nodes controllers.
Autores: Darwin Alulema / Javier Criado / Luis Iribarne /
Palabras Clave: Domain-Specific Language (DSL) - Internet of Things (IoT) - Model-Driven Engineering (MDE) - web services
El Internet de las Cosas (IoT) está formado por un conjunto de dispositivos heterogéneos, dispositivos con características similares que pueden tener un funcionamiento diferente al ser de distintos fabricantes. La Web de las Cosas (WoT) surgió para solucionar el problema de interoperabilidad entre dispositivos y para facilitar el acceso a través de una capa de abstracción basada en tecnologías web. Independientemente de la tecnología utilizada por los dispositivos, la WoT permite a los desarrolladores crear aplicaciones sin necesidad de comprender el funcionamiento interno de cada dispositivo. Para solucionar el problema de interoperabilidad, la WoT propone el uso de la Thing Description (TD), un documento que describe el dispositivo a partir de sus capacidades de interacción. Para la gestión de los dispositivos, es necesario disponer de un mecanismo para registrar y consultar fácilmente las TD. En este artículo, presentamos un modelo de descubrimiento para la WoT con un comportamiento proactivo (buscando en la red dispositivos IoT definidos por una TD) y reactivo (registrando los dispositivos IoT mediante agentes externos, o por petición de los propios dispositivos).
Autores: Juan Alberto Llopis Expósito / Javier Criado / Luis Iribarne / Juan Boubeta-Puig / Guadalupe Ortiz /
Palabras Clave: IoT - Servicio de Descubrimiento - WoT
In this paper we present a model transformation language based on logic programming. The language, called PTL (Prolog-based Transformation Language), can be considered as an hybrid language in which ATL-style rules are combined with logic rules for defining transformations. ATL-style rules are used to define mappings from source models to target models while logic rules are used as helpers. The proposal has been implemented so that a Prolog program is automatically obtained from a PTL program. We have equipped our language with debugging and tracing capabilities which help developers to detect programming errors in PTL rules.
Autores: Jesús M. Almendros-Jiménez / Luis Iribarne /
Palabras Clave: Logic Programming - MDD - software engineering
The service-oriented computing offers an ideal development framework for carrying out business processes related to the dynamic management of component-based web user interfaces. This article proposes an architecture for specification, storage, management and visualization of web user interfaces built from widgets that follow the recommendation of the W3C. It describes a Widgets-as-a-Service (WaaS) approach for interface deployment and a three-level data model for the definition of components that take part in the architecture. In addition, it shows some particularities of the used technology and the implementation developed. To illustrate this proposal, an example of WaaS-based graphical interface developed for the Environmental Information Network of Andalusia (REDIAM) is shown.
Autores: Jesús Vallecillos / Javier Criado / Luis Iribarne / Nicolás Padilla /
Palabras Clave: architectures - components - GUI - widgets - Wookie - WSDL