[摘 要]目前的軟件體系結(jié)構(gòu)建模中,典型地使用構(gòu)件/連接子模型對體系結(jié)構(gòu)進(jìn)行描述。這樣的體系結(jié)構(gòu)模型可以清晰表達(dá)軟件體系結(jié)構(gòu)設(shè)計的結(jié)果,但是這種僅關(guān)注制品而未能顯式,就這一現(xiàn)狀本文從不同角度進(jìn)行了闡述和探索。
[關(guān)鍵詞]軟件工程 開放式數(shù)控 集成系統(tǒng)
目前,軟件體系結(jié)構(gòu)(software architecture)已經(jīng)成為新一代數(shù)控技術(shù)的研究熱點,許多國家和研究機構(gòu)在這個領(lǐng)域都開展了深入的研究。已經(jīng)越來越受到研究者和實踐者的重視,并成為軟件工程的一個重要的研究領(lǐng)域。在軟件開發(fā)過程中,軟件體系結(jié)構(gòu)提供系統(tǒng)的高層抽象、支持開發(fā)人員之間的交流、支持軟件復(fù)用等,因而體系結(jié)構(gòu)的設(shè)計在軟件生命周期中起到關(guān)鍵作用。體系結(jié)構(gòu)設(shè)計本身是一個不斷做出決策的過程,產(chǎn)生大量的推理信息。
一、自動測試系統(tǒng)軟件體系結(jié)構(gòu)
目前通用自動測試系統(tǒng)的軟件體系結(jié)構(gòu)主要依據(jù)IEEE發(fā)布的寬域測試環(huán)境標(biāo)準(zhǔn)。ABBET將測試系統(tǒng)劃分成5個層次:產(chǎn)品描述層,測試需求/策略層,測試程序?qū)樱Y源管理層和儀器控制層。并行自動測試系統(tǒng)具有串行自動測試系統(tǒng)的基本特性,其核心測試過程與串行自動測試系統(tǒng)的核心測試過程是一致的,因此,并行自動測試系統(tǒng)的軟件體系結(jié)構(gòu)也采用層次化的體系結(jié)構(gòu)風(fēng)格。
自動測試系統(tǒng)軟件體系結(jié)構(gòu)與傳統(tǒng)串行自動測試系統(tǒng)的軟件體系結(jié)構(gòu)的不同在于其任務(wù),資源管理層更加復(fù)雜。由于多任務(wù)的并行執(zhí)行,在這一層中不僅資源管理的功能需要擴展,以滿足測試資源安全共享的要求,還需要對測試任務(wù)進(jìn)行管理,根據(jù)任務(wù)過程模型和任務(wù)調(diào)度模型合理調(diào)度任務(wù)的執(zhí)行。
二、開放式數(shù)控的軟件體系結(jié)構(gòu)
數(shù)控系統(tǒng)是一個具有實時性和多任務(wù)性的專用操作系統(tǒng)。從功能來看,系統(tǒng)的任務(wù)可以分為管理任務(wù)和控制任務(wù)兩大類。管理任務(wù)主要完成系統(tǒng)資源管理和系統(tǒng)各子任務(wù)的調(diào)度,負(fù)責(zé)系統(tǒng)的程序管理、顯示和診斷等子任務(wù);控制任務(wù)主要完成數(shù)控系統(tǒng)的基本功能,包括譯碼、刀具補償、速度預(yù)處理、插補運算和位置控制等子任務(wù)。如圖1所示。
資源分時共享主要采用的方法是循環(huán)輪流和中斷優(yōu)先,如圖2所示,系統(tǒng)在完成初始化工作以后自動進(jìn)入時間分配環(huán)中,在環(huán)中依次輪流處理各任務(wù),對于系統(tǒng)中一些實時性很強的任務(wù)則按優(yōu)先級排隊,分別放在不同的中斷級別上。
三、COTS軟件系統(tǒng)的軟件體系結(jié)構(gòu)
軟件體系結(jié)構(gòu)是由一些實體和這些實體間的關(guān)系所構(gòu)成的模型,在體系結(jié)構(gòu)觀點中實體是所關(guān)心的元素,它們可以是軟件組件、源文件、目標(biāo)文件、編譯器、平臺等;關(guān)系可以用描述連結(jié)性、動態(tài)行為或者所關(guān)心的依賴性的任何其他類型 。體系結(jié)構(gòu)中所使用的特殊的實體和關(guān)系取決于建造者試圖傳送的信息。
COTS 軟件系統(tǒng)的開發(fā)本質(zhì)上是集成黑盒軟件組件的問題。這種集成過程是困難的,它容易出錯,需要大量的編碼,難以測試和調(diào)試。此外,許多COTS 組件都有高的短暫性,商業(yè)組件通常要頻繁升級,這些升級可能沒有增加集成者所希望的功能,或修復(fù)集成者所希望的錯誤。存在于先前版本中的關(guān)鍵功能可能在隨后的升級版本中被除去。在有些情況下,集成者可能希望用不同供應(yīng)商的新版本的類似組件替換老組件。在COTS 軟件系統(tǒng)中,體系結(jié)構(gòu)的設(shè)計合適與否直接關(guān)系到軟件的成功,因為體系結(jié)構(gòu)是系統(tǒng)實現(xiàn)的藍(lán)圖,為組件的集成提供了上下文,很大程度上決定了系統(tǒng)的各種性能。在COTS 軟件系統(tǒng)中,體系結(jié)構(gòu)中的實體就是COTS 組件,關(guān)系用以描述集成機制。
現(xiàn)今新的技術(shù)層出不窮的情況下,準(zhǔn)確地把握系統(tǒng)當(dāng)前的行為,能夠讓開發(fā)人員和維護(hù)人員盡快地進(jìn)行技術(shù)上的調(diào)整,而能保持原有的行為效果不變。這對于節(jié)省開銷,保持程序的穩(wěn)定性都有重大的意義。在今后的研究工作中,將著力于改善方法中對于接口信息的定義形式,使其能提供更強的描述功能。此外,還將嘗試引入一定的動態(tài)分析工作,這有助于為我們方法提供對象在動態(tài)運行時的變量信息,根據(jù)這些信息對對象的行為方式進(jìn)行更深人的分析。
參考文獻(xiàn):
[1]Yang Jinlin:Evans n Dynamically Inferring Temporal Proper—ties[C] }Proc.the ACM-SIGPLAN-SIGSOFT Workshop onProgram Analysis for Software Tools and Eng]neering.2004:23—28
[2]Yuan Hai Xie Tao:Automatic Extraction of Abstract—object—state Machines Based on Branch Coverage[C] {Proceedings ofthe 1st International W orkshop on Reverse Engineering To Re—quirements at WCRE 2005(RETR 2005).November 2005:5-11
[3]黃洲 彭鑫 趙文耘:基于依賴性分析的對象行為協(xié)議逆向恢復(fù)[J].計算機科學(xué),2008,35(8):265—268,276
[4]Tang Mei-huei,Wang Wen-li,Chen Mei小wa.A UML Approachfor So ftware Chang e Modeling.CS.albany.edu
[5]http:∥compilers.as.uclm edu/jtb/jtb-2003
[6]https://javac~dev.java net
[7]Mohamed G_Gouda Closed Covers:tO Verify Progress for Com—municating Finite State Machines Technical Report[R3.CS-TR-82—191 Year of Publication:1982
[8]http //.gra viz.org