Abstraction of Clocks in Synchronous Data-Flow Systems

Abstraction of Clocks in Synchronous Data-Flow Systems
复制标题

同步数据流系统中时钟的抽象

DOI:
--
复制
发表时间:
2008
期刊:
Asian Symposium on Programming Languages and Systems
影响因子:
--
通讯作者:
Marc Pouzet
Marc Pouzet
中科院分区:
--
文献类型:
--
作者:
Albert Cohen;Louis Mandel;Florence Plateau;Marc Pouzet

文献摘要

被引文献

相似文献

同步数据流语言,例如光泽,将无限序列或流作为基本值管理。每个流都与定义流的当前值的瞬间相关联。该时钟是一种类型信息,是一个专用的类型系统 - 所谓的时钟量表 - 静态拒绝无法同步执行的程序。在现有的同步语言中,询问两个流是否具有相同时钟,因此仅依赖于时钟平等。最近的作品表明,引入了一些轻松的同步概念的兴趣,其中可以通过引入有限的缓冲液(如爱德华·李的SDF模型中完成),一旦可以通过引入有限的缓冲液进行同步时就可以组成两个流。从技术上讲,这包括通过亚型替换打字。本文通过使用时钟信封引入了一种实现这种轻松模型的简单方法。这些时钟信封是不一定是周期性的混凝土时钟集。这允许在实时嵌入式软件中建模各种功能,例如在视频系统中发现的有限抖动,实时过程的执行以及调度资源的执行或通过缓冲区进行通信。我们介绍时钟信封的代数及其主要理论属性。
Synchronous data-flow languages such as Lustre manage infinite sequences or streams as basic values. Each stream is associated to a clock which defines the instants where the current value of the stream is present. This clock is a type information and a dedicated type system -- the so-called clock-calculus -- statically rejects programs which cannot be executed synchronously. In existing synchronous languages, it amounts at asking whether two streams have the same clocks and thus relies on clock equality only. Recent works have shown the interest of introducing some relaxed notion of synchrony, where two streams can be composed as soon as they can be synchronized through the introduction of a finite buffer (as done in the SDF model of Edward Lee). This technically consists in replacing typing by subtyping. The present paper introduces a simple way to achieve this relaxed model through the use of clock envelopes . These clock envelopes are sets of concrete clocks which are not necessarily periodic. This allows to model various features in real-time embedded software such as bounded jitter as found in video-systems, execution time of real-time processes and scheduling resources or the communication through buffers. We present the algebra of clock envelopes and its main theoretical properties.