Navegación

Búsqueda

Búsqueda avanzada

El autor Joan Fons ha publicado 6 artículo(s):

1 - Moskitt4SPL: Tool Support for Developing Self-Adaptive Systems

Increasingly, software needs to dynamically adapt its behavior at runtime in response to changing conditions in the supporting computing, communication infrastructure, and in the surrounding physical environment [6]. Self-adaptive software systems are able to reconfigure at run-time to adapt to changes. The implementation of ad-hoc solutions to cover all possible system configurations and reconfigurations is not feasible. Dynamic Software Product Lines (DSPLs) provide a systematic basis for the engineering of selfadaptive systems [4]. A key characteristic in DSPLs is the intensive use of variability at run-time in order to adapt the system configuration caused by an environment change. Following this approach, a self-adaptive system can be seen as a family of feasible system configurations with a mechanism to move from one configuration to another. The development of self-adaptive systems involves great complexity and becomes a tedious task. We propose Moskitt4SPL (M4SPL) an open-source tool to ease the development of self-adaptive systems. In this tool, we combine model-driven and DSPLs to better cope with the complexities during the construction of self-adaptive systems. M4SPL can be used for modeling systems which make use of variability at run-time in order to adapt the system configuration caused by an environment change. M4SPL provides edition capabilities for Feature Models, Configuration Models and Resolution Models which are part of a self-adaptive system specification. Furthermore, M4SPL incorporates a series of refinements to automatically ensure interesting behavior issues in adaptation specifications. Dealing with those issues before execution is essential for reliable selfadaptive systems that fulfill many of the user’s needs. M4SPL can be used standalone as an Eclipse plug-in or integrated in the MDE MOSKitt environment.

Autores: María Gómez / Ignacio Mansanet / Joan Fons / Vicente Pelechano / 
Palabras Clave:

2 - Evolución de Sistemas Auto-Adaptables mediante Modelos en Tiempo de Ejecución

La auto-adaptación se está convirtiendo en un requisito indispensable en los sistemas software. Los sistemas auto-adaptables son capaces de adaptar dinámicamente su comportamiento y estructura en ejecución en respuesta a variaciones en el sistema y el entorno. Los enfoques actuales de auto-adaptación tienden a asumir un mundo cerrado, en el que todos los fenómenos de interés son previstos en tiempo de diseño. Sin embargo, algunos comportamientos adaptativos no se pueden prever a priori. En este ámbito, se requieren técnicas que den soporte a la evolución en tiempo de ejecución de sistemas auto-adaptables. Este artículo propone una aproximación dirigida por modelos para desarrollar y evolucionar de forma sistemática sistemas auto-adaptables mientras están en ejecución. Específicamente, la aproximación utiliza Modelos en Tiempo de Ejecución para incorporar nuevas capacidades que no fueron previstas en el diseño inicial del sistema.

Autores: María Gómez / Joan Fons / Vicente Pelechano / 
Palabras Clave: Adaptación Dinámica - evolución - Modelos en Tiempo de Ejecución

3 - Diseñando la Participación del Humano en los Sistemas Autónomos

Estamos entrando gradualmente en la era de los sistemas que pretenden dotar de capacidades de computación autónoma a servicios cotidianos. La búsqueda de la autonomía completa es un reto que se está persiguiendo en diversos ámbitos de aplicación y sectores industriales. Sin embargo, la realidad es que la variedad de sistemas, dominios, entornos y contextos de ejecución, restricciones legales y sociales, hace vislumbrar un mundo donde esta autonomía completa será una utopía a corto y medio plazo. En los escenarios en que el sistema autónomo no pueda automatizar completamente sus tareas, se requerirá pues de la participación humana. Desde un punto de vista ingenieril la colaboración entre el humano y estos sistemas (Human in the Loop) introduce un considerable número de retos y problemas a resolver. En este trabajo se identifican los retos tecnológicos que introduce esta colaboración humano-sistema, y se define un marco conceptual que identifica los aspectos a considerar desde un punto de vista abstracto e ingenieril.

Autores: Vicente Pelechano / Miriam Gil / Joan Fons / Manoli Albert / 
Palabras Clave: Human in the Loop - Interacción Hombre-Máquina - Marco Conceptual - Sensibilidad al contexto - Sistemas Autónomos

