Navegación

Búsqueda

Búsqueda avanzada

Entorno de Validación Configurable para Software Embebido Refactorizado y su Aplicación en Ascensores

Los ascensores son sistemas complejos que integran ademásde software, componentes eléctricos, mecánicos, etc. La complejidad deestos sistemas es aumentada además al tener en cuenta la variabilidad:un ascensor puede ser instalado en edificios de más o menos pisos, puedetener diferente puertas, los actuadores y sensores pueden variar, etc.La validación del software de estos sistemas es compleja en diferentesaspectos. Este artículo presenta un trabajo industrial para la validaciónde software embebido congurable refactorizado en el contexto del sectordel transporte vertical.

Aplicabilidad de la Caracterización de Benchmarks a Modelos de Variabilidad

Los Benchmarks utilizados para comparar el rendimiento de diferentes sistemas presentan una alta variabilidad que puede ser representada en modelos de variabilidad como los feature models. En este artículo presentamos las ventajas de la caracterización de Benchmarks (dada por sus cargas de trabajo), junto a los problemas de escalabilidad y complejidad de selección por objetivos de los Feature Models. Para solucionar esos problemas, formalizamos un modelo de caracterización de paquetes de cargas de trabajo para Feature Models, basándonos en ocho atributos abstractos (operaciones matemáticas, memoria, …). Este modelo y sus ventajas son evaluados en el eco-asistente HADAS, junto a un Benchmark PHP, y al Benchmark de sistemas empotrados BEEBS, obteniendo una capacidad de selección más intuitiva, y un decremento en el tiempo de obtención de configuraciones válidas y sus métricas en HADAS, con respecto a la representación estándar.

vEXgine: Extendiendo el Motor de Ejecución de CVL

El Lenguaje CVL (textit{Common Variability Language}) carece de una herramienta flexible que permita poner en práctica las necesidades industriales del modelado de la variabilidad en Líneas de Producto Software. Las herramientas existentes que proporcionan soporte para CVL son prototipos incompletos, o se centran principalmente en la especificación de la variabilidad, sin llegar a resolverla sobre modelos reales. Además, no existe una API que permita la interacción directa con el motor CVL para extenderlo o usarlo en una aplicación independiente. Este artículo presenta vEXgine, una implementación adaptable y extensible del motor de ejecución de la variabilidad de CVL.

HADAS: Asistente de eco-eficiencia con repositorio de consumo energético

El interés por la Ingeniería del Software verde, o sea, sensible al consumo de energía, es relativamente reciente. Su objetivo es concienciar a los desarrolladores de software de la influencia que tienen sus decisiones de diseño e implementación en el gasto energético del producto final. Hasta el momento se han publicado muchos resultados experimentales que comparan el consumo de energía de varias soluciones alternativas, y que demuestran que se puede reducir dicho consumo hasta en un 70 %. Aunque estos resultados sean de libre disposición, no es sencillo que un desarrollador aplique este conocimiento a sus aplicaciones. En consecuencia, en este artículo presentamos el eco-asistente HADAS cuya utilidad es: (i) los investigadores almacenarán sus resultados en un repositorio de libre disposición, (ii) los desarrolladores podrán razonar y obtener las configuraciones que menos energía consuman y que satisfaga sus requisitos. Nos centraremos en mostrar los elementos principales de nuestra propuesta y cómo se aplica a casos de estudio reales.

Configuración Eco-Eficiente de Atributos de Calidad Funcionales

Los atributos de calidad funcionales (FQAs) son aquellos que para satisfacerlos se necesita incorporar funcionalidad adicional a la arquitectura de las aplicación (e.g., seguridad). La nueva funcionalidad incorporada por estos FQAs (e.g., encriptación) afecta a otro atributo de calidad como es el consumo de energía de la aplicación. Hasta el momento no se han explorado suficientemente las interdependencias entre, por ejemplo diferentes niveles de seguridad y su incidencia en el consumo de energía. En este artículo se propone una solución para ayudar al arquitecto software a generar la configuración de los FQAs que optimiza la eficiencia energética de la aplicación. Para ello se define un modelo de uso para cada FQA, teniendo en cuenta las variables que influyen en el consumo de energía y como el valor de estas variables cambia en función del punto de la aplicación donde se requiere ese FQA. Se extiende una Línea de Productos Software que modela una familia de FQAs para incorporar la variabilidad del modelo de uso y los frameworks existentes que implementan los FQAs. Generamos la configuración más eco-eficiente seleccionando el framework y las características más adecuadas para cada FQA y configurándolo según los requisitos de la aplicación.

