Un modelo de soporte a la evolución de líneas de productos de software

Importancia – La gestión de la variabilidad en los productos de software es fundamental para que las compañías desarrolladoras puedan contar con productos de software flexibles, personalizables a los distintos clientes y adaptables a nuevos mercados, es decir, software configurable en un entorno de constante cambio.

Problemática – La definición de la variabilidad es una de las actividades centrales de la ingeniería de una línea de productos de software (LPS). Una LPS está constituida por un núcleo que contiene los componentes presentes en todos los productos o aplicaciones derivadas, y un conjunto de elementos variables que incluye aquellas características optativas de la aplicación. Una LPS no es estática, evoluciona con el objeto de mantener la LPS competitiva, cumplir con los requerimientos de nuevos clientes, y adaptar las ventajas brindadas por nuevas tecnologías que surgen en el mercado. De esta manera, múltiples aplicaciones de software que comparten una base en común están evolucionando en el tiempo. Estas aplicaciones pueden evolucionar independientemente, como así también puede evolucionar el núcleo común de la LPS. Esta problemática requiere de herramientas computacionales que soporten la gestión de la evolución del proceso de desarrollo, siendo fundamental el mantenimiento de las distintas familias y variantes de productos generadas en el desarrollo de una LPS, el soporte a la propagación de los cambios introducidos y la derivación de aplicaciones. Para poder construir tales herramientas es preciso contar con un modelo de las actividades y productos que se pretenden soportar.

Objetivo – Definir un modelo que represente el ciclo de vida de productos de software, considerando la existencia de múltiples variantes, y de las posibles versiones de un mismo producto, que pueden coexistir. Se plantea como principal aporte del plan de investigación:

  • Alcanzar una representación explícita y formal de una LPS que permita la administración de su propia evolución, así como la de las aplicaciones de software derivadas a partir de ella.
  • Definir métodos que brinden soporte en la identificación de evoluciones hacia LPS inconsistentes y/o inválidas, así como el análisis y evaluación de las soluciones para evitar estos problemas de inconsistencia.

Contacto: Dr. Silvio Gonnet (ra.vo1561029988g.tec1561029988inoc-1561029988efatn1561029988as@ra1561029988gnIsa1561029988ceb1561029988).