構件組裝 模型驅動的構件組裝

2021-07-24 07:07:29 字數 3918 閱讀 7445

第四章 模型驅動的構件組裝

本章提出一種普適性的構件組裝機制,建立起構件與連線件元模型,並對它們的性質進行了總結歸納,在此基礎上建立起構件與連線件元模型的實現。基於dsm的構件組裝,實現了從高層的構件組裝建模到程式**的完整對映。

構件通常分為原子構件與組裝產生的復合構件,但本文使用dsm快速生成完整的**級復合構件與構件模型,而**級復合構件可視為原子構件並被再次組裝,所以本文提出的模型驅動的構件組裝並不需區分原子構件與復合構件,均為構件,構件通過組裝形成新構件,從而形成系統的結構層次。

根據用途及作用,構件可劃分為領域構件、支撐構件、系統構件等;根據狀態,構件又分為靜態構件與動態構件,前者指靜態的**片段,後者指執行態的服務;根據所處系統層次,構件可劃分為ui構件、控制構件、邏輯構件、資料構件等。上述構件劃分方法,因具備相同形態,其組裝機制相同,此種劃分僅從分析設計角度對構件進行區別而已,並不會影響構件組裝模型的形態。

構件通常具備統一形態,只在粒度或複雜度上存在差別,通常小構件組裝成大構件,簡單構件組裝成複雜構件,最終形成系統並構成系統層次。構件存在兩種介面:提供服務的介面與引用服務的介面,前者實現被組裝,後者實現組裝其他構件。構件通常存在標識構件狀態及配置引數的屬性,通過與其它構件或者使用者互動而使狀態產生變化。

構件元模型是對構件及其特性的高層描述,關注構件作為零部件進行組裝的特性,而並不關心其內部實現。為實現高層抽象組裝,通常對每個**級構件都建立構件模型,用以指導組裝。

圖4-1  構件元模型

(1)descriptions,構件描述,包括名稱、型別、狀態、功能/效能/執行環境說明、作者、修改日誌等內容。

(2)implementations,構件實現,包括技術型別、引用位置、內容、說明等內容。

(3)properties,構件屬性,包括名稱、型別、值、說明等內容。

(4)services,構件提供服務介面,包括名稱、型別、介面規格、功能說明等內容。

(5)references,構件引用服務介面,包括名稱、型別、介面規格、功能說明等內容。

(1)構件是系統構成成分的唯一形態

構件不區分原子構件與復合構件,只在粒度或複雜度上存在差別。通常由小構件組裝成大構件,由簡單構件組裝成複雜構件,形成系統的結構層次。

(2)服務介面是構件與外界互動的唯一途徑

構件通過服務介面封裝內部實現,並定義與外界互動的全部內容。構件通過屬性標識構件狀態,通過與其它構件互動而使狀態產生變化。

(3)構件模型與**級構件一一對應

構件實現資訊描述對已有**級構件的引用或具體**模板的繫結。對尚未建立的**級構件可以通過**生成或程式設計手段進行建立。

(4)構件建立的正交性與完備性

正交性指某構件發生變化而不會影響其它構件。完備性指建立的構件應該是清晰、簡單、充分、完整的。

與mda相對,dsm從大幅度提高軟體生產力的角度提出特定領域建模,它強調「是否領域特定,是否能生成100%的**」。但dsm沒有提供具體的技術實現。本文使用emf建立構件元模型,作為gmf配置生成構件組裝建模工具的輸入。emf支援3種型別輸入,本文使用xml模式。

(1)分別將構件元模型的5個組成部分描述為xml模式的element。

(2)分別將每個組成部分的具體內容描述為attribute。

(3)分別為element與attribute定義簡單或複雜型別。

sa將系統的整體結構作為研究物件,在高層顯式描述系統構成元素及其之間的互動關係。從構件組裝的角度看,sa描述的是軟體系統的基本組織,包括構件、構件之間、構件與環境之間的關係及相關設計與演化原則。sa研究的貢獻在於將構件之間的互動顯式的定義為連線件,使得介面不匹配的構件之間可以通過連線件進行組裝,發展了介面匹配的構件組裝。

構件組裝就是將被組裝構件的多個服務介面繫結到組裝後的構件的服務介面上,並建立起被組裝構件的多個服務介面之間的互動方式。它的本質就是在構件之間通過介面或連線件建立關聯並協調行為。介面連線發生在對偶介面之間,其實是連線件連線的特殊情況。連線件是構件組裝的基礎,構件組裝機制反映的是連線件所表現的構件之間的互動方式。

本文提出4種具有普適性的基於連線件連線的構件組裝機制,如下所示。

(1)順序組裝

圖4-2  順序組裝

構件a與構件b順序組裝,先執行a。若a與b無依賴關係,則先執行a,再執行b;若a與b存在依賴關係且a依賴於b,則在呼叫a後,先執行b以滿足a的執行條件,再執行a,最後執行b;若a與b存在依賴關係且b依賴於a,則先執行a,再呼叫b,然後執行a以滿足b的執行條件,最後執行b。

(2)選擇組裝

圖4-2  選擇組裝

