欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法

文檔序號(hào):6400260閱讀:186來(lái)源:國(guó)知局
專利名稱:一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,屬于軟件維護(hù)技術(shù)領(lǐng)域。
背景技術(shù)
構(gòu)件是指語(yǔ)義完整、語(yǔ)法正確、有可重用價(jià)值的單位軟件,是軟件重用過(guò)程中可以明確辨識(shí)的系統(tǒng),結(jié)構(gòu)上,它是語(yǔ)義描述、通訊接口和實(shí)現(xiàn)代碼的復(fù)合體。網(wǎng)構(gòu)軟件是Internet時(shí)代一種新的軟件形態(tài),包括一組分布于Internet環(huán)境下各個(gè)結(jié)點(diǎn)的、具有主體化特征的構(gòu)件,以及一組用于支撐這些軟件實(shí)體以各種交互方式進(jìn)行協(xié)同的連接件。隨著軟件系統(tǒng)的規(guī)模越來(lái)越大,其可用性、可靠性等問(wèn)題越來(lái)越難以保證。為了確保構(gòu)件在應(yīng)對(duì)外部環(huán)境和用戶需求變化的同時(shí)仍能持續(xù)不斷地提供服務(wù),研究者提出了一些在線演化的方法。目前,大多是對(duì)構(gòu)件在線演化的研究,針對(duì)全局的體系結(jié)構(gòu)進(jìn)行在線演化的研究相對(duì)較少。經(jīng)過(guò)對(duì)現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),中國(guó)專利申請(qǐng)?zhí)?1136385.1,記載了一種構(gòu)件化軟件的在線演化方法。通過(guò)引入構(gòu)件的同步狀態(tài)、截流狀態(tài)和緩沖狀態(tài)建立起構(gòu)件的細(xì)粒度管理機(jī)制,利用構(gòu)造新加載程序的方法,借助構(gòu)件接口進(jìn)行構(gòu)件重載,實(shí)現(xiàn)了在軟件運(yùn)行過(guò)程中進(jìn)行構(gòu)件的替換、增加、刪除等操作。此方法僅考慮了構(gòu)件這種小粒度的演化方式,沒(méi)有涉及體系結(jié)構(gòu)的演化。進(jìn)一步檢索發(fā)現(xiàn),中國(guó)專利申請(qǐng)?zhí)?00910044524.X,記載了一種基于體系結(jié)構(gòu)演化的軟件可信保證方法,將軟件環(huán)境適應(yīng)過(guò)程中感知、決策和執(zhí)行各階段封裝為感知構(gòu)件、策略連接子和行為構(gòu)件,保存了軟件體系結(jié)構(gòu)模型并支持其在線修改。但是,此方法的體系結(jié)構(gòu)主要體現(xiàn)在一致性維護(hù)部件,在構(gòu)件的演化時(shí)沒(méi)有考慮到針對(duì)體系結(jié)構(gòu)變化如何調(diào)整局部構(gòu)件。進(jìn)一步檢索發(fā)現(xiàn),中國(guó)專利申請(qǐng)?zhí)?01010530576.0,記載了一種基于事務(wù)的構(gòu)件在線演化方法,基于相關(guān)的多個(gè)構(gòu)件之間的事務(wù)關(guān)系,管理用戶可以通過(guò)控制器動(dòng)態(tài)修改構(gòu)件狀態(tài),在系統(tǒng)持續(xù)運(yùn)行的前提下,對(duì)構(gòu)件的內(nèi)部結(jié)構(gòu)、行為等動(dòng)態(tài)更新。同樣的,此方法也沒(méi)有考慮基于體系結(jié)構(gòu)進(jìn)行演化。另外,在網(wǎng)構(gòu)軟件中,大型復(fù)雜軟件需要由龐大的構(gòu)件組成,構(gòu)件由連接件建立連接依賴關(guān)系組成軟件,連接件建立的不只是兩個(gè)構(gòu)件之間的二元關(guān)系,也可以是多個(gè)構(gòu)件之間的依賴關(guān)系。如果使用普通圖來(lái)表示由縱橫交錯(cuò)的構(gòu)件組成的體系結(jié)構(gòu),生成時(shí)開銷很大,且體系圖龐大不易處理。綜上所述,為了實(shí)現(xiàn)軟件體系結(jié)構(gòu)的可擴(kuò)展性,保證大規(guī)模復(fù)雜軟件系統(tǒng)的自適應(yīng)演化,基于體系結(jié)構(gòu)的復(fù)雜軟件在線演化是網(wǎng)構(gòu)軟件研究的難點(diǎn)之一。

