ONEKIN Research groups

Dentro de la fabricación avanzada, los sistemas ciber-físicos se caracterizan por integrar componentes físicos y de software, donde cada elemento puede exhibir múltiples comportamientos, e interacciones entre ellos  que cambian con el contexto. Ejemplos de este tipo de sistemas serían  el sistema de red eléctrica inteligente, sistemas de automóvil autónomo, sistemas de monitoreo médico, sistemas de control del proceso, sistemas de robótica, domótica y pilotos automáticos aeronáuticos. Estos sistemas se caracterizan por una alta variabilidad tanto en el tiempo (evolución) como en el espacio (existencia de productos con distintas configuraciones). Para abordar esta problemática, se ha propuesto las Líneas de Producto Software (LPS).

Las LPS  tienen como objeto apoyar el desarrollo de toda una familia de productos software a través de una reutilización sistemática de los artefactos compartidos. Los procesos SPL distinguen dos procesos interrelacionados: (1) la ingeniería de dominio (DE), donde se define el alcance y la variabilidad del sistema, y se desarrollan los recursos a ser compartidos; y (2) la ingeniería de aplicaciones (AE), donde los productos se derivan de los recursos compartidos. El objetivo final es que los productos se obtengan completamente a partir de los recursos compartidos.

Sin embargo, llegar a conseguir "una familia de productos configurable" es el resultado de un esfuerzo que puede durar mucho años. Durante esta migración, se va produciendo un trasiego de recursos desde el desarrollo de productos (AE) al desarrollo de recursos compartidos  (AE) en el camino hacia una "Familia de Producto Configurable". El problema es que esta transición está lejos de ser suave.

Los propietarios de los productos pueden estar de acuerdo en unir fuerzas para crear una plataforma común cuando la funcionalidad sea compartida por casi todos los productos. El problema comienza cuando la tasa de reuso disminuye, es decir, la funcionalidad la comparten algunos, pero no todos los productos de la  SPL. Los obstáculos son tanto de naturaleza técnica como de recursos humanos. Los propietarios de productos pueden ser reacios al ver que sus equipos disminuyen gradualmente a favor de los de ingeniería de dominio. Pero no sólo los gerentes. Los desarrolladores de productos pueden también oponerse al carecer de las habilidades que requiere el desarrollo de software reutilizable. A su vez, esta falta de capacitación hace que los ingenieros de dominio desconfíen del código proveniente de estos desarrolladores de productos. Sin embargo, la evolución de la SPL conlleva también una evolución de su fuerza de trabajo, con la ingeniería de dominio tomando cada mas relevancia conforme avanzamos hacia "una familia de productos configurable".

Una de las principales áreas que abordamos en el grupo  es la utilización de prácticas de código abierto dentro de las organizaciones SPL. Después del éxito cosechado en diferentes iniciativas (Linux, MySQL, etc), las prácticas "Open Source" están siendo consideradas por parte las empresas. De especial interés, es la práctica que permiten que los desarrolladores más noveles aprenden del personal más experimentado. Y ésto durante la transición de los desarrollos basados en producto a los desarrollos basados en plataforma.

Sin embargo la aplicación del "Open Source" dentro de la empresa conlleva diferentes retos que se derivan de la transición de estructuras principalmente jerárquicas a organigramas mucho más abiertos. Esto implica re-escribir los mecanismos de incentivos, modos de contribución, aseguramiento de la calidad o prácticas de propiedad intelectual que ahora ya NO se desarrollan en un entorno abierto, sino dentro de una organización ya existente. En el grupo abordamos esta problemática en colaboración con diferentes empresas del entorno.

Campo de investigación

Engineering & Technology

Institución
University of the Basque Country (UPV/EHU)
Prioridades RIS3
  • Advanced manufacturing
Investigador principal
Oscar Diaz Garcia
Dirección
FACULTAD DE INFORMATICA
Cómo llegar
Principales líneas de investigación.
  • Sistemas ciber-físicos
  • Chatbots
  • Líneas de Producto Software
  • Gestión del conocimiento. Wikis
  • Internet de las Cosas
  • Software Abierto
  • Desarrollo Dirigido por Modelos
  • Linked Data