Reconfigurando Aplicaciones Multi-Cloud con Líneas de Producto Software Dinámicas

La reconfiguración dinámica de aplicaciones multi-cloud es un reto complejo aún no suficientemente explorado. En estos entornos las aplicaciones o sus módulos pueden estar desplegados en diferentes proveedores. Por lo tanto, reconfigurar en tiempo de ejecución estas aplicaciones puede requerir la modificación de la distribución en múltiples y heterogéneos proveedores. Obtener la nueva distribución para que sigan funcionando correctamente las aplicaciones no es una tarea sencilla, pues tanto los requisitos de las aplicaciones como las propiedades de los proveedores son muy diversos y variables. Además, la migración de las aplicaciones o sus módulos en tiempo real de un proveedor a otro puede conllevar problemas de compatibilidad y/o dependencias entre los módulos. Por lo tanto, el manejo de la variabilidad dinámica de las aplicaciones y proveedores, así como el de las dependencias existentes es deseable que se haga a un alto nivel de abstracción. Las Líneas de Producto Software Dinámicas (DSLP) utilizan modelos de variabilidad en tiempo de ejecución para obtener los cambios que han de llevarse a cabo durante la reconfiguración. En este trabajo, exploramos el uso del enfoque de DSPL, para que cuando ocurran problemas en los proveedores o se violen requisitos de las aplicaciones multi-cloud, las apps puedan ser reconfiguradas y seguir proporcionando los servicios adecuadamente a los usuarios.

SPRINTT: Un Entorno para la Institucionalización de Procesos Software

La adaptación de procesos es una tarea crucial. Sin embargo, no es sencillo hacer cambios de forma ad-hoc dentro de un proceso y esperar que sea correcto y consistente. Cualquier organización se enfrenta continuamente a este reto cuando lleva a cabo sus proyectos de acuerdo a sus modelos de procesos teniendo en cuenta las características de cada proyecto. Como resultado, se obtienen versiones del modelo de procesos que cada vez es menos manejable ante los múltiples cambios realizados de forma ad-hoc. La solución pasa por dotar a los procesos software de mecanismos adecuados para la adaptación sistemática y además aprovechar el conocimiento obtenido en cada adaptación para mejorar el propio modelo de procesos. Con todo ello en este artículo se presenta el ciclo SPRINTT para la institucionalización de procesos software que promueve la adaptación y estandarización de variantes y el paradigma de Procesos Ricos en Variantes (VRP) en el que se basa. El paradigma integra la variabilidad dentro de los procesos, para adaptarlos según cada proyecto, de manera sencilla y consistente. La propuesta se ha aplicado en un caso de estudio para la definición de procesos adaptables de Desarrollo Global de Software. Finalmente se propone extender este enfoque a nivel de contexto para vincular cambios en la organización y variaciones dentro de un proceso rico en variantes.

Propuesta para un acceso homogéneo a servicios PaaS en la Nube

En el ámbito del Cloud Computing existen multitud de proveedores ofreciendo plataformas como un servicio, que proporcionan un conjunto de funcionalidades para apoyar el ciclo de vida completo de una aplicación, desde su desarrollo hasta el despliegue en la nube (incluso abordando la monitorización en ocasiones). Aunque la existencia de un número elevado de proveedores aumenta y enriquece la potencia de este tipo de servicios, el inconveniente surge cuando cada uno de ellos define servicios distintos, dando lugar a la problemática de la dependencia del vendedor o vendor lock-in. Esta variabilidad complica la selección y uso de los distintos proveedores, ya que cada uno de ellos especifica sus propios conceptos para el modelado de las aplicaciones y de los servicios requeridos durante el despliegue y ejecución de las mismas. En este trabajo, proponemos las bases para la descripción, tanto de las plataformas cloud como de las aplicaciones a desplegar, con el fin de generar una capa de homogeneización capaz de abstraer la interfaz de los servicios ofertados por las distintas plataformas, haciendo uso de una API unificada. Esto facilitará el manejo y selección de los servicios de los distintos proveedores. Para ilustrar la idea, se presenta un escenario de aplicación de chat usando servicios de plataformas cloud.