c++ - pseudocódigo - Programación de flujo de datos-Patrones y marcos
pseudocodigo c++ ejemplos (11)
Hay algunas bibliotecas C ++ de flujo de datos que he encontrado:
Acabo de encontrar la biblioteca propuesta de Boost :: Dataflow . Parece un enfoque interesante y me preguntaba si hay otros marcos alternativos para C ++, y si hay patrones de diseño relacionados. No he descartado Boost :: Dataflow, solo estoy buscando alternativas disponibles para que pueda entender mejor el dominio y mis opciones (o sacar las mías si es necesario).
Si su área es de generación / procesamiento de sonido, use http://www.synthedit.com/
Parece prometedor, he encontrado una buena respuesta para un problema profundo en los documentos SDK (polifonía). Es curioso, pero no mencionan la palabra flujo de datos .
Solo para los registros, también puedes considerar gstreamermm , que es un contenedor de C ++ alrededor de gstreamer .
La programación de Dataflow es una de esas cosas que ha estado acechando durante décadas y que nunca se ha quitado ... para el software de todos modos; en el mundo VHDL / Verilog, usted se encuentra naturalmente adoptando la mentalidad de flujo de datos mucho más fácilmente. Pero en el mundo del software ... de alguna manera nunca parece escalar más allá de los sistemas de juguetes, tal vez porque la gente insiste en vincularlo con la programación visual (y veo que el flujo de datos de impulso también lo hace ). Algunas personas recurren a la programación de flujo de datos para resolver la crisis del software al hacer que se parezca más al diseño HW con componentes conectables con clavijas interconectables ... pero ¡espera, el diseño HW es muy difícil también! (Curiosamente, mientras que en el mundo de HW existen sistemas de programación visual, nadie los usa para construir algo grande).
El ejemplo moderno más interesante y activo que conozco al usar los principios del flujo de datos es el entorno de programación audiovisual PureData .
Mire Intel Threading Building Blocks , en particular su espacio de nombres tbb::flow
.
Quizás Pure Data (pd) tiene una API de C ++ ...
Visual Studio Concurrency Runtime contiene un marco de flujo de datos asincrónico en C ++.
Un ejemplo de flujo de datos de procesamiento de imágenes: http://msdn.microsoft.com/en-us/library/ff398050.aspx
Wikipedia
Hay un par de buenos artículos en la Wikipedia sobre la teoría de la programación del flujo de datos:
- Flujo de datos
- Programación de flujo de datos
- Programación basada en flujo
- Modelo de actor
- Programación visual
Estos artículos están escritos por varios autores, por lo que hay algunas superposiciones, y faltan algunas cosas importantes, pero es un muy buen punto de partida.
TinyOS
Este es un sistema operativo de código abierto basado en el principio del flujo de datos. Tengo malos sentimientos al respecto: ni siquiera mencionan el término "flujo de datos". Sin embargo, es eso, y tal vez vale la pena estudiarlo .
Puede verificar mi implementación del flujo de datos aquí: http://ambient.comp-phys.org
Es compatible con MPI y subprocesos y se basa en tipos de flujo de datos personalizados (es decir, ambiente :: vector) que funcionan a través del sistema de control de versiones de objetos en tiempo de ejecución.