基于流程编程

✍ dations ◷ 2025-07-05 04:15:13 #基于流程编程

在计算机编程中,基于流程(flow-based)编程,缩写为FBP,是一种编程范型,它将应用定义为黑箱进程的网络,它们经过预先定义的连接,通过消息传递来交换数据,而这里的连接是在“外部”指定给进程的。这些黑箱进程不需要更改内部,就可以无尽的重新连接而形成不同的应用。FBP因而是天然基于构件的。

FBP是一种特殊形式的数据流程编程,它基于了有界缓冲区,带有确定生存时间的信息包,命名端口,和独立的连接的定义。

基于流程编程由J. Paul Morrison在1970年代前期发明,最初实现于为加拿大银行开发的软件中。FBP在初起阶段受到同期的一些IBM模拟语言(英语:Simulation language)的强烈影响,特别是GPSS(英语:GPSS),但是它的根基完全一致于康威关于协程的开创性论文。

下列框图展示了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(英语:Nate Edwards)所称谓的“可配置的模块化”。

相关

  • Fe(OH)sub3/sub氢氧化铁(化学式:Fe(OH)3或FeO(OH)·H2O)是铁的氢氧化物,由三价铁离子(Fe3+)和氢氧根离子(OH−)生成:也可以由氢氧化亚铁氧化得来:它是一种黄棕色沉淀,成分一般看作是铁(Ⅲ)的羟基氧化物
  • 军区俄罗斯军区是俄罗斯作为俄罗斯武装力量的行政区划的一个系统。每个地区都有一个基于俄罗斯联邦主体的地理区域,以及一个管理各自领土内军事组织的总部。目前俄罗斯有五个军区
  • 玛格丽特·斯佩林斯玛格丽特·斯佩林斯(Margaret Spellings,1957年11月30日-),美国政治家,美国共和党成员,前美国教育部长(2005年至2009年)。
  • 黄斑部黄斑(Macula lutea,源自拉丁语macula,“斑”+lutea,“黄”),是人眼视网膜中央附近一卵圆形染色区域,直径约5.5mm。黄斑还可再细分为黄斑凸、黄斑凹、黄斑凹无血管区(foveal avascula
  • 斯德望斯德望(新教汉译作士提反或司提反;拉丁语:Sanctus Stephanus)是基督教首位殉道者。西方教会定其庆日于12月26日。耶路撒冷说希腊语的犹太人抱怨在每天所分发的粮食方面,说希伯来
  • 四大士祸士祸(韩语:사화)指的是朝鲜王朝时期士族(官僚)受到政治清洗的事件。“士祸”一词本意是“士林之祸”,最初指的是士林派被勋旧派或外戚以莫须有的罪名肃清的灾祸。在勋旧派失势、士
  • 无事主义无事主义,或称避事主义,是对于应该解决的已发生问题,采取回避、视若无睹、袖手旁观、避免牵连、不下判断、保护自身、多一事不如少一事的不作为与消极思考。无事主义容易反映在
  • 吕梁市长城列表吕梁市长城列表列出位于中国山西省吕梁市的古代长城墙体及附属设施。
  • 1993年世界贸易中心爆炸案1993年世界贸易中心爆炸案发生于1993年2月26日,一辆停在世界贸易中心北座地库停车场,被放置了重1500磅(680公斤)尿素硝酸盐氢炸药的汽车发生猛烈爆炸, 引致6人死亡,1042人受伤。这
  • 让-克洛德·杜瓦利埃让-克洛德·杜瓦利埃(Jean-Claude Duvalier,绰号Baby Doc(娃娃医生),1951年7月3日-2014年10月4日),海地总统、独裁者,迄今为止任职时间最长的海地总统,统治海地长达15年。由于他与父亲同样担任过海地总统,因此又常被称为小杜瓦利埃以区别,而他的父亲则被称为老杜瓦利埃。1951年7月3日,小杜瓦利埃出生在太子港,他曾就读于太子港的圣路易德贡萨格学院(英语:Saint-Louis de Gonzague)和海地大学(英语:Université d'Etat d'Haïti