En informática , el flujo de datos es un concepto amplio, que tiene varios 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 cálculos y los datos fluyen a lo largo de los bordes. [1] El flujo de datos también se puede llamar procesamiento de flujo o programación reactiva . [2]
Ha habido múltiples lenguajes de procesamiento de flujos de datos/flujos de diversas formas (consulte Procesamiento de flujos ). 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. Cuando un usuario ingresa nuevos valores, 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 multiprotocolos distribuidos. La perspectiva centrada en datos característica de la programación de flujo 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 arquitectura de computadoras en los años 1970 y principios de los 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áticas. Estas máquinas no permitían ejecutar múltiples instancias de las mismas rutinas simultáneamente porque las etiquetas simples no podían diferenciarlas. Arvind denomina a los diseños que utilizan memoria direccionable por contenido máquinas de flujo de datos dinámicos . 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 ingresa desde los dispositivos de entrada y puede 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 (consulte paso de mensajes ).
En las redes de procesos de Kahn , que llevan el nombre de Gilles Kahn , los procesos están determinados . Esto implica que cada proceso determinado calcula una función continua desde los flujos de entrada hasta los flujos de salida, y que una red de procesos determinados está determinada en sí misma, calculando así una función continua. Esto implica que el comportamiento de dichas redes puede describirse mediante un conjunto de ecuaciones recursivas, que pueden resolverse utilizando la teoría del punto fijo . El movimiento y transformación de los datos está representado por una serie de formas y líneas.
Flujo de datos también puede referirse a:
La definición del diccionario de flujo de datos en Wikcionario