姜火文,曾國(guó)蓀,熊煥亮,3
(1.江西科技師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,江西 南昌330038;2.同濟(jì)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海201804;3.江西農(nóng)業(yè)大學(xué) 軟件學(xué)院,江西 南昌330045)
軟件體系結(jié)構(gòu) (software architecture,SA)演化主要涉及軟件系統(tǒng)中構(gòu)件或連接件的增加、刪除、替換,以及構(gòu)件聯(lián)系和拓?fù)浣Y(jié)構(gòu)等的改變[1-4]。體系結(jié)構(gòu)及其演化過(guò)程的描述始終是SA演化研究的重點(diǎn)。文獻(xiàn)[5-8]用不同的體系結(jié)構(gòu)描述語(yǔ)言ADL (architecture description language)描述SA的組成及演化操作,具有形式化、描述精確等優(yōu)點(diǎn),但大多數(shù)ADL主要用于描述SA的規(guī)范,以及側(cè)重分析SA 演化的某一方面,在整體上刻畫(huà)SA 演化方面還存在一些不足[9];文獻(xiàn) [10,11]采用統(tǒng)一建模語(yǔ)言UML(unified modeling language)描述或分析SA演化,具有圖形化、直觀、易理解等優(yōu)點(diǎn),而UML主要是一種面向?qū)ο蟮慕UZ(yǔ)言,更適合SA模型的描述,缺乏形式化語(yǔ)義,難以精確刻畫(huà)SA演化的特性[12];文獻(xiàn) [13-15]的研究均用圖描述SA,對(duì)圖的使用,各自賦予了不同涵義,但研究沒(méi)有討論基于構(gòu)件增、刪等基本操作的SA 演化過(guò)程,也沒(méi)有涉及軟件的可信特性;文獻(xiàn)[4,16]研究了基于超圖文法的SA動(dòng)態(tài)演化,但沒(méi)有考慮軟件的可信要求;文獻(xiàn) [17]研究了一種支持軟件可信演化的構(gòu)件模型,側(cè)重研究提高構(gòu)件的環(huán)境感知與適應(yīng)能力,來(lái)保證可信演化,但沒(méi)有提取并表達(dá)系統(tǒng)的構(gòu)件可信屬性,也沒(méi)有具體研究帶可信屬性表達(dá)的SA的演化過(guò)程。
可見(jiàn),盡管有多種SA 及其演化的描述方法,但很少有表示構(gòu)件可信屬性,缺少對(duì)帶構(gòu)件可信屬性SA 演化的描述。本文提出類E-R圖描述方法,支持描述考慮可信屬性的SA演化,對(duì)帶可信屬性的SA 建立類E-R圖表示,并給出其形式化描繪,刻畫(huà)構(gòu)件和連接件的增加、刪除、替換操作,最后通過(guò)一個(gè)演化實(shí)例,例證了該描述方法的有效性。
定義1 (軟件體系結(jié)構(gòu)SA):一個(gè)軟件系統(tǒng)的SA 由構(gòu)成功能單元的構(gòu)件,連接構(gòu)件并建立構(gòu)件間交互的連接件,以及規(guī)范構(gòu)件和連接件之間連接配置和相關(guān)拓?fù)湟蟮募s束。SA可以表示為一個(gè)3元組SA =(Cp,Cj,Cr),其中,Cp表示構(gòu)件集合;Cj表示連接件集合,Cr表示約束集合。
需要指出,對(duì)SA,迄今為止并沒(méi)有一個(gè)公認(rèn)的定義,本文所給定義參考了文獻(xiàn) [4]中的概念。這里,構(gòu)件(component)指具有一定功能的軟件實(shí)體,可以是體現(xiàn)為一組代碼的程序模塊;也可以是獨(dú)立的一個(gè)程序。連接件(connector)在構(gòu)件之間起連接作用,定義了構(gòu)件間的交互,如過(guò)程調(diào)用、管道等都可以被看成連接件。約束(constraint)指某些限制 (constrain),用來(lái)確定如構(gòu)件是否連接正確、端口與角色是否匹配等,約束描述了軟件系統(tǒng)中構(gòu)件、連接件以及配置的相關(guān)要求[18]。
可信性是衡量軟件品質(zhì)量的重要屬性,軟件可信屬性主要包括功能完備性 (completeness)、行為一致性 (consistency)、質(zhì)量可靠性 (reliability)和程序安全性 (security)。功能完備性指軟件能多大程度上實(shí)現(xiàn)其預(yù)先設(shè)計(jì)的功能,并滿足用戶需求;行為一致性指軟件在運(yùn)行過(guò)程中,前后系統(tǒng)行為不引起操作沖突、表現(xiàn)為運(yùn)行中系統(tǒng)維持操作不矛盾的能力;質(zhì)量可靠性指系統(tǒng)面對(duì)應(yīng)用或者錯(cuò)誤,在意外或者錯(cuò)誤使用的情況下維持功能特性的能力;程序安全性指系統(tǒng)向合法用戶提供服務(wù)的同時(shí),能夠阻止非授權(quán)用戶使用或者拒絕服務(wù)的能力。以上4個(gè)屬性綜合體現(xiàn)了軟件的可信性,構(gòu)成軟件可信的特征空間,其中每個(gè)屬性實(shí)質(zhì)是一個(gè)信任證據(jù)向量,如質(zhì)量可靠性包括平均可用時(shí)間、平均無(wú)故障時(shí)間、平均故障恢復(fù)時(shí)間等信任證據(jù)。
定義2 (構(gòu)件的可信屬性):指反映構(gòu)件的質(zhì)量與性能等方面可信特性的屬性集,即功能完備性、行為一致性、質(zhì)量可靠性和程序安全性等。
構(gòu)件是軟件的功能組成單位,是構(gòu)成SA 并研究其演化過(guò)程的主要載體,軟件可信屬性通過(guò)各個(gè)構(gòu)件的可信屬性體現(xiàn)。構(gòu)件可信屬性可以用基于觀測(cè)邏輯的狀態(tài)自動(dòng)機(jī)、接口協(xié)議狀態(tài)機(jī)和契約自動(dòng)機(jī)等方法分析、評(píng)估,根據(jù)多個(gè)信任證據(jù)向量來(lái)源,綜合判斷構(gòu)件的可信度。SA 演化前后,根據(jù)可信度與設(shè)定閾值的比較,可分別決定演化是否進(jìn)行、演化能否被接受。
定義3 (帶可信屬性的SA,SA-T):指在SA表示及演化過(guò)程描述中,包含有功能完備性、行為一致性、質(zhì)量可靠性和程序安全性,這4個(gè)構(gòu)件可信屬性表達(dá)的SA。即Software Architecture with Trusted Attributes,本文簡(jiǎn)稱SA-T。
SA-T 的表示及演化描述是SA 可信演化研究的必要基礎(chǔ),其意義表現(xiàn)在兩個(gè)方面:一是演化前的可信性評(píng)估,可用于控制演化是否進(jìn)行,當(dāng)評(píng)估的可信度大于設(shè)定的閾值被認(rèn)為是可信的,可信構(gòu)件才允許進(jìn)行演化,不可信構(gòu)件的演化將蘊(yùn)含風(fēng)險(xiǎn),禁止演化。二是演化后的可信度驗(yàn)證,可用于監(jiān)控演化效果,方便系統(tǒng)決定是否接受該演化,或改變演化策略。本文研究在于提出一種描述方法,刻畫(huà)包含構(gòu)件可信屬性表示的SA 及其演化過(guò)程。進(jìn)一步地,對(duì)構(gòu)件可信屬性特征值的感知、評(píng)估與驗(yàn)證等技術(shù),將在后續(xù)論文中展開(kāi)討論。
在數(shù)據(jù)庫(kù)設(shè)計(jì)中,經(jīng)常用到E-R圖 (entity relationship diagram)也稱實(shí)體-關(guān)系圖。在E-R圖中有4個(gè)成分:矩形框,表示實(shí)體,框中記入實(shí)體名;菱形框,表示聯(lián)系,框中記入聯(lián)系名;橢圓形框,表示實(shí)體或聯(lián)系的屬性,框中記入屬性名;連線,連接實(shí)體與聯(lián)系之間、實(shí)體與屬性之間和聯(lián)系與屬性之間的直線,直線上標(biāo)注聯(lián)系的類型,如:一對(duì)多聯(lián)系,在連線一的一方寫(xiě)1,多的一方寫(xiě)N。本文引入E-R圖形,對(duì)其4種成分賦予新的表達(dá)涵義,矩形框表示構(gòu)件、菱形框表示連接件、橢圓形框表示構(gòu)件可信屬性、帶標(biāo)注記號(hào)的連線表示構(gòu)件與連接件之間存在的相互關(guān)系,稱為 “類E-R圖”,用于表示帶可信屬性的軟件體系結(jié)構(gòu)。
圖1 為類E-R 圖表示的一個(gè)SA-T 實(shí)例,其中包含3個(gè)構(gòu)件:Client、Webserver 和DBMS,每個(gè)構(gòu)件附帶功能完備性、行為一致性、質(zhì)量可靠性和程序安全性這4個(gè)可信屬性;2個(gè)連接件:C-W Connector 和W-D Connector;4條帶標(biāo)記的邊 (簡(jiǎn)稱標(biāo)記邊):連接各構(gòu)件和連接件,表示相應(yīng)構(gòu)件和連接件之間的交互關(guān)系,其中邊上面的標(biāo)記表示構(gòu)件傳遞給連接件的消息、邊下面的標(biāo)記表示連接件傳遞給構(gòu)件的消息,如:Rclient、Rwebserver、ADBMS、RC-W分別表示客戶請(qǐng)求、Web服務(wù)器請(qǐng)求、數(shù)據(jù)庫(kù)管理器響應(yīng)和Web服務(wù)器響應(yīng)等構(gòu)件與連接件的交互關(guān)系。
圖1 Client/Webserver系統(tǒng)SA-T 的類E-R
類E-R圖可直觀地表示SA-T 的結(jié)構(gòu)組成,還可以描述SA-T 的可觀交互行為。SA-T 的可觀行為是指軟件系統(tǒng)中構(gòu)件與連接件之間外部可見(jiàn)的交互序列,例如構(gòu)件間通信時(shí)發(fā)生的交互動(dòng)作序列[7]。如圖1 中所示,客戶Client發(fā)出查詢請(qǐng)求Rclient,連接件C-W Connector 收到該服務(wù)請(qǐng)求后,封裝成RC-W、傳送給Web服務(wù)器Webserver,Webserver 響應(yīng)請(qǐng)求、轉(zhuǎn)而發(fā)請(qǐng)求Rwebserver給連接件W-D Connector,經(jīng)W-D Connector 向后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS 發(fā)查詢請(qǐng)求RW-D,DBMS 響應(yīng)請(qǐng)求、發(fā)響應(yīng)信號(hào)ADBMS給W-D Connector,經(jīng)W-D Connector 封裝、轉(zhuǎn)發(fā)AW-D回應(yīng)給Webserver,Webserver 再將響應(yīng)消息AWebserver回復(fù)給CW Connector,再經(jīng)C-W Connector 檢查封裝、最后將響應(yīng)消息AC-W發(fā)給Client,完成一次完整的信息交戶過(guò)程。從圖1中抽離出該部分SA 可觀行為序列,可以表示為
SA-T 演化過(guò)程主要通過(guò)構(gòu)件或連接件的增加、刪除、替換等基本操作實(shí)現(xiàn),研究SA-T 演化過(guò)程必須考慮體系結(jié)構(gòu)的表示和演化操作的描述。如引言所述,研究者分別采用了ADL、UML、圖或超圖等作為描述工具,通過(guò)建立相關(guān)的形式語(yǔ)義或超圖文法建模SA 演化過(guò)程,各有優(yōu)勢(shì)與缺陷。本文選用類E-R 圖及其形式化的描述方法,可以更直觀、簡(jiǎn)便地描述SA-T 及其基本演化過(guò)程。為方便對(duì)類E-R圖表示的SA-T 演化操作進(jìn)行形式化描述,下面先建立SA-T 圖及其形式化描述的概念。
定義4 (SA-T 圖):利用類E-R 圖表示的一個(gè)帶可信屬性的軟件體系結(jié)構(gòu)圖,稱之為SA-T 圖,可以表示為一個(gè)五元組GSA=(VSA,ESA,ecp,ecn,ARSA)。
例如上文圖1即為一個(gè)SA-T 圖。在SA-T 圖的五元組GSA=(VSA,ESA,ecp,ecn,ARSA)中,VSA是圖中節(jié)點(diǎn)集合,表示SA-T 中所有構(gòu)件或連接件,即VSA=(Cp,Cj),Cp是構(gòu)件集合、Cj是連接件集合;ESA是標(biāo)記邊集合,表示SA 中構(gòu)件與連接件之間的交互關(guān)系 (即可以表示兩者間的通信端口);ecp和ecn均為VSA上的映射關(guān)系,分別是連接件和構(gòu)件的入節(jié)點(diǎn)映射,表示構(gòu)件與連接件之間的交互關(guān)系,其中,ecp:Cp→Cj,表示構(gòu)件到連接件的消息輸入,標(biāo)記在連接邊的上方,ecn:Cj→Cp,表示連接件到構(gòu)件的消息輸入,標(biāo)記在連接邊的下方;ARSA表示軟件構(gòu)件的可信屬性集合,由Completeness、Consistency、Reliability和Security這4個(gè)構(gòu)件的可信屬性組成。
在SA-T 圖中,具體的構(gòu)件ci、連接件cni可以分別用一元關(guān)系Cp(ci)和Cj(cni)表示;ci和cni的連接關(guān)系,即兩者的連接邊ei可以用二元關(guān)系ei(ci,cni)表示;構(gòu)件與連接件的交互關(guān)系,即消息傳遞關(guān)系ecp,ecn可以分別用一元關(guān)系cp(ei)和cn(ei)表示,cp(ei)表示對(duì)應(yīng)邊ei上,由構(gòu)件ci輸出到連接件cni的消息,cn(ei)表示反方向的、由cni輸往ci的消息流。
SA-T 演 化 可 以 表 示 為SA-T 圖 的 變 換?;?于SA-T圖中各成分的一元或二元關(guān)系表示,可以很方便地利用集合并、差運(yùn)算來(lái)反映圖中各成分的增減,從而建立SA-T 圖變化的形式化描述,方便刻畫(huà)SA-T 的演化過(guò)程。增加、刪除或替換構(gòu)件/連接件的操作構(gòu)成SA-T 的基本演化,而諸如拆分或重組構(gòu)件/連接件等復(fù)雜演化,都能由一些基本演化操作組合而成。下面針對(duì)SA-T 圖,分別給出其構(gòu)件和連接件的增加、刪除和替換演化的類E-R 圖描述。
軟件體系結(jié)構(gòu)演化包括構(gòu)件或連接件的增加、刪除基礎(chǔ)演化及替換、拆分、重組等復(fù)合演化。為方便討論,本節(jié)以增加、刪除和替換3個(gè)典型演化為例,給出SA-T 演化的類E-R圖描述方法。
2.2.1 增加構(gòu)件和連接件
假定G 為當(dāng)前SA-T 圖,增加一個(gè)構(gòu)件、連接件演化可以分別形式化描述為式 (1)、式 (2)
其中,式 (1)中Cp(ci)表示構(gòu)件ci;e1(ci-G(cn1))表示構(gòu)件ci與SA 圖G 中某連接件cn1的連接,該連接邊可能不止一條,即某構(gòu)件可能分別通過(guò)多個(gè)連接件與多個(gè)其它構(gòu)件建立聯(lián)系;cp(e1),cn(e1)表示對(duì)應(yīng)邊e1上構(gòu)件與連接件的交互關(guān)系,分別代表構(gòu)件ci的輸出與輸入方向消息流;ARci(Completeness),…,ARci(Security)表示構(gòu)件ci附帶的可信屬性。式 (2)中,Cj(cni)表示連接件cni,e1(cni-G(c1))表示連接件cni與SA圖G中某構(gòu)件c1的連接,該連接邊也可能不止一條,即該連接件可能互聯(lián)了兩個(gè)構(gòu)件;cp(e1),cn (e1)分別表示對(duì)應(yīng)邊e1上的交互關(guān)系。圖2為增加一個(gè)構(gòu)件/連接件演化操作的類E-R圖表示。
2.2.2 刪除構(gòu)件和連接件
刪除一個(gè)構(gòu)件、連接件的演化操作可以分別形式化描述為式 (3)、式 (4)
圖3用類E-R圖表示了刪除一個(gè)構(gòu)件/連接件的操作。
2.2.3 替換構(gòu)件和連接件
替換一個(gè)構(gòu)件、連接件演化操作可以分別形式化描述為式 (5)、式 (6)
圖4為類E-R圖表示的一個(gè)構(gòu)件/連接件的替換操作。
圖2 增加一個(gè)構(gòu)件/連接件的操作
圖3 刪除一個(gè)構(gòu)件/連接件的操作
圖4 替換一個(gè)構(gòu)件/連接件的操作
為進(jìn)一步說(shuō)明SA-T 演化過(guò)程的類E-R 圖及其形式化描述方法,這里通過(guò)一個(gè)基于web的電子商務(wù)系統(tǒng)的演化實(shí)例說(shuō)明。該系統(tǒng)包含3 類構(gòu)件:web客戶、web服務(wù)器和SQL Server數(shù)據(jù)庫(kù)服務(wù)器,兩類連接件:web 客戶與web服務(wù)器間的連接件 (簡(jiǎn)稱web連接件)和web服務(wù)器與SQL server數(shù)據(jù)庫(kù)服務(wù)器間的連接件 (簡(jiǎn)稱SQL 連接件)。Web客戶通過(guò)web連接件向web服務(wù)器發(fā)出查詢請(qǐng)求,web服務(wù)器再通過(guò)SQL連接件向SQL Server發(fā)出訪問(wèn)數(shù)據(jù)信息,SQL Server完成操作、將響應(yīng)信號(hào)通過(guò)SQL 連接件發(fā)回給web服務(wù)器,web服務(wù)器再通過(guò)web連接件將信息發(fā)回給對(duì)應(yīng)的客戶,完成一次用戶訪問(wèn)操作。該系統(tǒng)的SA如圖5所示,其中3個(gè)矩形框WebClient、WebServer 和SQLServer分別表示web客戶、web服務(wù)器和SQL Server數(shù)據(jù)庫(kù)服務(wù)器,連接它們的4個(gè)橢圓框Completeness、Consistency、Security和Reliability分別表示各自的可信屬性;兩個(gè)菱形框WebConnector和SqlConnector分別表示web連接件和SQL連接件;RWClient、AWCon、RWebS、…分別表示web客戶請(qǐng)求、對(duì)web客戶的響應(yīng)、web服務(wù)器請(qǐng)求、…等。
圖5 系統(tǒng)初始SA-T
無(wú)線網(wǎng)絡(luò)和移動(dòng)終端技術(shù)的發(fā)展,使移動(dòng)電子商務(wù)成為可能與趨勢(shì),為了適應(yīng)該發(fā)展需求,系統(tǒng)需要相應(yīng)改變,即進(jìn)行演化。假定改變辦法是:①改用功能更強(qiáng)的新服務(wù)器 “WMServer”取代原web服務(wù)器,新服務(wù)器既支持原web服務(wù)器的功能又支持移動(dòng)電子商務(wù)功能,即利用上述演化式 (5)進(jìn)行構(gòu)件替換操作。②新增移動(dòng)連接件和移動(dòng)客戶,以體現(xiàn)系統(tǒng)對(duì)移動(dòng)用戶電子商務(wù)需求的支持,即分別利用上述演化式 (2)和式 (1)進(jìn)行添加連接件和添加構(gòu)件的演化操作。圖6為按此辦法演化后系統(tǒng)的SA-T。
圖6 增加移動(dòng)電子商務(wù)功能后系統(tǒng)的SA-T
將上文中的圖5標(biāo)記為G1,圖6標(biāo)記為G′1。則G1到G′1的變換表示了對(duì)原電子商務(wù)系統(tǒng)增加移動(dòng)電子商務(wù)功能的演化過(guò)程,可描述為
軟件演化已成為軟件的一種存在形式,軟件只有通過(guò)演化才能維持它的可用性。體系結(jié)構(gòu)演化從更高抽象層次反映了軟件演化,是研究與實(shí)現(xiàn)軟件演化的重要手段。目前,軟件可信演化正成為軟件演化研究的一個(gè)重要方面,而SA 可信演化則是研究軟件可信演化的主要途徑。研究SA 可信演化,一般要考慮SA-T 的表示及其演化描述。本文提出的類E-R 圖描述方法,既有圖的形式化理論基礎(chǔ),又有類E-R 圖形化的簡(jiǎn)潔形象,能準(zhǔn)確直觀地描述SA-T及其演化過(guò)程。論文工作為深入研究SA 可信演化奠定了基礎(chǔ),后續(xù)我們將研究SA-T 演化前后構(gòu)件可信屬性特征值的感知、分析與驗(yàn)證,SA 行為語(yǔ)義演化的描述等。
[1]Salehie M,Tahvildari L.Self-adaptive software:Landscape and research challenges [J].ACM Transactions on Autonomous and Adaptive Systems,2009,4 (2):1-42.
[2]Breivold HP,Crnkovic I,Larsson M.A systematic review of software architecture evolution research [J].Information and Software Technology,2012,54 (1):16-40.
[3]CHENG Xiaoyu,ZENG Guosun,XU Hongzhen.Description of software architecture evolution based on Delta-Grammar[J].Computer Science,2010,37 (9):127-130 (in Chinese).[程曉瑜,曾國(guó)蓀,徐洪珍.基于Delta-Grammar的軟件體系結(jié)構(gòu)演化的描述 [J].計(jì)算機(jī)科學(xué),2010,37 (9):127-130.]
[4]XU Hongzhen,ZENG Guosun.Dynamic evolution of software architectures based on hypergraph grammars [J].Journal of Tongji University (Natural Science),2011,39 (5):745-750(in Chinese).[徐洪珍,曾國(guó)蓀.基于超圖文法的軟件體系結(jié)構(gòu)動(dòng)態(tài)演化 [J].同濟(jì)大學(xué)學(xué)報(bào) (自然科學(xué)版),2011,39(5):745-750.]
[5]Navasa Amparo,Perez-Toledano Miguel A,Murillo Juan M.An ADL dealing with aspects at software architecture stage[J].Information and Software Technology,2009,51 (2):306-324.
[6]Di Ruscio Davide,Malavolta lvano,Muccini Henry,et al.Developing next generation ADLs through MDE techniques[C]//32nd International Conference on Software Engineering,2011:85-94.
[7]Mei H,Chen F,Wang QX,et al.ABC/ADL:An ADL supporting component composition [G].Lecture Notes in Computer Science 2495:Formal Methods and Software Engineering,2012:38-47.
[8]CHEN Xiangping,HUANG Gang,SONG Hui,et al.MOF based framework for intergration of software architecture analysis results[J].Journal of Software,2012,23 (4):831-845 (in Chinese).[陳湘萍,黃罡,宋暉,等.基于MOF的軟件體系結(jié)構(gòu)分析結(jié)果集成框架[J].軟件學(xué)報(bào),2012,23(4):831-845.]
[9]Mens T,Magee J,Rumpe B.Evolving software architecture descriptions of critical systems [J].IEEE Computer,2010,43 (5):42-48.
[10]Qu Chunyan.UML-based software process modeling [C]//International Conference on Computer,Mechatronics,Control and Electronic Engineering,2010:247-250.
[11]Spanoudakis George,Zisman Andrea.Discovering services during service-based system design using UML [J].IEEE Transactions on Software Engineering,2010,33 (3):371-389.
[12]Pelliccione P,Inverardi P, Muccini H.CHARMY: A framework for designing and verifying architectural specifications [J].IEEE Transactions on Software Engineering,2009,35 (3):325-346.
[13]Frank Hermann,Hartmut Ehrig,Ulrike Golas,et al.Formal analysis of model transformations based on tripe graph grammars[G].LNCS 5214:Graph Transformations,2008:178-193.
[14]Amirat Abdelkrim,Bouchouk Abderrezak,Yeslem Mohamed Ould,et al.Refactor software architecture using graph transformation approach [C]//Second International Conference on the Innovative Computing Technology,2012:117-122.
[15]Li Chen,Huang Linpeng,Chen Luxi,et al.BGG:A graph grammar approach for software architecture verification and reconfiguration [C]//Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing,2013:291-298.
[16]XU Hongzhen,ZENG Guosun,CHEN Bo.Conditional hypergraph grammars and its analysis of dynamic evolution of software architectures [J].Journal of Software,2011,22(6):1210-1223 (in Chinese).[徐洪珍,曾國(guó)蓀,陳波.軟件體系結(jié)構(gòu)動(dòng)態(tài)演化的條件超圖文法及分析 [J].軟件學(xué)報(bào),2011,22 (6):1210-1223.]
[17]DING Bo,WANG Huaimin,SHI Dianxi,et al.Component model supporting trustworthiness-oriented software evolution[J].Journal of Software,2011,22 (1):17-27 (in Chinese).[丁博,王懷民,史殿習(xí),等.一種支持軟件可信演化的構(gòu)件模型 [J].軟件學(xué)報(bào),2011,22 (1):17-27.]
[18]Tibermacine Chouki,Sadou Salah,Dony Christophe,et al.Component-based specification of software architecture constraints[C]//Proceedings of the 14th International ACM Sigsoft Symposium on Component based Software Engineering,2011:31-40.