fbpx
维基百科

同步式编程

同步式(synchronous)编程,也叫做同步式响应式编程或缩写为SRP,是为响应式系统编程而优化的一种计算机编程范型。同步式编程语言,是支持同步式编程范型的计算机编程语言

响应式系统

计算机系统可以归入三大类别:

  1. 变换式系统,接受输入、对其进行处理、递送出输出、并终止它们的执行,典型例子是编译器
  2. 交互式系统,按自己的速度、连续的与它们的环境进行交互,典型的例子是web
  3. 响应式系统,按照它们的环境所施加的速度、连续的与它们的环境进行交互,典型的例子是现代飞机上的自动飞行控制系统。响应式系统因此必须在严格的时间界限内,对来自环境的刺激(stimuli)进行响应。为此它们经常叫做实时系统,并经常见于嵌入式系统

编程范型

同步式编程的原理是对编程语言做同步抽象,使之同样于在数字电路中的那种同步抽象。同步电路实际上是在高层抽象上设计的,这里的电子晶体管的时序特征被忽略了。因此每个逻辑门(或门、与门等)都被假定为瞬时计算出结果,每条连线都被假定为瞬时传输信号。同步电路是有时钟的,在它的时钟的每个时间标记(tick)上,它瞬时从它的输入值,和它的记忆单元(锁存器)的当前值,计算出它的输出值,和它的记忆单元的新的值。换句话说,电路表现的如同电子流动得无限的快速。第一批同步式编程语言在1980年代于法国发明:Esterel英语EsterelLustreSIGNAL英语SIGNAL (programming language)。此后又出现了很多其他的同步式语言。

同步与异步比较

同步抽象,使得关于时间的推理,比在异步英语Asynchrony (computer programming)式程序中更加容易,这得益于逻辑“时间标记”的概念:同步式程序在一序列的时间标记中对它的环境进行响应,而在一个时间标记之内的计算被假定为瞬时的,就是说,如同处理器以无限快的速度执行了它们。

语句a||b因此抽象为包(package)ab,这里的ab是同时的。举个具体例子,Esterel英语Esterel语句every 60 second emit minute,规定了信号minute(分钟)精确的同步于信号second(秒)的第60次出现。在更基础的层面,同步抽象消去了由于交错的(interleave)并发行为而导致的非确定性。这允许了确定性(deterministic)语义,因此使得同步式程序经受得起形式分析、验证和有保证的代码生成,并可用作形式规定英语Formal specification形式化。

相反的,在计算的异步模型中,在一个顺序的处理器上,语句a||b可以实现为要么a;b要么b;a。这叫做“基于交错的非确定性”。异步模型的缺点是它在根本上不允许确定性语义(例如有竞争条件),这使得形式推理比如分析和验证更加复杂。尽管如此,异步式形式化对于建模、设计和验证分布式系统是非常有用的,因为它们本质上是异步的。

同步模型还对立于具有基本上“同步交互”进程的系统。一个例子是基于通信顺序进程(CSP)模型建造的系统,它还允许非确定性选择。

同步式编程语言

  • Argos
  • Atom英语Atom (programming language)
  • Averest英语Averest
  • ChucK
  • Esterel英语Esterel[1]
  • LabVIEW
  • LEA
  • Lustre
  • Lucid Synchrone[2]
  • PLEXIL英语PLEXIL
  • SIGNAL英语SIGNAL (programming language)(启用多时钟规定的面向数据流程的同步式语言)
  • SOL英语Secure Operations Language
  • SyncCharts

参见

引用

  1. ^ G. Berry and G. Gonthier. The synchronous programming language ESTEREL: Design, semantics, implementation. Science of Computer Programming, 19(2), 1992.
  2. ^ Lucid Synchrone. [2021-03-03]. (原始内容于2019-10-14). 

参考

外部链接

