语言无关 – 基于流的编程

我在过去几天在Flow Based Programming做了一点点阅读。有一个wiki提供更多的细节。维基百科也有一个good overview。我的第一个想法是,“伟大的另一个支持者土地假装程序设计” – 一个概念回到80年代末。但是,当我阅读更多,我必须承认我已经变得很有趣。

>你使用FBP做一个真正的项目吗?
>您对FBP的看法是什么?
> FBP有未来吗?

在某些意义上,它似乎是自从程序语言出现以来,我们的行业一直追求的重用的圣杯。

有趣的讨论!我昨天发生的部分混乱可能是由于许多不同的符号使用有向弧,但使用它们意味着不同的事情。在FBP中,线表示有界缓冲器,跨越数据分组的行程流。由于组件通常是长时间运行的进程,流可能包含大量的数据包,而FBP应用程序可能运行很长时间 – 甚至可能“永久”(参见2007年关于一个项目的文章Eon,主要由UMass Amherst )。由于当缓冲器(临时)已满(或暂时为空)时,发送到有界缓冲器的请求暂停,因此可以使用有限资源处理不确定数量的数据。

相比之下,Grafcet中的E来自Etapes,意思是“steps”,这是一个截然不同的概念。在这种模型中(并且存在许多这样的模型),在步骤之间流动的数据被限制在一次可以保持在高速存储器中或者必须保持在盘上。 FBP还支持网络中的循环,这在基于步进的系统中很难实现 – 参见例如http://www.jpaulmorrison.com/cgi-bin/wiki.pl?BrokerageApplication – 注意到该应用程序以自然的方式使用MQSeries和CORBA。此外,FBP本身是并行的,因此它适合于网格网络,多核机器和现代计算的多个方向的编程。最后一条评论:在文献中我发现了许多相关项目,但很少有具有FBP的所有特点。我已经积累的名单,多年来(其中一些人比Grafcet更近)可以在http://www.jpaulmorrison.com/cgi-bin/wiki.pl?FlowLikeProjects找到。

http://stackoverflow.com/questions/405627/flow-based-programming

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:语言无关 – 基于流的编程