440 research outputs found
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis
The automated analysis of variability models in
general and feature models in particular is a thriving research
topic. There have been numerous contributions along the last
twenty years in this area including both, research papers and
tools. However, the lack of realistic variability models to evaluate
those techniques and tools is recognized as a major problem
by the community. To address this issue, we looked for large–
scale variability models in the open source community. We found
that the Debian package dependency language can be interpreted
as software product line variability model. Moreover, we found
that those models can be automatically analysed in a software
product line variability model-like style. In this paper, we take
a first step towards the automated analysis of Debian package
dependency language. We provide a mapping from these models
to propositional formulas. We also show how this could allow
us to perform analysis operations on the repositories like the
detection of anomalies (e.g. packages that cannot be installed).CICYT TIN2009- 07366Junta de Andalucía TIC-253
Automated Analysis of Diverse Variability Models with Tool Support
Over the past twenty years, there have been many contributions
in the area of automated analysis of variability models. However,
the majority of these researches are focused on feature models. We propose
that the knowledge obtained during recent years on the analysis
of feature models can be applied to automatically analyse different variability
models. In this paper we present FaMa OVM and FaMa DEB,
which are prototypical implementations for the automated analysis of
two distinct variability models, namely Orthogonal Variability Models
and Debian Variablity Models, respectively. In order to minimise efforts
and benefit from the feature model know–how, we use FaMa Framework
which allows the development of analysis tools for diverse variability
modelling languages. This framework provides a well tested system that
guides the tool development. Due to the structure provided by the framework,
FaMa OVM and FaMa DEB tools are easy to extend and integrate
with other tools. We report on the main points of both tools, such as the
analysis operations provided and the logical solvers used for the analysis.Comisión Interministerial de Ciencia y Tecnología (CICYT) TIN2012-32273Junta de Andalucía TIC-5906Junta de Andalucía P12-TIC-186
Leveraging Feature Models to Configure Virtual Appliances
International audienceCloud computing is a major trend in distributed computing environments. Software virtualization technologies allow cloud Infrastructure-as-a-Service (IaaS) providers to instantiate and run a large number of virtual appliances. However, one of the major challenges is to reduce the disk space footprint of such virtual appliances to improve their storage and transfer across cloud servers. In this paper, we propose to use a Software Product Line (SPL) approach and describe the virtual appliance as a set of common and variable elements modeled by means of Feature Model (FM). We describe a solution to reverse engineer a FM from a virtual appliance and we show how we take advantage of the SPL configuration mechanisms to signifi cantly reduce the size of a virtual appliance
Configuration Analysis for Large Scale Feature Models: Towards Speculative-Based Solutions
Los sistemas de alta variabilidad son sistemas de software en los que la gestión de la
variabilidad es una actividad central. Algunos ejemplos actuales de sistemas de alta
variabilidad son el sistema web de gesión de contenidos Drupal, el núcleo de Linux,
y las distribuciones Debian de Linux.
La configuración en sistemas de alta variabilidad es la selección de opciones
de configuración según sus restricciones de configuración y los requerimientos de
usuario. Los modelos de características son un estándar “de facto” para modelar las
funcionalidades comunes y variables de sistemas de alta variabilidad. No obstante,
el elevado número de componentes y configuraciones que un modelo de características
puede contener hacen que el análisis manual de estos modelos sea una tarea muy
costosa y propensa a errores. Así nace el análisis automatizado de modelos de características
con mecanismos y herramientas asistidas por computadora para extraer
información de estos modelos. Las soluciones tradicionales de análisis automatizado
de modelos de características siguen un enfoque de computación secuencial para
utilizar una unidad central de procesamiento y memoria. Estas soluciones son adecuadas
para trabajar con sistemas de baja escala. Sin embargo, dichas soluciones demandan
altos costos de computación para trabajar con sistemas de gran escala y alta
variabilidad. Aunque existan recusos informáticos para mejorar el rendimiento de
soluciones de computación, todas las soluciones con un enfoque de computación secuencial
necesitan ser adaptadas para el uso eficiente de estos recursos y optimizar su
rendimiento computacional. Ejemplos de estos recursos son la tecnología de múltiples
núcleos para computación paralela y la tecnología de red para computación distribuida.
Esta tesis explora la adaptación y escalabilidad de soluciones para el analisis automatizado
de modelos de características de gran escala. En primer lugar, nosotros
presentamos el uso de programación especulativa para la paralelización de soluciones.
Además, nosotros apreciamos un problema de configuración desde otra perspectiva,
para su solución mediante la adaptación y aplicación de una solución no
tradicional. Más tarde, nosotros validamos la escalabilidad y mejoras de rendimiento
computacional de estas soluciones para el análisis automatizado de modelos de características
de gran escala.
Concretamente, las principales contribuciones de esta tesis son:
• Programación especulativa para la detección de un conflicto mínimo y
1
2
preferente. Los algoritmos de detección de conflictos mínimos determinan
el conjunto mínimo de restricciones en conflicto que son responsables de comportamiento
defectuoso en el modelo en análisis. Nosotros proponemos una
solución para, mediante programación especulativa, ejecutar en paralelo y reducir
el tiempo de ejecución de operaciones de alto costo computacional que
determinan el flujo de acción en la detección de conflicto mínimo y preferente
en modelos de características de gran escala.
• Programación especulativa para un diagnóstico mínimo y preferente. Los
algoritmos de diagnóstico mínimo determinan un conjunto mínimo de restricciones
que, por una adecuada adaptación de su estado, permiten conseguir un
modelo consistente o libre de conflictos. Este trabajo presenta una solución
para el diagnóstico mínimo y preferente en modelos de características de gran
escala mediante la ejecución especulativa y paralela de operaciones de alto
costo computacional que determinan el flujo de acción, y entonces disminuir
el tiempo de ejecución de la solución.
• Completar de forma mínima y preferente una configuración de modelo
por diagnóstico. Las soluciones para completar una configuración parcial
determinan un conjunto no necesariamente mínimo ni preferente de opciones
para obtener una completa configuración. Esta tesis soluciona el completar
de forma mínima y preferente una configuración de modelo mediante técnicas
previamente usadas en contexto de diagnóstico de modelos de características.
Esta tesis evalua que todas nuestras soluciones preservan los valores de salida esperados,
y también presentan mejoras de rendimiento en el análisis automatizado de
modelos de características con modelos de gran escala en las operaciones descrita
Applying Package Management To Mod Installation
Package management automates the discovery and installation of software that can coexist within an operating system. The methods used by package management can also address other instances where the installation of software needs to be automated. One example of this is the environment produced by third party video game modifications. An adapted application of package management practices can help to solve the difficult problem of finding and installing a set of video game modifications that do not conflict with each other. This greatly benefits the environment by allowing third party contributions to be easily installed which fosters growth in both the developer and user community surrounding the environment. This thesis presents the theory and complexities behind package management and shows how it can be effectively applied to managing video game modifications by presenting examples of software that can extract relevant metadata from video game modifications and discover conflict free installation solutions
Adoption of Academic Tools in Open Source Communities: The Debian Case Study
Part 4: Case StudiesInternational audienceComponent repositories play a key role in the open software ecosystem. Managing the evolution of these repositories is a challenging task, and maintainers are confronted with a number of complex issues that need automatic tools to be adressed properly.In this paper, we present an overview of 10 years of research in this field and the process leading to the adoption of our tools in a FOSS community. We focus on the Debian distribution and in particular we look at the issues arising during the distribution lifecycle: ensuring buildability of source packages, detecting packages that cannot be installed and bootstrapping the distribution on a new architecture. We present three tools, distcheck, buildcheck and botch, that we believe of general interest for other open source component repositories.The lesson we have learned during this journey may provide useful guidance for researchers willing to see their tools broadly adopted by the community
- …