同步式编程, 同步式, synchronous, 编程, 也叫做同步式响应式编程或缩写为srp, 是为响应式系统编程而优化的一种计算机编程范型, 语言, 是支持范型的计算机编程语言, 目录, 响应式系统, 编程范型, 同步与异步比较, 语言, 参见, 引用, 参考, 外部链接响应式系统, 编辑计算机系统可以归入三大类别, 变换式系统, 接受输入, 对其进行处理, 递送出输出, 并终止它们的执行, 典型例子是编译器, 交互式系统, 按自己的速度, 连续的与它们的环境进行交互, 典型的例子是web, 响应式系统, 按照. 同步式 synchronous 编程 也叫做同步式响应式编程或缩写为SRP 是为响应式系统编程而优化的一种计算机编程范型 同步式编程语言 是支持同步式编程范型的计算机编程语言 目录 1 响应式系统 2 编程范型 3 同步与异步比较 4 同步式编程语言 5 参见 6 引用 7 参考 8 外部链接响应式系统 编辑计算机系统可以归入三大类别 变换式系统 接受输入 对其进行处理 递送出输出 并终止它们的执行 典型例子是编译器 交互式系统 按自己的速度 连续的与它们的环境进行交互 典型的例子是web 响应式系统 按照它们的环境所施加的速度 连续的与它们的环境进行交互 典型的例子是现代飞机上的自动飞行控制系统 响应式系统因此必须在严格的时间界限内 对来自环境的刺激 stimuli 进行响应 为此它们经常叫做实时系统 并经常见于嵌入式系统 编程范型 编辑同步式编程的原理是对编程语言做同步抽象 使之同样于在数字电路中的那种同步抽象 同步电路实际上是在高层抽象上设计的 这里的电子晶体管的时序特征被忽略了 因此每个逻辑门 或门 与门等 都被假定为瞬时计算出结果 每条连线都被假定为瞬时传输信号 同步电路是有时钟的 在它的时钟的每个时间标记 tick 上 它瞬时从它的输入值 和它的记忆单元 锁存器 的当前值 计算出它的输出值 和它的记忆单元的新的值 换句话说 电路表现的如同电子流动得无限的快速 第一批同步式编程语言在1980年代于法国发明 Esterel 英语 Esterel Lustre和SIGNAL 英语 SIGNAL programming language 此后又出现了很多其他的同步式语言 同步与异步比较 编辑同步抽象 使得关于时间的推理 比在异步 英语 Asynchrony computer programming 式程序中更加容易 这得益于逻辑 时间标记 的概念 同步式程序在一序列的时间标记中对它的环境进行响应 而在一个时间标记之内的计算被假定为瞬时的 就是说 如同处理器以无限快的速度执行了它们 语句a b因此抽象为包 package ab 这里的a和b是同时的 举个具体例子 Esterel 英语 Esterel 语句every 60 second emit minute 规定了信号minute 分钟 精确的同步于信号second 秒 的第60次出现 在更基础的层面 同步抽象消去了由于交错的 interleave 并发行为而导致的非确定性 这允许了确定性 deterministic 语义 因此使得同步式程序经受得起形式分析 验证和有保证的代码生成 并可用作形式规定 英语 Formal specification 形式化 相反的 在计算的异步模型中 在一个顺序的处理器上 语句a b可以实现为要么a b要么b a 这叫做 基于交错的非确定性 异步模型的缺点是它在根本上不允许确定性语义 例如有竞争条件 这使得形式推理比如分析和验证更加复杂 尽管如此 异步式形式化对于建模 设计和验证分布式系统是非常有用的 因为它们本质上是异步的 同步模型还对立于具有基本上 同步交互 进程的系统 一个例子是基于通信顺序进程 CSP 模型建造的系统 它还允许非确定性选择 同步式编程语言 编辑Argos Atom 英语 Atom programming language Averest 英语 Averest ChucK Esterel 英语 Esterel 1 LabVIEW LEA Lustre Lucid Synchrone 2 PLEXIL 英语 PLEXIL SIGNAL 英语 SIGNAL programming language 启用多时钟规定的面向数据流程的同步式语言 SOL 英语 Secure Operations Language SyncCharts参见 编辑并发性引用 编辑 G Berry and G Gonthier The synchronous programming language ESTEREL Design semantics implementation Science of Computer Programming 19 2 1992 Lucid Synchrone 2021 03 03 原始内容存档于2019 10 14 参考 编辑Nicolas Halbwachs Synchronous programming of reactive systems Kluwer Academic Publishers 1993 http www verimag imag fr halbwach newbook pdf 页面存档备份 存于互联网档案馆 外部链接 编辑The Synchronous group 页面存档备份 存于互联网档案馆 at Verimag lab The SIGNAL programming language 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 同步式编程 amp oldid 74533046, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。