4 - Analizando la Integración Humano-Sistema en Sistemas Autónomos

Los sistemas autónomos (SA) están diseñados para actuar de forma autónoma en gran parte de su trabajo; sin embargo, la autonomía completa es una utopía a medio y corto plazo. Este hecho hace necesario que el humano ayude a completar su funcionalidad (‘human-in-the-loop’). Este tipo de sistemas deben garantizar en todo momento un correcto funcionamiento autónomo, a la vez que de-be ceder, bajo ciertas condiciones, total o parcialmente el control al humano para la realización de algunas tareas. Esto requiere analizar y diseñar los siste-mas para que involucren al humano de forma adecuada ante situaciones donde no es posible alcanzar la autonomía, procurando garantizar una correcta integración humano-sistema. En este trabajo se proporcionan las bases para analizar y diseñar las interacciones humano-sistema. En este artículo se presenta un análisis que permite identificar los aspectos esenciales de la participación del humano en el SA y se propone una técnica para especificar como integrar el humano y el sistema en las primeras fases de desarrollo. Los coches autónomos se toman como ejemplo para ilustrar la propuesta mediante escenarios reales.

Autores: Miriam Gil / Manoli Albert / Joan Fons / Vicente Pelechano / 
Palabras Clave: Coches Autónomos - Human in the Loop - Interacción Humano-Sistema - Sistemas Autónomos

5 - Engineering human-in-the-loop cyber-physical systems

Context: Cyber-Physical Systems (CPSs) are gradually and widely introducing autonomous capabilities into everything. However, human participation is required to accomplish tasks that are better performed with humans (often called human-in-the-loop). In this way, human-in-the-loop solutions have the potential to handle complex tasks in unstructured environments, by combining the cognitive skills of humans with autonomous systems behaviors.Objective: The objective of this paper is to provide appropriate techniques and methods to help designers analyze and design human-in-the-loop solutions. These solutions require interactions that engage the human, provide natural and understandable collaboration, and avoid disturbing the human in order to improve human experience.Method: We have analyzed several works that identified different requirements and critical factors that are relevant to the design of human-in-the-loop solutions. Based on these works, we have defined a set of design principles that are used to build our proposal. Fast-prototyping techniques have been applied to simulate the designed human-in-the-loop solutions and validate them.Results: We have identified the technological challenges of designing human-in-the-loop CPSs and have provided a method that helps designers to identify and specify how the human and the system should work together, focusing on the control strategies and interactions required.Conclusions: The use of our approach facilitates the design of human-in-the-loop solutions. Our method is practical at earlier stages of the software life cycle since it allows domain experts to focus on the problem and not on the solution.

Autores: Miriam Gil / Manoli Albert / Joan Fons / Vicente Pelechano / 
Palabras Clave: Cyber-Physical Systems - Human in the Loop - Human-System interactions - Model-Driven Development

6 - Servicios adaptive-ready para la reconfiguración dinámica de arquitecturas de microservicios

Las arquitecturas de microservicios ofrecen un enfoque para la ingeniería de sistemas complejos y distribuidos en donde la escalabilidad y disponibilidad de las soluciones es un factor crítico.En la última década han surgido herramientas (orquestadores) orientadas a monitorizar y mantener de manera automática estas infraestructuras para garantizar la calidad del servicio.Sin embargo, estos orquestadores no están diseñados para gestionar automáticamente cambios arquitectónicos sobre la configuración de servicios, necesarios bajo ciertas condiciones operativas.Este trabajo promueve la aplicación de la computación autónoma (a través del uso de bucles de control) como estrategia para la reconfiguración dinámica de arquitecturas de microservicios.Para ello, se introduce el concepto de servicio adaptive-ready, como un microservicio que ofrece un contrato de adaptación diseñado ser usado por los bucles de control.Para ejemplificar la propuesta se utiliza un caso de estudio real en el que se aplican estos principios para desarrollar el sistema informático de una fábrica de producción industrial.Se han diseñado e implementado un conjunto de servicios ‘adaptive-ready’ y se ha desplegado una arquitectura de microservicios reconfigurable sobre kubernetes.

Autores: Joan Fons / Vicente Pelechano / Manoli Albert / Miriam Gil / 
Palabras Clave: Arquitecturas de microservicios - Computación Autónoma - Reconfiguración arquitectónica - servicios web