構件a與構件b選擇組裝。若a與b間無依賴關係,則根據條件選擇執行a或b;若a與b間存在依賴關係,則根據條件選擇呼叫a或b後,先執行b或a以滿足a或b的執行條件,再執行a或b。

(3)迴圈組裝

圖4-3  迴圈組裝

構件a與構件b迴圈組裝,先執行a。若a與b無依賴關係,則根據迴圈條件先執行a,再根據迴圈條件執行b;若a與b存在依賴關係且a依賴於b,則在呼叫a後,要先根據迴圈條件執行b以滿足a的執行條件,再根據迴圈條件執行a;若a與b存在依賴關係且b依賴於a,則根據迴圈條件先執行a,則在呼叫b後,要先根據迴圈條件執行a以滿足b的執行條件,再根據迴圈條件執行b。

(4)並行組裝

圖4-4  並行組裝

構件a與構件b並行組裝。若a與b無依賴關係,則並行執行a與b;若a與b存在依賴關係且a依賴於b,則並行呼叫a與b後,先執行b以滿足a執行的條件,再並行執行a與b;若a與b存在依賴關係且b依賴於a,則並行呼叫a與b後,先執行a以滿足b執行的條件,再並行執行a與b。

在本文提出的上述構件組裝機制中,構件之間的依賴關係指某構件引用另外構件所提供的服務。依賴關係是隱藏且預設的構件之間的互動關係,組裝機制是顯式定義的構件之間的互動關係。

圖4-5  連線件元模型

(1)descriptions,連線件描述資訊,包括名稱、型別、功能說明等內容。

(2)type,連線件型別資訊,包括順序、選擇、迴圈、並行4種型別。

(3)refinte***ces,連線件所連線的構件服務介面,包括名稱、型別、介面規格、功能說明等內容。

(4)sequence,構件組裝執行順序,根據連線件型別設定構件之間的執行順序,包括預設與條件執行順序。

(5)implementations,連線件實現資訊,包括實現技術型別、引用位置、內容、說明等內容。

(6)properties,連線件屬性資訊,包括名稱、型別、值、說明等內容。

(7)ensurence,構件組裝保障機制,包括資料轉換、事務、加密/解密、日誌等內容。

(1)連線件短暫的生命週期

連線件是構件組裝的具體表現,粘接**是連線件的最終實現。在構件組裝產生新構件後,新構件期待被再次組裝。所以在構件組裝產生新構件後,連線件的生命週期即告結束。連線件只存在於構件組裝的短暫過程中。

(2)連線件模型繫結**模板

連線件實現資訊描述連線件模型對**模板的繫結,而對不同sa風格與平台環境及具體構件組裝保障機制的適應製作入**模板,實現連線件模型與具體實現技術的解耦。

(3)構件組裝執行順序描述構件組裝的控制結構

根據連線件型別,設定所連線構件之間的執行順序,並設定執行條件,如選擇執行條件、迴圈執行條件等。

(4)構件組裝保障機制描述保障構件組裝的資料流轉

資料轉換保障流轉資料對構件服務介面的匹配,事務保障多個構件處於同乙個事務中,加密/解密保障流轉資料的安全性等。

(1)分別將連線件元模型的7個組成部分描述為xml模式的element。

(2)分別將每個組成部分的具體內容描述為attribute。

(3)分別為element與attribute定義簡單或複雜型別。

本章提出了一種普適性的構件組裝機制,並建立起構件與連線件元模型。以上述元模型為基礎,基於dsm通過gmf即可生成構件組裝建模工具,通過**生成,即可實現從高層的構件組裝建模到程式**的完整對映。

模型驗證與模擬是保證高質量建模的有效措施。模型驗證是檢測模型是否滿足模型約束的技術,通常有語法檢查、邏輯驗證、狀態驗證、時態驗證等。模型模擬是以模型驗證為基礎對模型進行執行態模擬,分析系統的動態行為,在高層指導驗證系統設計,並進行錯誤分析。這將是以後研究的方向。

構件組裝 引言

第一章 引 言 本章主要介紹了本文研究的背景 相關理論與技術的基本概念以及本文的研究意義和主要工作,包括軟體開發目前面臨的問題,構件 構件組裝 mda dsm sa sf等基本概念,mda的侷限性,dsm的先進性,以及構件組裝的研究現狀等,同時對本文的內容與組織結構做了詳細的說明。社會經濟迅猛發展,...

S O A 構件組裝

soa 面向不同的終端使用者 系統異構 資料異質 分布式應用。包含有 基礎設施 架構 流程 事務流程模型 服務生命週期 模型驅動軟體開發 管理。因此,soa並不是一種具體的某種技術而是一種范型 一種系統架構范型。跟oop之類的不是乙個層次的概念。oop是一種程式設計范型。構件組裝技術 軟體開發中的構...

UART驅動構件的設計方法

uartx控制暫存器1 設定uart的工作方式 執行模式 喚醒模式 空閒型別 uartx控制暫存器2 uartx c2 主要用於收 發及相關中斷控制設定。在設計uart驅動構件時主要用到該暫存器的3個位。分別為d5位 接收中斷使能位rie d3位 發射器使能位te 和d2位 接收器使能位re d5 ...