同步假設是如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,高安全嵌入式軟件