基于流程编程
来自维基百科,自由的百科全书
在计算机编程中,基于流程(flow-based)编程,缩写为FBP,是一种编程范型,它将应用定义为黑箱进程的网络,它们经过预先定义的连接,通过消息传递来交换数据,而这里的连接是在“外部”指定给进程的。这些黑箱进程不需要更改内部,就可以无尽的重新连接而形成不同的应用。FBP因而是天然基于构件的。
历史
基于流程编程由J. Paul Morrison在1970年代前期发明,最初实现于为加拿大银行开发的软件中[2]。FBP在初起阶段受到同期的一些IBM模拟语言的强烈影响,特别是GPSS,但是它的根基完全一致于康威关于协程的开创性论文[3]。
概念
下列框图展示了FBP框图的主要实体(信息包除外)。这种框图可以直接转换成一个连接的列表,接着它们可以在适当的引擎(软件或硬件)上执行:

A、B和C是执行代码构件的处理器。O1、O2和两个IN是端口,它们将连接M和N连结到与它们有关的处理器上。允许处理器B和C执行相同的代码,每个处理器必须有自己的工作存储、控制块等的集合。不管它们共享代码与否,B和C自由的使用相同的端口名字,因为端口名字只在引用它们的构件内有意义(当然是在网络层面上)。
M和N经常被称为“有界缓冲区”,在任何时间点上能持有的信息包(IP)的数目方面,它们有着固定的能力。
“端口”的概念是为允许同一个构件在一个网络上用在多于一个位置上。结合了叫做初始化信息包(IIP)的参数化能力,端口向FBP提供了构件重用功能,使得FBP成为基于构件的架构。FBP从而展示了IBM研究院的Raoul de Campo和Nate Edwards所称谓的“可配置的模块化”。
参见
引用
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.