Navegación

Búsqueda

Búsqueda avanzada

Integrating the Common Variability Language with Multilanguage Annotations for Web Engineering

Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming.Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts).We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications.In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.

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.