架構設計之執行架構

2022-12-26 09:33:03 字數 1216 閱讀 9516

執行架構=技術選型+控制流劃分+同步關係

執行架構(如圖-1所示)關注程序、執行緒、中斷服務程式等執行時控制流,以及相關的併發、同步、通訊等問題。執行架構的設計(及其所依賴的物理架構設計)對執行期質量屬性有重大影響,例如效能、可伸縮性、持續可用性和安全性等。

圖-1 執行架構的設計內容

執行架構和開發架構的關係:開發架構一般偏重程式包在編譯時期的靜態依賴關係,而執行架構關注這些程式執行起來之後形成的執行緒、程序、中斷服務程式,以及它們引用的類例項、傳遞的資料。

如果使用uml來描述架構的執行架構,則該檢視的靜態方面由包圖、類圖(其中主動類非常重要)和物件圖(其中主動物件非常重要)等來說明關鍵執行時概念的結構關係。動態方面由序列圖、協作圖等來說明關鍵互動機制。

執行架構設計包含的核心設計任務是:併發技術選型、控制流劃分、控制流間同步關係。

【設計任務】一、併發技術選型

控制流(control flow)是乙個在處理機上順利執行的動作系列。在實踐中,最常用於實現控制流的手段有3種:

1、程序

2、執行緒

3、中斷服務程式

程序(process)是重量級控制流,既是處理機資源的分配單位,又是其它計算機資源的分配單位。

執行緒(thread)是輕量級控制流,僅僅是處理機資源的分配單位。乙個程序內可以包含多個執行緒,後者共享前者的資源;但處理機資源例外,執行緒是獨立的處理機資源的分配單位。

實際上,中斷服務程式(interrupt service routine, isr)也是常見的控制流實現機制。當你沒有os的支援卻要實現併發時,這更是必不可少。

【設計任務】二、控制流劃分

確定引入哪些控制流,並沒有固定不變的套路,但有幾點考慮是必不可少的:

1、物理架構中每個節點(node)之上,至少有一條控制流。

2、為了實現節點(node)之間的通訊,通常做法是引入一條控制流來專門負責。

3、節點(node)是具有主動行為的裝置,為其引入專門的控制流(例如中斷服務程式)。

4、在需求一級的描述中(例如用例規約中)就是並行或併發的,引入多條控制流。

5、來自使用者或外部系統的併發訪問,常要求後端服務支援多控制流。

6、如果控制流關係複雜,可以考慮引入對其他控制流進行協調的控制流。

【設計任務】三、控制流間同步關係

一旦系統中存在不止一條控制流,就產生了附加的工作量。除了控制流的建立、銷毀之外,還要進一步考慮:控制流之間的通訊機制(例如共享記憶體或訊息等)、同步關係,若有資源爭用還要引入加鎖機制。

系統架構設計

系統架構設計說明書 2013 12 12 v0.1 修訂歷史記錄 系統構架文件的簡介應提供整個系統構架文件的概述。它應包括此系統構架文件的目的 範圍 定義 首字母縮寫詞 縮略語 參考資料和概述 本文件將從構架方面對系統進行綜合概述,其中會使用多種不同的構架檢視來描述系統的各個方面。它用於記錄並表述已...

架構設計說明書

專案名稱 專案名稱 專案代號 專案代號 編制人 編制人 編制日期 編制日期 目錄架構設計說明書 1 1.引言 5 1.1.編寫目的 5 1.2.系統目標 5 1.3.術語和縮寫詞定義 5 1.4.參考資料 5 2.需求規定 5 2.1.系統功能 5 2.2.系統效能 5 2.3.故障處理要求 6 2...

鋼屋架構設計計算書

2015年6月 一 設計資料 1 車間平面尺寸為 150m 30m,柱距6m,跨度為30m,柱網採用封閉結合。車間內有兩台15t 3t 中級工作制軟鉤橋式吊車。2 屋面採用長尺復合屋面板,板厚50mm,檁距不大於1800mm,本設計取1500mm。檁條採用冷彎薄壁斜卷邊z 形鋼z250 75 20 ...