公務(wù)員期刊網(wǎng) 論文中心 正文

軟件體系A(chǔ)DLs的分類與比較研討

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件體系A(chǔ)DLs的分類與比較研討范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

軟件體系A(chǔ)DLs的分類與比較研討

ADL與其他系統(tǒng)的實(shí)現(xiàn)不同,它是一個(gè)為軟件系統(tǒng)的概念性架構(gòu)建模提供的一門語(yǔ)言。ADLs為特征框架提供一個(gè)具體的語(yǔ)法和一個(gè)概念框架。這個(gè)特征的概念框架典型地反映了ADL中的與/或的框架風(fēng)格的范圍特征。該框架典型地包含了ADL的潛在語(yǔ)義理論(例如,CSP、實(shí)驗(yàn)室網(wǎng),有限狀態(tài)機(jī))。在這個(gè)部分介紹ADL分類和比較框架的頂層分類和比較的范疇。一個(gè)ADL框架描述的組成模塊包括構(gòu)件、連接件和體系結(jié)構(gòu)配置的配置。ADL必須為它們能夠明確地說明提供必要的手段,使能夠確定某一個(gè)特殊符號(hào)是否是ADL。adls框架體系結(jié)構(gòu)由構(gòu)件、連接件和體系結(jié)構(gòu)配置3個(gè)部分組成[5],下面將對(duì)這3個(gè)概念進(jìn)行分別介紹。

正如已經(jīng)初步探討的,明確的構(gòu)件接口是ADLs的一個(gè)特征。另外還有的比較屬性是建模的構(gòu)件類型、語(yǔ)義學(xué)、約束、進(jìn)化及非功能性屬性,將在下面進(jìn)行討論。(1)接口:構(gòu)件的接口是與外部環(huán)境交流的一組交互點(diǎn)。接口說明了構(gòu)件提供的那些服務(wù)(消息、操作和變量)。為了能夠充分地推斷構(gòu)件及包含它的體系結(jié)構(gòu),ADL提供了能夠說明構(gòu)件需要的工具,例如提供體系結(jié)構(gòu)中的需要的其他構(gòu)件的服務(wù)。因而一個(gè)接口定義了在其應(yīng)用上進(jìn)行計(jì)算和約束的方法。(2)類型:構(gòu)件類型都是抽象的概念,可封裝成重復(fù)使用的功能塊。一個(gè)構(gòu)件類型能夠多次在單一的體系結(jié)構(gòu)中實(shí)現(xiàn)或被重用。構(gòu)件類型可以參數(shù)化,進(jìn)一步促進(jìn)可重復(fù)使用。顯式模型的類型使得所有實(shí)例共享的屬性類型易于理解和分析。(3)語(yǔ)義:定義構(gòu)件模型的語(yǔ)義作為一個(gè)高級(jí)構(gòu)件的行為。這樣一個(gè)模型是需要做分析,加強(qiáng)體系結(jié)構(gòu)的約束使其能夠從一個(gè)階段的抽象到另一個(gè)抽象一致映射。注意一個(gè)構(gòu)件的接口也允許某種有限的程度上對(duì)其語(yǔ)義的推理。然而,語(yǔ)義概念應(yīng)用于本文是嚴(yán)格指構(gòu)件建模的行為。(4)約束:一個(gè)約束是關(guān)于一個(gè)系統(tǒng)或它的一個(gè)部分一種屬性或斷言,破壞約束將會(huì)使得系統(tǒng)不被接受或者不能正常使用。為了確保執(zhí)行預(yù)期構(gòu)件的使用,強(qiáng)行使用邊界條件,并建立內(nèi)部相互之間的依賴和指定一個(gè)構(gòu)件的限制。(5)演化:作為組成模塊,構(gòu)件將不斷進(jìn)化。構(gòu)件演變可以定義為一種非正式的一個(gè)子集修改(一個(gè)構(gòu)件的屬性),例如,界面、行為或?qū)嵤?。ADLs可以通過運(yùn)用構(gòu)件類型和具體構(gòu)件特點(diǎn)中的典型子集技術(shù)確保進(jìn)化發(fā)生按照的是系統(tǒng)化的方式。(6)非功能性屬性:一個(gè)構(gòu)件的非功能性屬性(例如,安全、性能、可移植性)通常不能直接來源于它的行為規(guī)范。這些特性的早期的規(guī)格(在體系結(jié)構(gòu)設(shè)計(jì)層面)需要模擬過程,分析,加強(qiáng)約束條件,地圖構(gòu)件處理器的實(shí)現(xiàn)和項(xiàng)目管理的幫助。

