En informática , el flujo de datos es un concepto amplio, que tiene distintos significados según la aplicación y el contexto. En el contexto de la arquitectura de software , el flujo de datos se relaciona con el procesamiento de flujos o la programación reactiva .
La computación de flujo de datos es un paradigma de software basado en la idea de representar los cálculos como un gráfico dirigido , donde los nodos son los cálculos y los datos fluyen a lo largo de los bordes. [1] El flujo de datos también puede denominarse procesamiento de flujo o programación reactiva . [2]
Ha habido múltiples lenguajes de procesamiento de flujo de datos/flujo de datos de diversas formas (ver Procesamiento de flujo de datos ). El hardware de flujo de datos (ver Arquitectura de flujo de datos ) es una alternativa a la arquitectura clásica de von Neumann . El ejemplo más obvio de programación de flujo de datos es el subconjunto conocido como programación reactiva con hojas de cálculo. A medida que un usuario ingresa nuevos valores, estos se transmiten instantáneamente al siguiente "actor" lógico o fórmula para el cálculo.
Los flujos de datos distribuidos también se han propuesto como una abstracción de programación que captura la dinámica de los protocolos múltiples distribuidos. La perspectiva centrada en los datos característica de la programación de flujos de datos promueve especificaciones funcionales de alto nivel y simplifica el razonamiento formal sobre los componentes del sistema.
Las arquitecturas de hardware para el flujo de datos fueron un tema importante en la investigación de la arquitectura informática en la década de 1970 y principios de la de 1980. Jack Dennis del Instituto Tecnológico de Massachusetts (MIT) fue pionero en el campo de las arquitecturas de flujo de datos estáticos. Los diseños que utilizan direcciones de memoria convencionales como etiquetas de dependencia de datos se denominan máquinas de flujo de datos estáticos. Estas máquinas no permitían que se ejecutaran varias instancias de las mismas rutinas simultáneamente porque las etiquetas simples no podían diferenciarlas. Los diseños que utilizan memoria direccionable por contenido se denominan máquinas de flujo de datos dinámicos por Arvind . Utilizan etiquetas en la memoria para facilitar el paralelismo. Los datos fluyen alrededor de la computadora a través de los componentes de la computadora. Se ingresan desde los dispositivos de entrada y pueden salir a través de los dispositivos de salida (impresora, etc.).
Una red de flujo de datos es una red de procesos o autómatas que se ejecutan simultáneamente y que pueden comunicarse enviando datos a través de canales (ver paso de mensajes ).
En las redes de procesos de Kahn , llamadas así en honor a Gilles Kahn , los procesos son determinados . Esto implica que cada proceso determinado calcula una función continua a partir de flujos de entrada a flujos de salida, y que una red de procesos determinados es en sí misma determinada, por lo que calcula una función continua. Esto implica que el comportamiento de dichas redes se puede describir mediante un conjunto de ecuaciones recursivas, que se pueden resolver utilizando la teoría del punto fijo . El movimiento y la transformación de los datos se representan mediante una serie de formas y líneas.
El flujo de datos también puede referirse a:
La definición del diccionario de flujo de datos en Wikcionario