即時軟體設計策略

1 月 17, 2020

​即時軟體設計策略解決了三個核心即時設計概念,包括:決定控制方面的有限狀態機、決定系統的並行性任務,以及決定系統可修改性和可重用性的資訊隱藏。這些策略還解決了每個即時軟體如何處理時間限制的問題。

基於功能分解的設計
這種設計策略非常適合即時結構化設計和分析。顧名思義,系統被分解成不同的功能,稱為流程或轉換。功能之間的介面被定義成控制流程或資料流程。像控制或資料轉換這樣的功能被對應到任務、模組和處理器上。

基於並行任務結構的設計
這種設計策略主要是由 DARTS(Design and Analysis for Real Time Systems,即時系統設計與分析)所強調的,其中並行任務被歸類為即時設計中的核心部分。DARTS 提供了一種任務結構標準,幫助即時系統設計師識別即時系統中的並行結構,還提供了有助於決定任務介面的指導方針。

基於資訊隱藏模組結構的設計
這是一種目的在於提供可維護性、可修改且可重用的軟體設計組件而成的策略,並能透過利用隱藏在系統設計組件中的資訊來達成。這種策略非常適合物件導向的設計方法和研究實驗室的軟體成本降低方法。

基於建模問題領域的設計
Jackson 系統開發法特別強調這種設計策略,因為這方法學的主要目標就是建模問題領域中的實體並將其對應到軟體流程中。

DCDS(Distributed Computing Design System,分布式計算設計系統)方法
DCDS為階層式的分解即時系統設計提供了一種圖形概念,強調事件、並行和順序功能。每個高階功能都有一個性能指標,隨著功能被一層層的分解,允許最大響應時間的性能指標就會被分配至低階功能。在最低的分解層級中,並行和順序功能則被分配給即時系統組件。

PAMELA 設計方法
這個方法採用基於資料流程圖的階層分解方式,將轉換分解成最低層級的並行任務。這些任務及其介面再被對應到 Ada 語言。

狀態圖
狀態圖(Statecharts)或狀態圖表(State diagrams)是以階層式分解狀態轉換的圖形表示法,並使用一種包含模組和活動圖的Statemate 工具。因此,這些圖表非常適合支援不同的設計和規範方法。例如即時結構化分析就可以很容易地在 Statemate 中表達。

總結
有些即時軟體設計策略是為了追求理想的分解方法而建議的設計概念,不是用來提供執行特定設計的步驟和原則。因此,並沒有每個軟體設計師都必須嚴格遵守的即時軟體設計策略。