同步假设是如SCADE、Lustre等同步语言所基于的基础。这些假设是对实时系统环境的一种抽象。对本文讨论涉及到的内容,可进一步参考
《Representation and Analysis of Reactive Behaviors: A Synchronous Approach》(SyncCharts, 1996)
。
同步方法采用了一种理想化的抽象视角去抽象实时系统。下面将展开讨论同步方法的假设基础。
信号 (Signal)
响应式系统(reactive system)与其所处环境之间的交互的种类非常多:传感器或致动器(actuator)、离散或连续的信息、通过轮询或中断等方式获取信息等。
同步假设的第一项简化,是对信息交换方式采用了一种独特的方法去抽象。响应式系统与其所处环境通过信号永续保持交互。
这里的信号,包含了两个层次的信息。第一层为信号的存在性,即信号是存在还是缺失;第二层为信号所表达的值。
信号的存在性是易失的,而值是持久的。信号的值只有在信号出现的时候,才有可能改变。纯信号(pure signal)与传感器信息(sensor)是特殊的种类。纯信号只有存在性,没有值,可以用来指示某个条件是否为真。传感器信息没有存在性信息,只有值。传感器信息由系统所处环境决定,响应式系统只有通过读取传感器信息才能获取所处环境的信息。
全局感知 (Global Perception)
响应式系统的输入不仅数量巨大,且会不间断地变化。在同步方法中,假设了所有输入信号可以同时被感知。对于输出信号也保持同样的假设。因此,在同步模型里处理的是信号的多元组。这一假设也可称为“完美采样假设”。
逻辑时间 (The Logical Time)
一个响应式系统大部分时间都是待命的,除非被激励使能时,才立即做出响应。
在同步方法中,认为响应式系统会对输入流的“时间流逝”效应保持关注。同步模型不依赖物理时间,只依赖逻辑时间。每一个数据信号,都会与某个时刻关联。
同步模型以连续的方式执行,每一个逻辑时刻执行一次。在每个时刻中,系统使用当前的输入信号和内部信息进行计算。
零延迟假设 (The Zero-Delay Hypothesis)
零延迟假设是一个简化假设:系统内部操作假设瞬间完成,没有时间延迟。这个假设带来的影响是,输出和输入是同步的。
系统内信息的广播 (Broadcasting)
到目前为止,只讨论了响应式系统与其环境之间的互动过程中涉及到的信号。系统内也会存在局部信号。这些信号会在子系统之间进行通信:从外部观察系统,这些信号是透明的,但它们会参与到系统的行为中。
同步方法假设这些信号会被立即广播。作为结果,为了确定对外输出信号的值,必须考虑所有的信号(包括输入和输出信号)。
同步假设总结
- 信号 (Signal)- 用于通信
- 完美采样 (Perfect sampling) - 信号元组
- 逻辑时间 (Logical time) - 瞬时性
- 零延迟 (Zero-delay) - 内部操作瞬时完成
- 信息广播瞬时性 (Instantaneous broadcasting)
在不同的同步假设叙述中,可能会使用不同的术语,但传达的概念是一致的。
更多内容,可参考 《Representation and Analysis of Reactive Behaviors: A Synchronous Approach》(SyncCharts, 1996)
。
关键字:同步假设,同步语言,Lustre,Scade,高安全嵌入式软件