一個(gè)連接件是一個(gè)連接件和構(gòu)件及與之相連的鏈接器相互之間作用的交互點(diǎn)。因?yàn)檫B接件不履行任何特定應(yīng)用的計(jì)算,作為其接口提供這些相關(guān)構(gòu)件的期望服務(wù)的輸出。連接件接口使構(gòu)件適當(dāng)?shù)亟⑦B接并且使它們?cè)隗w系結(jié)構(gòu)中的交互成為可能,也因而推理出體系結(jié)構(gòu)的配置。連接件類型是封裝構(gòu)件的溝通、協(xié)調(diào)、調(diào)解的決策的抽象的概念。結(jié)構(gòu)層次交互由復(fù)雜的協(xié)議描述。讓這些協(xié)議不僅在整個(gè)需要ADLs模型連接件類型的體系中可重用而且可以跨越體系重用。有兩種典型的方式:為完成可擴(kuò)展的類型系統(tǒng),定義交互協(xié)議,或者是基于特定的實(shí)現(xiàn)機(jī)制相互作用的內(nèi)部構(gòu)造,枚舉類型。類似于構(gòu)件,連接件被定義為一種高層次語(yǔ)義模型的連接件的行為。不像部件,其語(yǔ)義表達(dá)了應(yīng)用程序的功能,連接件語(yǔ)義蘊(yùn)涵的相互作用協(xié)議(計(jì)算上的獨(dú)立)。ADLs可以支持連接件語(yǔ)義的建模,實(shí)現(xiàn)構(gòu)件的交互分析,整體抽象結(jié)構(gòu)層次精確一致和加強(qiáng)相互連接約束。確保約束交互協(xié)議,建立內(nèi)部交互連接件機(jī)制,并且強(qiáng)化邊界條件的使用。一個(gè)簡(jiǎn)單的例子和容易的強(qiáng)調(diào)性約束就是一個(gè)在一定數(shù)量的構(gòu)件上建立的約束,它通過連接件進(jìn)行交互。建立更多復(fù)雜的連接件約束將需要已有的連接件能夠取得外部消息。相較之下對(duì)構(gòu)件演化,一個(gè)連接件的演化是修改(定義為其屬性的一個(gè)子集),例如,界面、語(yǔ)義學(xué)、或共同限制這兩個(gè)。結(jié)構(gòu)體系構(gòu)件的相互作用是受復(fù)雜并具有改變和擴(kuò)大能力的協(xié)議控制的。然后,兩個(gè)獨(dú)立的構(gòu)件及其配置進(jìn)行演化。ADLs可以適應(yīng)這種演化,通過改變或是用增加消息過濾器的技術(shù)和手段完善現(xiàn)有的連接件。一個(gè)連接件的非功能性屬性也并非完全可以從規(guī)范的語(yǔ)義得到。它們代表要求正確的連接件的實(shí)施。建模的非功能性屬性的連接件使仿真運(yùn)行時(shí)行為分析、連接件、約束實(shí)施,并選擇適當(dāng)?shù)默F(xiàn)有(理論連接件)和它們的處理器成為可能。

