About.me/mgclaros

21 mar. 2019

Pipeline: un tipo de workflow

Muchos asociarán pipeline con tubería, oleoducto, o incluso con una cartera de productos medico-farmacéuticos en fase de desarrollo. Pero en el entorno (bio)informáticopipeline se utiliza en sentido figurado para indicar un código informático en el que los datos pasan secuencialmente por una serie de procesos (programas, órdenes, métodos, funciones...), como un chorro (stream) de información, hasta completar toda la tarea (task). Las peculiaridades de cualquier pipeline son:
  • cada uno de los procesos es autónomo, es decir, se puede ejecutar fuera del pipeline;
  • los procesos están encadenados, de manera que la salida de uno es la entrada del siguiente;
  • el encadenamiento es lineal (sin ramificaciones) y unidireccional (cual chorro de agua por una tubería; supongo que ya habréis captado la metáfora).
Por tanto, debemos considerar que pipeline es un caso concreto de flujo de trabajo (workflow) en el que los procesos se ejecutan de manera lineal, unos detrás de otros, sin ramificar, y sin recursividad ni vuelta atrás. Tanto unos como otros se representan en diagramas de flujo (flowcharts) como el que acompaña a esta entrada.

El origen de pipeline está en el signo | (pipe) del unix, que el sirve para encadenar distintas órdenes (commands) en las que proceso n no empezará hasta que haya acabado el n – 1:
  $ proceso 1 | ... | proceso n-1 | proceso n | proceso n+1 | ... | proceso final
De ahí que, cuando se traduce, se utilicen con frecuencia los términos tubo o tubería. No vería con malos ojos el neologismo «tubulación»Sin embargo, yo creo que son más apropiados canalización, concatenación o encadenamiento porque se pueden calificar con los adjetivos computacional o informático cuando sea necesario, y se pueden convertir en verbos (canalizar, concatenar, encadenar) o en adjetivos (canalizado, concatenado, encadenado). En cambio, de tubo, tubería y tubulación tenemos el adjetivo tubular, pero no hay verbo (tubulacionar sería un sesquipedalismo innecesario).

Si lo que queremos es innovar, traduzcamos el término pipe (canal) por el sufijo -ducto para acuñar neologismos, como informoducto o computaducto, que no existen en la web. Se admiten sugerencias de todo tipo.

Espero que, de paso, se os aclaren los problemas conceptuales del tándem pipeline workflow (flujo de trabajo canalizado/concatenado/encadenado) y que ambos términos no son sinónimos ni de lejos.