發(fā)明內(nèi)容
本發(fā)明技術(shù)解決問(wèn)題:為了解決上述難點(diǎn)問(wèn)題,提供一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)演化方法,實(shí)現(xiàn)軟件體系結(jié)構(gòu)的可擴(kuò)展性,保證大規(guī)模復(fù)雜軟件系統(tǒng)的自適應(yīng)演化。本發(fā)明技術(shù)解決方案包括:將構(gòu)件自下而上分為基礎(chǔ)層構(gòu)件、業(yè)務(wù)層構(gòu)件和應(yīng)用層構(gòu)件;構(gòu)件存在于不同領(lǐng)域的靜態(tài)域中,用戶的應(yīng)用軟件處于動(dòng)態(tài)域中;使用有向超圖表示網(wǎng)構(gòu)軟件的體系結(jié)構(gòu);在體系結(jié)構(gòu)超圖表示的基礎(chǔ)上,利用超圖的性質(zhì),解決構(gòu)件或連接件的增刪、替換、遷移等演化問(wèn)題。構(gòu)件分層具體包括:將構(gòu)件分為自下而上的三層:基礎(chǔ)層構(gòu)件、業(yè)務(wù)層構(gòu)件和應(yīng)用層構(gòu)件?;A(chǔ)層構(gòu)件一般是不涉及業(yè)務(wù)或領(lǐng)域知識(shí)的一類通用的基礎(chǔ)構(gòu)件;業(yè)務(wù)層構(gòu)件一般是借助基礎(chǔ)構(gòu)件,又帶有領(lǐng)域相關(guān)業(yè)務(wù)信息的一類構(gòu)件;應(yīng)用層構(gòu)件一般是根據(jù)用戶需求,通過(guò)組合業(yè)務(wù)構(gòu)件而形成的大粒度構(gòu)件。通過(guò)連接件建立層內(nèi)、層間構(gòu)件的依賴關(guān)系。靜態(tài)域、動(dòng)態(tài)域具體是:業(yè)務(wù)層和應(yīng)用層的構(gòu)件根據(jù)其所屬的領(lǐng)域分別存放于不同的靜態(tài)域中。通過(guò)鏈接靜態(tài)域中的構(gòu)件到用戶的動(dòng)態(tài)域中,再加上用戶相關(guān)的配置信息,形成用戶的應(yīng)用軟件。使用有向超圖表示網(wǎng)構(gòu)軟件的體系結(jié)構(gòu)具體包括:通過(guò)讀取構(gòu)件庫(kù)中存有的構(gòu)件信息和用戶應(yīng)用軟件的配置信息,建立體系結(jié)構(gòu)的超圖表示。為了顯示構(gòu)件部署的情況,將基礎(chǔ)設(shè)施作為體系結(jié)構(gòu)中的最底層,通過(guò)超邊連接服務(wù)器與其上部署的所有構(gòu)件。為了顯示構(gòu)件部署的情況,將基礎(chǔ)設(shè)施作為網(wǎng)構(gòu)軟件的體系結(jié)構(gòu)最底層,通過(guò)超邊連接基礎(chǔ)設(shè)施與基礎(chǔ)設(shè)施上部署的所有構(gòu)件因此,在本發(fā)明的網(wǎng)構(gòu)軟件的體系結(jié)構(gòu)超圖表示中,頂點(diǎn)代表用戶應(yīng)用、構(gòu)件、月艮務(wù)器,超邊代表連接件,一條超邊建立了多個(gè)頂點(diǎn)之間的依賴關(guān)系。共有三類超圖:(I)所有構(gòu)件形成的超圖,表達(dá)了基礎(chǔ)層、業(yè)務(wù)層、應(yīng)用層之間及各層次內(nèi)部構(gòu)件的依賴關(guān)系;(2)靜態(tài)域中每個(gè)領(lǐng)域形成的超圖,表達(dá)了領(lǐng)域業(yè)務(wù)構(gòu)件之間的邏輯關(guān)系;(3)動(dòng)態(tài)域中每個(gè)用戶的超圖,體現(xiàn)了用戶應(yīng)用使用構(gòu)件的情況。利用超圖解決演化問(wèn)題具體包括:構(gòu)件的增加:分為增加構(gòu)件和增加構(gòu)件的新版本。當(dāng)有新構(gòu)件加入時(shí),根據(jù)構(gòu)件所屬的層次,在超圖對(duì)應(yīng)的層中添加頂點(diǎn),如果該構(gòu)件有依賴的其他構(gòu)件,則需要建立超邊。構(gòu)件的不同版本在超圖中表現(xiàn)為頂點(diǎn)的對(duì)象。當(dāng)已有構(gòu)件的新版本加入構(gòu)件庫(kù)時(shí),首先找到此頂點(diǎn),如果新版本是對(duì)原有構(gòu)件錯(cuò)誤的修正,則轉(zhuǎn)為構(gòu)件的替換問(wèn)題,如果新版本增加了功能,則為此構(gòu)件實(shí)例化一個(gè)新的對(duì)象,并向使用該構(gòu)件舊版本的用戶發(fā)送消息,詢問(wèn)是否替換掉舊版本。構(gòu)件的刪除:分為刪除構(gòu)件和刪除構(gòu)件的某一版本。刪除構(gòu)件的某一版本時(shí),首先需要確定動(dòng)態(tài)域或者該構(gòu)件所在層及以上層中的構(gòu)件是否依賴于該版本,如果存在依賴,則不能刪除,如果不存在依賴,根據(jù)該構(gòu)件的版本信息,刪除超圖中相應(yīng)頂點(diǎn)的對(duì)象。刪除構(gòu)件時(shí),首先刪除該頂點(diǎn)的所有對(duì)象,即執(zhí)行步驟刪除構(gòu)件的版本,然后,刪除此頂點(diǎn)及其與下層頂點(diǎn)建立的超邊。構(gòu)件的替換:當(dāng)構(gòu)件內(nèi)部出現(xiàn)錯(cuò)誤時(shí),需要啟用新構(gòu)件對(duì)問(wèn)題構(gòu)件進(jìn)行替換。為了保證系統(tǒng)的正常運(yùn)行,在替換前,通過(guò)超圖獲得與此構(gòu)件互相依賴的其他構(gòu)件,驗(yàn)證構(gòu)件之間的接口、參數(shù)是否匹配,驗(yàn)證成功后才能進(jìn)行替換操作。構(gòu)件的遷移:當(dāng)構(gòu)件運(yùn)行環(huán)境CPU、內(nèi)存使用率高,或者構(gòu)件的響應(yīng)時(shí)間、可靠性QoS指標(biāo)不能滿足用戶的要求時(shí),需要將構(gòu)件遷移到CPU、內(nèi)存等外部環(huán)境較佳的基礎(chǔ)設(shè)施上。首先,在超圖中找到代表此構(gòu)件的頂點(diǎn),查找是否存在與此構(gòu)件所實(shí)現(xiàn)的功能、接口一致的對(duì)象,如果有則判斷該對(duì)象是否滿足用戶的需求,然后在超圖中獲得直接依賴于問(wèn)題構(gòu)件的所有超邊,即修改連接件的配置,讓連接件指向此對(duì)象即可;否則,需要將該構(gòu)件遷移到一個(gè)滿足用戶QoS要求的基礎(chǔ)設(shè)施上,并修改直接依賴于該構(gòu)件的連接件信息,指向此構(gòu)件所處的新地址。演化完成后都會(huì)在線實(shí)時(shí)更新對(duì)應(yīng)的超圖。為了降低算法計(jì)算復(fù)雜度,將超圖轉(zhuǎn)換為二部圖:增加了一類超邊頂點(diǎn)集合,通過(guò)此頂點(diǎn)代替超邊建立原始頂點(diǎn)之間的聯(lián)系。這樣,始終只有一條邊從頭頂點(diǎn)流出指向邊頂點(diǎn),只需要兩步回溯就可以找到依賴于它的頂點(diǎn)。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)和積極效果如下:( I)本發(fā)明通過(guò)鏈接靜態(tài)域中的構(gòu)件到用戶的動(dòng)態(tài)域中,所有用戶共享使用構(gòu)件,只要加上用戶的配置信息,就可以形成用戶的應(yīng)用系統(tǒng),不需要為用戶開發(fā)系統(tǒng),當(dāng)用戶需求改變時(shí),只需要修改配置信息或者對(duì)構(gòu)件進(jìn)行演化即可滿足,實(shí)現(xiàn)軟件體系結(jié)構(gòu)的可擴(kuò)展性,保證大規(guī)模復(fù)雜軟件系統(tǒng)的自適應(yīng)演化。(2)本發(fā)明基于超圖進(jìn)行軟件體系結(jié)構(gòu)演化,可以通過(guò)一條超邊建立多個(gè)構(gòu)件之間的依賴關(guān)系,層次的劃分使得演化更加清晰。通過(guò)構(gòu)件、域、用戶應(yīng)用三個(gè)維度形成的不同超圖,可以全方位的把握復(fù)雜軟件的整體結(jié)構(gòu)和動(dòng)態(tài)演化過(guò)程。(3)本發(fā)明中將超圖轉(zhuǎn)換為二部圖進(jìn)行求解計(jì)算,大大降低了算法復(fù)雜度。


