6

我正在考虑在 clojure 程序中使用一些 Dataflow 编程技术,但我很难从使用 Java、C# 或其他在现实世界中使用此类技术的主流语言的项目中找到大量信息。如果有人对此有任何可以分享的经验,我将不胜感激。

4

3 回答 3

5

我们到了!我们已经做到了......(引用来自我的一篇较早的帖子):

我们为我们的自动化项目(调度程序、组件接口、一堆组件、DF 语言、DF 编译器、UI)设计并实现了一个 DF 服务器。它是用纯 C++ 编写的,可以在多个类 Unix 系统(Linux x86、MIPS、avr32 等、Mac OSX)上运行。它缺少一些特性,例如复杂的流控制、复杂的线程控制(它只有一个不太高级的组件),所以它只是一个原型,即使它可以工作。我们现在正在开发一个功能齐全的服务器。在实现和使用原型的过程中,我们学到了很多东西。

此外,我们有一天会制作一个可视化编辑器。

有些数据流系统甚至没有提到数据流方法:

  • SynthEdit:http ://www.synthedit.com/ - 这是一个用于创建 VST 插件的音频相关框​​架和组件集
  • TinyOS:http ://www.tinyos.net/ - 它是一个嵌入式操作系统/框架
  • 数字合成器/采样器是数据流系统,据说是用 C 或 Assembly 中的某些部分编程的,请查看我对另一篇文章的回答,了解一些示例
  • Quartz Composer,Mac 的图形魔术工具,
  • Blender具有用于图像合成的数据流子系统。

编写数据流系统不是火箭科学。这是我较早的关于数据流框架基础的文章。

术语数据流很广泛。有实时同步数据流系统,如合成器和采样器,也有异步数据流系统,如我们的家庭 aut。系统(除非用户按下按钮或计时器用完,否则系统处于空闲状态),甚至还有不同的架构,如电子表格make .

想了解更多有关数据流编程的信息吗?阅读J. Paul Morrison 的网站和书籍

于 2010-12-31T11:27:59.137 回答
2

Pervasive DataRush是一个适用于任何 JVM 语言(包括 Clojure)的并行数据流编程框架。

Pervasive DataRush 使用数据流架构。该架构实现了一个程序,该程序作为由数据流队列互连的计算节点图执行。节点使用队列来共享数据。由于数据是流式传输的,因此在任何给定时间,只有任何活动操作所需的数据需要在内存中,从而允许分析非常大的数据集。除了提供对比可用内存更大的问题进行扩展的潜力之外,数据流图还利用了多种形式的并行性。

客户正在使用 DataRush 进行大数据分析和数据准备 (ETL)。

于 2011-03-08T16:47:01.977 回答
0

我们制作了另一个:带有 MySQL/PHP 后端和 AJAX 前端的协作电子表格。该软件处于测试状态,文档正在构建中。

于 2011-03-16T16:51:33.883 回答