軟件體系結(jié)構(gòu)的一個(gè)角色就是為項(xiàng)目中的不同的相關(guān)者和在一個(gè)較高抽象層次的設(shè)施的理解提供一個(gè)早期的交流通道。ADLs必須建立使用簡(jiǎn)單移動(dòng)的語(yǔ)義來建立模型。系統(tǒng)的結(jié)構(gòu)應(yīng)該清晰地描述系統(tǒng)的配置。例如,沒有實(shí)現(xiàn)進(jìn)行研究的構(gòu)件和連接件的規(guī)格說明。組合性或?qū)哟谓M成,是一種允許體系結(jié)構(gòu)描述軟件系統(tǒng)在不同層次的細(xì)節(jié)的機(jī)制。復(fù)雜結(jié)構(gòu)和行為可能會(huì)被明確代表或者它們可能是抽象出來了的一個(gè)單一的部件或連接件。還有可能出現(xiàn)這樣的情況,整個(gè)系統(tǒng)將成為另一個(gè)更大的系統(tǒng)的一個(gè)構(gòu)件。這樣的抽象機(jī)制應(yīng)該作為一個(gè)ADLs建模能力的一部分。除了為體系結(jié)構(gòu)提供語(yǔ)義上的具體設(shè)施來定義體系結(jié)構(gòu),ADLs必須能夠改正和實(shí)現(xiàn)可執(zhí)行系統(tǒng)和追溯系統(tǒng)改變等級(jí)的一致性。這是由ADLs的開發(fā)和利用普遍支持的。這就在低級(jí)與高級(jí)系統(tǒng)之間搭建了一個(gè)相互交流的橋梁。軟件體系結(jié)構(gòu)的一個(gè)目標(biāo)是促進(jìn)大規(guī)模系統(tǒng)的發(fā)展,由于先前存在的元件和連接件的不同粒度,可能會(huì)存在不同的正式規(guī)定統(tǒng)一建模語(yǔ)言和執(zhí)行不同的編程語(yǔ)言,還會(huì)有不同的操作系統(tǒng)方面的要求,支持不同的通信協(xié)議。因此,ADLs應(yīng)該是開放的,即為軟件體系結(jié)構(gòu)提供規(guī)范和發(fā)展與異構(gòu)構(gòu)件和連接件。體系結(jié)構(gòu)旨在為開發(fā)者提供解決抽象和復(fù)雜問題大規(guī)模軟件。因此,ADLs必須直接支持大規(guī)模系統(tǒng)的規(guī)范和發(fā)展,這樣才能夠得到進(jìn)一步發(fā)展。新軟件的系統(tǒng)很少提供前所未有的功能,一個(gè)可以演化的體系結(jié)構(gòu)系統(tǒng)能夠支持系統(tǒng)的進(jìn)一步進(jìn)化,基于軟件體系結(jié)構(gòu)的發(fā)展是ADLs一個(gè)重要的發(fā)展方向。靈活性指的是當(dāng)系統(tǒng)執(zhí)行任務(wù)時(shí)能夠修改體系結(jié)構(gòu)和制定系統(tǒng)的修改方法。系統(tǒng)靈活性的支持對(duì)于某個(gè)安全任務(wù)嚴(yán)格系統(tǒng)來說是很重要的,例如交通控制,話機(jī)轉(zhuǎn)換和高利用環(huán)境信息系統(tǒng)。約束描述了配置完成的具體到獨(dú)立個(gè)體構(gòu)件和連接件的依賴。許多通用的約束都是源于或者是直接依賴于本地約束的。例如,在無效配置上的約束將會(huì)被作為在連續(xù)構(gòu)件和連接件中的交互約束,反過來是通過它們的接口和協(xié)議來表示。特定的非功能屬性是系統(tǒng)級(jí)的,而不是個(gè)別的構(gòu)件或者是連接件屬性。配置等級(jí)的非功能性屬性被需要用來選擇適當(dāng)?shù)臉?gòu)件和連接件,執(zhí)行分析,加強(qiáng)約束,映射體系結(jié)構(gòu)組成模塊和服務(wù)工程管理。體系結(jié)構(gòu)的配置或拓?fù)浣Y(jié)構(gòu)是構(gòu)件和描述體系結(jié)構(gòu)的連接件的連接圖,需要這種消息來確定是否連接了合適的構(gòu)件,它們的接口是否相互匹配,連接件是否能夠適當(dāng)?shù)販贤?,還有它們組合的語(yǔ)義是否能夠產(chǎn)生需要的行為[8]。在具有構(gòu)件和連接件的模型當(dāng)中,配置的描述實(shí)現(xiàn)了對(duì)體系結(jié)構(gòu)的并行系統(tǒng)與分布式系統(tǒng)的評(píng)估。例如,死鎖等的潛在性能,可靠性和安全性等等。配置的描述同時(shí)還實(shí)現(xiàn)了設(shè)計(jì)試探法的附加體系結(jié)構(gòu)的分析(例如,體系構(gòu)件之間的妨礙發(fā)展的直接通信連接)和體系結(jié)構(gòu)類型約束。

本文的突出貢獻(xiàn)是提出了一個(gè)這樣的框架定義與分類的概念,定義提供了一種簡(jiǎn)單的見效快的ADLs檢驗(yàn)方法,并對(duì)體系結(jié)構(gòu)建模的本質(zhì)在很大程度上達(dá)成了一致的共識(shí)。值得指出的是,通過簡(jiǎn)化結(jié)構(gòu)與實(shí)現(xiàn)之間的關(guān)系、約束性的ADLs的實(shí)現(xiàn)比“主流”ADLs(獨(dú)立的實(shí)現(xiàn))在生成安裝上更成功?,F(xiàn)有的ADLs的比較突出的表現(xiàn)在幾個(gè)領(lǐng)域,對(duì)體系結(jié)構(gòu)建模性能和工具都提供了廣泛的支持。(本文作者:徐瑩 單位:遼寧工程技術(shù)大學(xué))

相關(guān)熱門標(biāo)簽