圖1為本發(fā)明的實(shí)施例流程圖;圖2為本發(fā)明使用超圖表示網(wǎng)構(gòu)軟件體系結(jié)構(gòu)的示意圖;圖3為本發(fā)明將超圖變換為二部圖的示意圖;圖4為本發(fā)明得到的某一用戶應(yīng)用的超圖表示圖。
具體實(shí)施例方式下面結(jié)合說(shuō)明書附圖,對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)描述。如圖1所示,本發(fā)明實(shí)施例建立的基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,通過(guò)以下過(guò)程完成:(I)構(gòu)建網(wǎng)構(gòu)軟件體系結(jié)構(gòu):將構(gòu)件自下而上分為基礎(chǔ)層構(gòu)件、業(yè)務(wù)層構(gòu)件和應(yīng)用層構(gòu)件,構(gòu)件信息保存在構(gòu)件庫(kù)中。用戶的應(yīng)用軟件處于動(dòng)態(tài)域中,由配置文件和所需的構(gòu)件組成,配置文件中記錄了所需構(gòu)件的連接關(guān)系、響應(yīng)時(shí)間等要求。業(yè)務(wù)層和應(yīng)用層的構(gòu)件根據(jù)其所屬的領(lǐng)域分別存放于不同的靜態(tài)域中,通過(guò)鏈接靜態(tài)域中的構(gòu)件到用戶的動(dòng)態(tài)域中,再加上用戶相關(guān)的配置,形成用戶的應(yīng)用軟件。(2)使用有向超圖表示網(wǎng)構(gòu)軟件的體系結(jié)構(gòu):通過(guò)讀取構(gòu)件庫(kù)中存有的構(gòu)件信息和用戶應(yīng)用軟件的配置信息,建立體系結(jié)構(gòu)的超圖表示。頂點(diǎn)代表用戶應(yīng)用、構(gòu)件、基礎(chǔ)設(shè)施,超邊代表連接件,一條超邊建立了多個(gè)頂點(diǎn)之間的依賴關(guān)系。(3)當(dāng)有新用戶加入所述網(wǎng)構(gòu)軟件系統(tǒng)時(shí),首先填寫本人和申請(qǐng)構(gòu)造應(yīng)用軟件的相關(guān)信息,如本人的姓名、公司、應(yīng)用名稱、所屬領(lǐng)域等;系統(tǒng)將靜態(tài)域中與此用戶應(yīng)用領(lǐng)域業(yè)務(wù)相關(guān)的構(gòu)件推薦給用戶進(jìn)行選擇;用戶選擇業(yè)務(wù)構(gòu)件,鏈接到自己的動(dòng)態(tài)域中,并配置界面、構(gòu)件之間的流程、約束等信息。然后,系統(tǒng)進(jìn)行步驟一和步驟二操作,用戶就可以使用該應(yīng)用軟件了。根據(jù)配置信息,生成此用戶應(yīng)用的超圖,加入到整個(gè)體系結(jié)構(gòu)中。(4)對(duì)基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)進(jìn)行監(jiān)控,當(dāng)感知到用戶需求或外部環(huán)境變化時(shí),利用超圖的性質(zhì),解決構(gòu)件的增刪、替換、遷移等演化問(wèn)題:a.構(gòu)件的增加:分為增加構(gòu)件和增加構(gòu)件的新版本。當(dāng)有新構(gòu)件加入時(shí),根據(jù)構(gòu)件信息,在超圖相應(yīng)的層中添加頂點(diǎn),如果該構(gòu)件有依賴的其他構(gòu)件,則需要建立超邊。構(gòu)件的不同版本在超圖中表現(xiàn)為頂點(diǎn)的對(duì)象。當(dāng)已有構(gòu)件的新版本加入構(gòu)件庫(kù)時(shí),首先找到此頂點(diǎn),如果新版本是對(duì)原有構(gòu)件錯(cuò)誤的修正,則轉(zhuǎn)為構(gòu)件的替換問(wèn)題,如果新版本增加了功能,則為此構(gòu)件實(shí)例化一個(gè)新的對(duì)象,并向使用該構(gòu)件舊版本的用戶發(fā)送消息,詢問(wèn)是否替換掉舊版本。b.構(gòu)件的刪除:分為刪除構(gòu)件和刪除構(gòu)件的某一版本。刪除構(gòu)件的某一版本時(shí),首先需要確定動(dòng)態(tài)域或者該構(gòu)件所在層及以上層中的構(gòu)件是否依賴于該版本,如果存在依賴,則不能刪除,如果不存在依賴,根據(jù)該構(gòu)件的版本信息,刪除超圖中相應(yīng)頂點(diǎn)的對(duì)象。刪除構(gòu)件時(shí),首先刪除該頂點(diǎn)的所有對(duì)象,即執(zhí)行步驟刪除構(gòu)件的版本,然后,刪除此頂點(diǎn)及其與下層頂點(diǎn)建立的超邊。c.構(gòu)件的替換:為了保證系統(tǒng)的正常運(yùn)行,在替換前,通過(guò)超圖獲得與此構(gòu)件互相依賴的其他構(gòu)件,驗(yàn)證構(gòu)件之間的接口、參數(shù)是否匹配,驗(yàn)證成功后才能進(jìn)行替換操作。d.構(gòu)件的遷移:當(dāng)構(gòu)件運(yùn)行環(huán)境CPU、內(nèi)存使用率高,或者構(gòu)件的響應(yīng)時(shí)間、可靠性QoS指標(biāo)不能滿足用戶的要求時(shí),需要將構(gòu)件遷移到CPU、內(nèi)存等外部環(huán)境較佳的基礎(chǔ)設(shè)施上。如圖2所示,本發(fā)明將用戶的應(yīng)用軟件、各個(gè)層次的構(gòu)件作為超圖中的頂點(diǎn),連接件作為超邊建立用戶應(yīng)用與業(yè)務(wù)構(gòu)件、上層構(gòu)件與下層構(gòu)件、本層構(gòu)件之間的依賴關(guān)系。每個(gè)構(gòu)件可能有不同的版本,基于超圖的數(shù)據(jù)結(jié)構(gòu),將構(gòu)件的某一版本表示為此構(gòu)件的一個(gè)對(duì)象。為了顯示構(gòu)件部署的情況以方便演化中的替換、遷移等操作,將基礎(chǔ)設(shè)施作為體系結(jié)構(gòu)中的最底層,通過(guò)超邊連接基礎(chǔ)設(shè)施與基礎(chǔ)設(shè)施上部署的所有構(gòu)件。為了降低算法計(jì)算復(fù)雜度,本發(fā)明將超圖轉(zhuǎn)換為二部圖,如圖3所示。增加了一類超邊頂點(diǎn)集合,通過(guò)此頂點(diǎn)代替超邊建立原始頂點(diǎn)之間的聯(lián)系。這樣,始終只有一條邊從頭頂點(diǎn)流出指向邊頂點(diǎn),只需要兩步回溯就可以找到依賴于它的頂點(diǎn)。體系結(jié)構(gòu)管理員可以實(shí)時(shí)查看網(wǎng)構(gòu)軟件體系結(jié)構(gòu)形成的三類超圖:所有構(gòu)件形成的超圖、靜態(tài)域中每個(gè)領(lǐng)域形成的超圖、動(dòng)態(tài)域中每個(gè)用戶的超圖。如圖4所示,用戶“軟件所”的應(yīng)用超圖表示中,顯示用戶使用了“招標(biāo)管理”這個(gè)應(yīng)用層構(gòu)件,它是由“招標(biāo)信息發(fā)布”和“招投標(biāo)信息查詢”兩個(gè)業(yè)務(wù)構(gòu)件組成的,而業(yè)務(wù)構(gòu)件又依賴于下層的查詢、添加、更新、數(shù)據(jù)庫(kù)訪問(wèn)服務(wù)這些基礎(chǔ)構(gòu)件。圖中內(nèi)容為E的框表示超邊結(jié)點(diǎn),通過(guò)它建立頂點(diǎn)之間的關(guān)聯(lián)。當(dāng)感知到外部環(huán)境或用戶需求改變,需要演化某一構(gòu)件或體系結(jié)構(gòu)時(shí),都需要根據(jù)建立的體系結(jié)構(gòu)超圖,獲得構(gòu)件間的依賴關(guān)系,進(jìn)行相應(yīng)的演化操作,并在演化完成后實(shí)時(shí)更新體系結(jié)構(gòu)。本發(fā)明未詳細(xì)闡述部分屬于本領(lǐng)域技術(shù)人員的公知技術(shù)。以上所述,僅為本發(fā)明中的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于實(shí)現(xiàn)步驟如下: 第一步,構(gòu)建網(wǎng)構(gòu)軟件體系結(jié)構(gòu); 將構(gòu)件自下而上分為基礎(chǔ)層構(gòu)件、業(yè)務(wù)層構(gòu)件和應(yīng)用層構(gòu)件;所述基礎(chǔ)層構(gòu)件是指不涉及業(yè)務(wù)或領(lǐng)域知識(shí)的一類通用的基礎(chǔ)構(gòu)件;所述業(yè)務(wù)層構(gòu)件一般是借助基礎(chǔ)構(gòu)件,又帶有領(lǐng)域業(yè)務(wù)信息的一類構(gòu)件;應(yīng)用層構(gòu)件是指根據(jù)用戶需求,通過(guò)組合業(yè)務(wù)構(gòu)件而形成的大粒度構(gòu)件; 所述構(gòu)件存在于不同領(lǐng)域的靜態(tài)域中,構(gòu)件名稱、編號(hào)、構(gòu)件功能信息保存在構(gòu)件庫(kù)中,用戶的應(yīng)用軟件處于動(dòng)態(tài)域中,它由配置文件和所需的構(gòu)件組成,配置文件中記錄了所需構(gòu)件的連接關(guān)系、響應(yīng)時(shí)間等要求;業(yè)務(wù)層和應(yīng)用層的構(gòu)件根據(jù)其所屬的領(lǐng)域分別存放于不同的靜態(tài)域中,通過(guò)鏈接靜態(tài)域中的構(gòu)件到用戶的動(dòng)態(tài)域中,再加上用戶相關(guān)的配置,形成用戶的應(yīng)用軟件;這樣,所有用戶共享使用構(gòu)件,只要加上用戶的配置信息,就可以形成用戶的應(yīng)用系統(tǒng),不需要為用戶開發(fā)系統(tǒng),當(dāng)用戶需求改變時(shí),只需要修改配置信息或者對(duì)構(gòu)件進(jìn)行演化即可滿足,實(shí)現(xiàn)軟件體系結(jié)構(gòu)的可擴(kuò)展性; 第二步,使用有向超圖表示網(wǎng)構(gòu)軟件的體系結(jié)構(gòu),形成基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu); 通過(guò)讀取構(gòu)件庫(kù)中存有的構(gòu)件信息和用戶應(yīng)用軟件的配置信息,建立體系結(jié)構(gòu)的超圖表示;為了顯示構(gòu)件部署的情況,將基礎(chǔ)設(shè)施作為網(wǎng)構(gòu)軟件的體系結(jié)構(gòu)最底層,通過(guò)超邊連接基礎(chǔ)設(shè)施與基礎(chǔ)設(shè)施上部署的所有構(gòu)件;在網(wǎng)構(gòu)軟件體系結(jié)構(gòu)采用超圖表示中,頂點(diǎn)代表用戶應(yīng)用、構(gòu)件、服務(wù)器,超邊代表連接件,一條超邊建立了多個(gè)頂點(diǎn)之間的依賴關(guān)系,共有三類超圖,即: (1)所有構(gòu)件形成的超圖,表達(dá)了基礎(chǔ)層、業(yè)務(wù)層、應(yīng)用層之間及各層次內(nèi)部構(gòu)件的依賴關(guān)系; (2)靜態(tài)域中每個(gè)領(lǐng)域形成的超圖,表達(dá)了領(lǐng)域業(yè)務(wù)構(gòu)件之間的邏輯關(guān)系; (3 )動(dòng)態(tài)域中每個(gè)用戶的超圖,體現(xiàn)了用戶應(yīng)用使用構(gòu)件的情況; 第三步,當(dāng)有新用戶加入所述網(wǎng)構(gòu)軟件系統(tǒng)時(shí),首先填寫本人和申請(qǐng)構(gòu)造應(yīng)用軟件的相關(guān)信息,將靜態(tài)域中與此用戶應(yīng)用領(lǐng)域業(yè)務(wù)相關(guān)的構(gòu)件推薦給用戶進(jìn)行選擇;用戶選擇業(yè)務(wù)構(gòu)件,鏈接到自己的動(dòng)態(tài)域中,并配置界面、構(gòu)件之間的流程、約束信息;然后,進(jìn)行步驟一和步驟二操作,用戶就能夠使用該應(yīng)用軟件了 ; 第四步,在網(wǎng)構(gòu)軟件的體系結(jié)構(gòu)采用超圖表示的基礎(chǔ)上,利用超圖的性質(zhì),解決構(gòu)件的增刪、替換和遷移演化問(wèn)題。
2.根據(jù)權(quán)利要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:所述構(gòu)件的增加:分為增加構(gòu)件和增加構(gòu)件的新版本,具體實(shí)現(xiàn)為: a.當(dāng)有新構(gòu)件加入時(shí),根據(jù)構(gòu)件所屬的層次,在超圖對(duì)應(yīng)的層中添加頂點(diǎn),如果該構(gòu)件有依賴的除此構(gòu)件之外的構(gòu)件,則需要建立超邊; b.構(gòu)件的不同版本在超圖中表現(xiàn)為頂點(diǎn)的對(duì)象,當(dāng)已有構(gòu)件的新版本加入構(gòu)件庫(kù)時(shí),首先找到此頂點(diǎn),如果新版本是對(duì)原有構(gòu)件錯(cuò)誤的修正,則轉(zhuǎn)為構(gòu)件的替換問(wèn)題,如果新版本增加了功能,則為此構(gòu)件實(shí)例化一個(gè)新的對(duì)象,并向使用該構(gòu)件舊版本的用戶發(fā)送消息,詢問(wèn)是否替換掉舊版本。
3.根據(jù)權(quán)利要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:所述構(gòu)件的刪除:分為刪除構(gòu)件和刪除構(gòu)件的某一版本,具體實(shí)現(xiàn)為: a.刪除構(gòu)件的某一版本時(shí),首先需要確定動(dòng)態(tài)域或者該構(gòu)件所在層及以上層中的構(gòu)件是否依賴于該版本,如果存在依賴,則不能刪除,如果不存在依賴,根據(jù)該構(gòu)件的版本信息,刪除超圖中相應(yīng)頂點(diǎn)的對(duì)象; b.刪除構(gòu)件時(shí),首先刪除該頂點(diǎn)的所有對(duì)象,執(zhí)行步驟a,然后,刪除此頂點(diǎn)及其與下層頂點(diǎn)建立的超邊。
4.根據(jù)權(quán)利要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:所述構(gòu)件的替換:當(dāng)構(gòu)件內(nèi)部出現(xiàn)錯(cuò)誤時(shí),需要啟用新構(gòu)件對(duì)問(wèn)題構(gòu)件進(jìn)行替換;為了保證系統(tǒng)的正常運(yùn)行,在替換前,通過(guò)超圖獲得與此構(gòu)件互相依賴的其他構(gòu)件,驗(yàn)證構(gòu)件之間的接口、參數(shù)是否匹配,驗(yàn)證成功后才能進(jìn)行替換操作。
5.根據(jù)權(quán)利要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:所述構(gòu)件的遷移為:當(dāng)構(gòu)件運(yùn)行環(huán)境CPU、內(nèi)存使用率或者構(gòu)件的響應(yīng)時(shí)間、可靠性QoS指標(biāo)不能滿足用戶的要求時(shí),需要將構(gòu)件遷移到CPU、內(nèi)存外部環(huán)境的基礎(chǔ)設(shè)施上,具體實(shí)現(xiàn)為: a.在超圖中找到代表此構(gòu)件的頂點(diǎn),查找是否存在與此構(gòu)件所實(shí)現(xiàn)的功能、接口一致的對(duì)象,如果有則判斷該對(duì)象是否滿足用戶的需求; b.在超圖中獲得直接依賴于問(wèn)題構(gòu)件的所有超邊,即修改連接件的配置,讓連接件指向此對(duì)象即可;否則,需要將該構(gòu)件遷移到一個(gè)滿足用戶QoS要求的基礎(chǔ)設(shè)施上,并修改直接依賴于該構(gòu)件的連接件信息,指向此構(gòu)件所處的新地址。
6.根據(jù)權(quán)利要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:步驟四所述演化完成后網(wǎng)構(gòu)軟件系統(tǒng)都會(huì)在線實(shí)時(shí)更新對(duì)應(yīng)的超圖。
7.根據(jù)權(quán)利 要求1所述基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,其特征在于:所述步驟二中,為了降低算法計(jì)算復(fù)雜度,將超圖轉(zhuǎn)換為二部圖,即:增加了一類超邊頂點(diǎn)集合,通過(guò)此頂點(diǎn)代替超邊建立原始頂點(diǎn)之間的聯(lián)系,這樣始終只有一條邊從頭頂點(diǎn)流出指向邊頂點(diǎn),只需要兩步回溯就能夠找到依賴于它的頂點(diǎn)。
全文摘要
本發(fā)明一種基于超圖的網(wǎng)構(gòu)軟件體系結(jié)構(gòu)在線演化方法,主要是為了解決大規(guī)模復(fù)雜軟件系統(tǒng)中統(tǒng)一、協(xié)調(diào)的演化問(wèn)題,屬于軟件技術(shù)領(lǐng)域。該方法包括將構(gòu)件分為基礎(chǔ)構(gòu)件層、業(yè)務(wù)構(gòu)件層、應(yīng)用構(gòu)件層;構(gòu)件存在于不同領(lǐng)域的靜態(tài)域中,用戶應(yīng)用處于動(dòng)態(tài)域中;使用有向超圖表示網(wǎng)構(gòu)軟件的體系結(jié)構(gòu);在體系結(jié)構(gòu)超圖表示的基礎(chǔ)上,利用超圖的性質(zhì),解決構(gòu)件或連接件的增刪、替換、遷移等演化問(wèn)題。本發(fā)明可以實(shí)現(xiàn)軟件體系結(jié)構(gòu)的可擴(kuò)展性,保證大規(guī)模復(fù)雜軟件系統(tǒng)的自適應(yīng)演化。
文檔編號(hào)G06F9/44GK103164225SQ20131007871
公開日2013年6月19日 申請(qǐng)日期2013年3月12日 優(yōu)先權(quán)日2013年3月12日
發(fā)明者王瑞, 彭啟民, 胡曉惠 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
文山县| 广宁县| 建湖县| 广西| 梅州市| 霍州市| 通化市| 北海市| 崇义县| 读书| 昆山市| 察雅县| 和平县| 汝阳县| 永平县| 柳州市| 安义县| 乌鲁木齐县| 达孜县| 日照市| 微博| 卓资县| 西平县| 称多县| 宝鸡市| 洞头县| 石阡县| 开平市| 临湘市| 肥西县| 安徽省| 巴楚县| 朝阳区| 原平市| 灵台县| 兴隆县| 天等县| 阿拉善左旗| 姜堰市| 霍州市| 阳泉市|