一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法
【專利摘要】本發(fā)明涉及一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,包括:分析組件行為,建立組件的行為模型;對(duì)各組件進(jìn)行基于Pi演算的行為描述;生成協(xié)作路徑集合;分析協(xié)作路徑上的時(shí)間約束,生成帶時(shí)間約束的協(xié)作路徑集。本發(fā)明適用于軟件組件系統(tǒng),關(guān)注的不是組件順序的線性行為,而是組件間的交互行為。將UML與Pi演算理論相結(jié)合,提出軟件組件協(xié)作路徑分析方法,在較高的抽象層次上描述各組件間的協(xié)作。使用帶時(shí)間約束的協(xié)作路徑集作為組件間的協(xié)作行為,對(duì)行為的描述更加準(zhǔn)確。將本發(fā)明應(yīng)用于軟件系統(tǒng)的開發(fā)過程中,對(duì)于提高軟件組件協(xié)作行為的可信性以及增強(qiáng)整個(gè)軟件系統(tǒng)的可信性具有重要作用。
【專利說明】一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)軟件領(lǐng)域,涉及一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法?!颈尘凹夹g(shù)】
[0002]近年來,隨著計(jì)算機(jī)和軟件技術(shù)的迅速發(fā)展與廣泛應(yīng)用,社會(huì)的信息化程度不斷提高,計(jì)算機(jī)軟件已經(jīng)廣泛應(yīng)用于諸如航空航天、核反應(yīng)堆、國(guó)防建設(shè)以及與國(guó)民經(jīng)濟(jì)相關(guān)的重要領(lǐng)域。如果計(jì)算機(jī)軟件系統(tǒng)的安全受到危害,將會(huì)危及國(guó)家安全,引起社會(huì)混亂,造成重大損失。因此,確保計(jì)算機(jī)軟件系統(tǒng)的安全成為世人關(guān)注的社會(huì)問題,并成為信息科學(xué)【技術(shù)領(lǐng)域】中的研究熱點(diǎn)。隨著人們對(duì)軟件系統(tǒng)功能要求的不斷提高,軟件系統(tǒng)的規(guī)模也越來越大,導(dǎo)致軟件的開發(fā)、集成和維護(hù)工作也越來越復(fù)雜,軟件在被使用時(shí)遇到廣泛的軟件信任問題。增強(qiáng)軟件系統(tǒng)的可信性得到了廣泛的關(guān)注。軟件系統(tǒng)的可信是指軟件系統(tǒng)的行為及其結(jié)果總是符合人們的,在受到干擾時(shí)仍能提供連續(xù)的服務(wù)。然而,由于目前尚嚴(yán)重缺乏相關(guān)的可信軟件構(gòu)造技術(shù),導(dǎo)致軟件產(chǎn)品在推出時(shí)總會(huì)含有一些已知或未知的缺陷,這些缺陷對(duì)軟件系統(tǒng)的運(yùn)行構(gòu)成了嚴(yán)重的威脅。因此,構(gòu)造可信軟件已經(jīng)成為現(xiàn)代軟件技術(shù)發(fā)展和應(yīng)用的重要趨勢(shì)和必然選擇。
[0003]目前,對(duì)于可信軟件的開發(fā)方法以及運(yùn)行支撐平臺(tái)的研究仍然處于起步階段。對(duì)于生產(chǎn)可信軟件產(chǎn)品來說,仍然缺少科學(xué)的理論基礎(chǔ)和嚴(yán)格的技術(shù)手段。因此,如何構(gòu)造可信軟件的相關(guān)問題,已經(jīng)成為當(dāng)前軟件行業(yè)所面臨的一個(gè)挑戰(zhàn),并且已成為軟件工程領(lǐng)域的熱點(diǎn)問題之一,該領(lǐng)域的研究具有重要的理論意義和應(yīng)用價(jià)值。
[0004]現(xiàn)有的軟件行為分析方法多是通過靜態(tài)分析或動(dòng)態(tài)分析,獲取軟件自身的狀態(tài)序列從而進(jìn)一步獲取行為序列,其缺點(diǎn)是只能關(guān)注軟件本身順序執(zhí)行的行為,而對(duì)軟件系統(tǒng)中各組件的協(xié)作行為關(guān)注不夠。申請(qǐng)?zhí)枮?01210303587.4的專利公開了一種基于狀態(tài)層的軟件行為建模方法,該方法通過截獲軟件執(zhí)行時(shí)的調(diào)用序列,轉(zhuǎn)化并建立狀態(tài)轉(zhuǎn)移圖,抽取敏感狀態(tài)序列,導(dǎo)出軟件行為。該方法雖使用了狀態(tài)轉(zhuǎn)移圖,但無法適用于基于組件的軟件系統(tǒng),無法描述各組件的交互行為,其算法的復(fù)雜度也較高。
【發(fā)明內(nèi)容】
[0005]針對(duì)軟件各組件間協(xié)作行為中存在的問題,本發(fā)明提出一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,不僅能夠分析組件間的協(xié)作路徑,而且還能夠同時(shí)分析這些路徑上的時(shí)間約束,從而使所獲取的協(xié)作行為模型既可以用與時(shí)間無關(guān)的領(lǐng)域,也可以用與時(shí)間相關(guān)的領(lǐng)域,具有較好的適用性。
[0006]為達(dá)到以上目的,本發(fā)明采用如下方案。
[0007]組件協(xié)作行為的分析方法包括:基于UML與Pi演算理論的軟件組件協(xié)作路徑分析方法,基于時(shí)序圖構(gòu)造的軟件組件協(xié)作路徑上的時(shí)間約束分析方法。
[0008]組件間的協(xié)作路徑是指人們所期望的組件間的協(xié)作路徑。組件間的協(xié)作是通過相互收發(fā)消息完成的,所以在獲取組件間的協(xié)作路徑時(shí)只需考慮人們所期望的組件間的消息傳遞序列即可,這種消息傳遞序列反映了組件間的協(xié)作路徑。
[0009]時(shí)間約束是指組件協(xié)作路徑上關(guān)于消息傳遞的一種時(shí)間限制。一方面,需要分析協(xié)作路徑上消息傳遞所花費(fèi)時(shí)間的約束;另一方面,還需要分析協(xié)作路徑上相鄰消息傳遞之間的時(shí)間間隔約束。
[0010]一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,包括以下步驟:
[0011]步驟1:分析組件行為,建立組件的行為模型。
[0012]分析組件與其它組件的外部交互,確定組件與指定組件交互所接收和發(fā)送的消息,建立組件的UML狀態(tài)圖,通過狀態(tài)圖進(jìn)一步了解了組件的行為。
[0013]步驟2:對(duì)各組件進(jìn)行基于Pi演算的行為描述。
[0014]針對(duì)組件行為分析結(jié)果,以組件與其它組件協(xié)作情況下的UML狀態(tài)圖為主,并將組件收發(fā)的消息作為附加信息,按所定義的抽取規(guī)則對(duì)組件狀態(tài)圖進(jìn)行Pi演算語義的抽取,得到各組件基于Pi演算的行為描述。
[0015]本發(fā)明設(shè)計(jì)的抽取規(guī)則如下:
[0016]規(guī)則1.一個(gè)組件可以作為Pi演算中的一個(gè)進(jìn)程。
[0017]規(guī)則2.—個(gè)組件可以通過消息的接收與發(fā)送與其它組件交互,當(dāng)一個(gè)消息被傳遞時(shí),假定存在一個(gè)傳遞該消息的通道與Pi演算中的傳遞該消息的通道相對(duì)應(yīng)。
[0018]規(guī)則3.在狀態(tài)圖中,狀態(tài)的遷移是由事件的觸發(fā)引起的,事件的觸發(fā)由消息的收發(fā)引起,因此一個(gè)狀態(tài)遷移可以由基本進(jìn)程表達(dá)式表達(dá)。例如:從SI狀態(tài)遷移到S2狀態(tài)是由通道a接收消息X完成的,這一遷移可以表示為a〈x>。
[0019]規(guī)則4.在狀態(tài)圖中,沒有通過接收或發(fā)送消息而被觸發(fā)的事件所造成的狀態(tài)變遷不進(jìn)行Pi演算語義抽取。
[0020]規(guī)則5.在狀態(tài)圖中,互斥的條件分支借助Pi演算中的和式表達(dá)式表示。
[0021]規(guī)則6.在狀態(tài)圖中,由一系列狀態(tài)遷移構(gòu)成的可行流程用Pi演算的進(jìn)程表達(dá)式來表達(dá)。
[0022]步驟3:生成協(xié)作路徑集合。
[0023]利用Pi演算操作語義推演組件間的協(xié)作路徑,生成協(xié)作路徑集合,將該集合作為組件間協(xié)作行為的一部分。
[0024]協(xié)作路徑是各組件協(xié)作完成某項(xiàng)任務(wù)的過程中進(jìn)行消息傳遞形成的協(xié)作消息鏈。組件間的協(xié)作路徑可以表示為PiMmillIiy mij>,其中Hiij是所傳遞的消息,可以用一個(gè)三元組表示為sender, name, receiver),其中,i>0, j>0 ;sender為消息發(fā)送者的標(biāo)識(shí);name為所傳遞消息的標(biāo)識(shí)receiver為消息接收者的標(biāo)識(shí)。
[0025]協(xié)作路徑集合可以表示為集合P= {pk},其中Pk為組件間的協(xié)作路徑,k>0。
[0026]步驟4:分析協(xié)作路徑上的時(shí)間約束,生成帶時(shí)間約束的協(xié)作路徑集。
[0027]構(gòu)造系統(tǒng)的時(shí)序圖,根據(jù)所生成的協(xié)作路徑從所構(gòu)造的時(shí)序圖中抽取所需的時(shí)間約束,生成帶時(shí)間約束的協(xié)作路徑集。
[0028]時(shí)序圖用于顯示系統(tǒng)內(nèi)各個(gè)實(shí)體處于某種特定狀態(tài)的時(shí)間,以及觸發(fā)這些狀態(tài)發(fā)生變化的消息。其主要元素包括參與者、狀態(tài)、狀態(tài)線、事件與消息以及時(shí)間約束。其中,
[0029]參與者:參與者是交互所涉及的所有實(shí)體。
[0030]狀態(tài):狀態(tài)是實(shí)體在交互過程中自身的所有狀態(tài)。[0031]狀態(tài)線:是用來顯示系統(tǒng)中的實(shí)體在任何特定時(shí)間下所處的狀態(tài),系統(tǒng)中實(shí)體的狀態(tài)線與系統(tǒng)中實(shí)體的某個(gè)狀態(tài)是一致的。
[0032]事件與消息:將事件與消息顯示在時(shí)序圖上,用于表示觸發(fā)實(shí)體的狀態(tài)改變。
[0033]協(xié)作路徑上的時(shí)間約束包括消息時(shí)間約束和相鄰消息間隔時(shí)間約束。消息時(shí)間約束可以表示為一個(gè)二元組STnm=(UU),相鄰消息間隔時(shí)間約束可以表示為一個(gè)二元組ITnm=(L,U),其中,L表示時(shí)間下限,U表示時(shí)間上限,n>0,m>0。帶時(shí)間約束的協(xié)作路徑可以表示為 Ipti=^tilITnmti2ITi2...ITij^mtij), Hitij= (sender, name, receiver, STij),其中,Intij 表不所傳遞的消息,用一個(gè)四元組表示;stu為消息時(shí)間約束;ιι\μ為相鄰消息間隔時(shí)間約束。帶時(shí)間約束的協(xié)作路徑集可以表示為PT={ptlPV"Ptk},其中,Ptk為帶時(shí)間約束的協(xié)作路徑,k>0。
[0034]抽取時(shí)間約束的步驟如下:
[0035]步驟4.1:從協(xié)作路徑集P中選取一條協(xié)作路徑Pi, i>0。
[0036]步驟4.2:對(duì)于Pi消息鏈中的每一個(gè)消息,在系統(tǒng)的時(shí)序圖中進(jìn)行定位,抽取其時(shí)間約束,形成消息時(shí)間約束二元組STu,生成表示所傳遞消息的四元組Hltijt5
[0037]步驟4.3:對(duì)于Pi消息鏈中的任意兩個(gè)相鄰消息和mu+1,在系統(tǒng)的時(shí)序圖中進(jìn)行定位,通過時(shí)序圖給出的相關(guān)時(shí)間約束計(jì)算Hlij和Hlij+1之間的間隔時(shí)間約束,形成相鄰消息間隔時(shí)間約束二元組ITijt5
[0038]步驟4.4:生成帶時(shí)間約束的協(xié)作路徑ITij^mtij)0
[0039]步驟4.5:重復(fù)執(zhí)行步驟4.1~4.4,直到處理完P(guān)中的所有路徑,生成帶時(shí)間約束的協(xié)作路徑集 PT= (Pt1Pt2-^PtJ,k>0。
[0040]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0041]本發(fā)明適用于軟件組件系統(tǒng),關(guān)注的不是組件順序的線性行為,而是組件間的交互行為。將UML與Pi演算理論相結(jié)合,提出軟件組件協(xié)作路徑分析方法,在較高的抽象層次上描述各組件間的協(xié)作。使用帶時(shí)間約束的協(xié)作路徑集作為組件間的協(xié)作行為,對(duì)行為的描述更加準(zhǔn)確。本發(fā)明為提高軟件組件協(xié)作行為的可信性提供了有效方法。將本發(fā)明應(yīng)用于軟件系統(tǒng)的開發(fā)過程中,對(duì)于提高軟件組件協(xié)作行為的可信性以及增強(qiáng)整個(gè)軟件系統(tǒng)的可信性具有重要作用。
【專利附圖】
【附圖說明】
[0042]圖1為本發(fā)明所涉及的軟件組件系統(tǒng)組件間協(xié)作行為分析方法流程圖;
[0043]圖2為本發(fā)明實(shí)施例中的組件狀態(tài)圖:(a)為A組件狀態(tài)圖,(b)為B組件狀態(tài)圖,(C)為C組件狀態(tài)圖;
[0044]圖3為本發(fā)明實(shí)施例中A、B、C組件時(shí)序圖。
【具體實(shí)施方式】
[0045]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的說明。
[0046]為簡(jiǎn)便起見,本實(shí)施例只選取A、B、C三個(gè)簡(jiǎn)單組件。為了便于理解,這些組件的協(xié)作也以簡(jiǎn)單方式體現(xiàn)。對(duì)這些組件的說明信息進(jìn)行分析后,能夠分別得到這些組件接收消息集合RM和發(fā)送消 息集合SM。A組件的接收消息集合RM= {xr, yr},發(fā)送消息集合SM= {x, y};B組件的接收消息集合RM= {x},發(fā)送消息集合SM= IxJ ;C組件的接收消息集合RM= {y},發(fā)送消息集合SM=Iy1J。
[0047]軟件組件系統(tǒng)協(xié)作行為分析方法的流程圖如圖1所示,包括以下步驟:
[0048]步驟1:分析組件行為,建立組件的行為模型。
[0049]根據(jù)A、B、C組件各自的說明信息分別對(duì)它們的狀態(tài)變化進(jìn)行分析,可以得到各組件在與其它組件交互情況下其自身的狀態(tài)變化,相應(yīng)的UML狀態(tài)圖如圖2 (a)、(b)、(c)所示 ο
[0050]圖2 (a)為A組件的狀態(tài)圖。首先A組件由初始狀態(tài)進(jìn)入Al狀態(tài),等待互斥事件x、y的觸發(fā)。當(dāng)X事件觸發(fā)時(shí)A組件由Al狀態(tài)進(jìn)入A2狀態(tài),之后當(dāng)xr事件觸發(fā)時(shí)A組件由A2狀態(tài)進(jìn)入結(jié)束狀態(tài);當(dāng)I事件觸發(fā)時(shí)A組件由Al狀態(tài)進(jìn)入A3狀態(tài),之后當(dāng)yr事件觸發(fā)時(shí)A組件由A3狀態(tài)進(jìn)入結(jié)束狀態(tài)。圖2 (b)為B組件的狀態(tài)圖,當(dāng)X事件觸發(fā)時(shí)B組件由初始狀態(tài)進(jìn)入BI狀態(tài),之后當(dāng)xr事件觸發(fā)時(shí)B組件由BI狀態(tài)進(jìn)入結(jié)束狀態(tài)。圖2 (c)為C組件的狀態(tài)圖,當(dāng)y事件觸發(fā)時(shí)C組件由初始狀態(tài)進(jìn)入Cl狀態(tài),當(dāng)yr事件觸發(fā)時(shí)C組件由Cl狀態(tài)進(jìn)入結(jié)束狀態(tài)。
[0051]步驟2:對(duì)各組件進(jìn)行基于Pi演算的行為描述。
[0052]對(duì)A、B、C組件進(jìn)行行為分析之后,綜合考慮每個(gè)組件的外部交互分析結(jié)果和狀態(tài)變化分析結(jié)果,按抽取規(guī)則進(jìn)行Pi演算語義的抽取。對(duì)于A組件來說,X事件和y事件是兩個(gè)互斥的事件。在圖2 (a)中,若X事件觸發(fā)時(shí),A組件發(fā)送X消息,由Al狀態(tài)遷移到A2
狀態(tài),用Pi演算可以表示為G <x>,其中X為消息,a為傳遞消息X的通道;之后若xr事
件觸發(fā)時(shí),A組件接收消息xr,由A2狀態(tài)遷移到結(jié)束狀態(tài),用Pi演算可以表示為aKxr〉,其中xr為消息,ar為傳遞消息xr的通道;若y事件觸發(fā)時(shí),A組件發(fā)送y消息,由Al狀態(tài)
遷移到A3狀態(tài),用Pi演算可以表示為石< >,其中y為消息,b為傳遞消息I的通道;之
后若yr事件觸發(fā)時(shí),A組件接收消息yr,由A3狀態(tài)遷移到結(jié)束狀態(tài),用Pi演算可以表示為br〈yr>,其中yr為消息,br為傳遞消息yr的通道。因此,在以上Pi演算語義抽取的基礎(chǔ)上,并根據(jù)狀態(tài)遷移構(gòu)成的可行流程,可以用Pi演算的進(jìn)程表達(dá)式Pa來描述A組件的行
為,
【權(quán)利要求】
1.一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于包括以下步驟: 步驟1:分析組件行為,建立組件的行為模型; 分析組件與其它組件的外部交互,確定組件與指定組件交互所接收和發(fā)送的消息,建立組件的UML狀態(tài)圖,通過狀態(tài)圖進(jìn)一步了解了組件的行為; 步驟2:對(duì)各組件進(jìn)行基于Pi演算的行為描述; 針對(duì)組件行為分析結(jié)果,以組件與其它組件協(xié)作情況下的UML狀態(tài)圖為主,并將組件收發(fā)的消息作為附加信息,按所定義的抽取規(guī)則對(duì)組件狀態(tài)圖進(jìn)行Pi演算語義的抽取,得到各組件基于Pi演算的行為描述; 步驟3:生成協(xié)作路徑集合; 利用Pi演算操作語義推演組件間的協(xié)作路徑,生成協(xié)作路徑集合,將該集合作為組件間協(xié)作行為的一部分; 步驟4:分析協(xié)作路徑上的時(shí)間約束,生成帶時(shí)間約束的協(xié)作路徑集; 構(gòu)造系統(tǒng)的時(shí)序圖,根據(jù)所生成的協(xié)作路徑從所構(gòu)造的時(shí)序圖中抽取所需的時(shí)間約束,生成帶時(shí)間約束的協(xié)作路徑集。
2.根據(jù)權(quán)利要求1所述的一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于,步驟2所述的抽取規(guī)則包括以下內(nèi)容: 規(guī)則1.一個(gè)組件可以作為Pi演算中的一個(gè)進(jìn)程; 規(guī)則2.—個(gè)組件可以通過消息的接收與發(fā)送與其它組件交互,當(dāng)一個(gè)消息被傳遞時(shí),假定存在一個(gè)傳遞該消息的通道與Pi演算中的傳遞該消息的通道相對(duì)應(yīng); 規(guī)則3.在狀態(tài)圖中,狀態(tài)的遷移是由事件的觸發(fā)引起的,事件的觸發(fā)由消息的收發(fā)引起,因此一個(gè)狀態(tài)遷移可以由基本進(jìn)程表達(dá)式表達(dá);從SI狀態(tài)遷移到S2狀態(tài),由通道a接收消息X,這一遷移可以表示為a〈x> ; 規(guī)則4.在狀態(tài)圖中,沒有通過接收或發(fā)送消息而被觸發(fā)的事件所造成的狀態(tài)變遷不進(jìn)行Pi演算語義抽??; 規(guī)則5.在狀態(tài)圖中,互斥的條件分支借助Pi演算中的和式表達(dá)式表示; 規(guī)則6.在狀態(tài)圖中,由一系列狀態(tài)遷移構(gòu)成的可行流程用Pi演算的進(jìn)程表達(dá)式來表達(dá)。
3.根據(jù)權(quán)利要求1所述的一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于,步驟3所述的協(xié)作路徑是各組件協(xié)作完成某項(xiàng)任務(wù)的過程中進(jìn)行消息傳遞形成的協(xié)作消息鏈;組件間的協(xié)作路徑可以表示為,其中Hiij是所傳遞的消息,可以用一個(gè)三元組表示為Hiij= (sender, name, receiver),其中,i>0, j>0 ;sender為消息發(fā)送者的標(biāo)識(shí);name為所傳遞消息的標(biāo)識(shí)Receiver為消息接收者的標(biāo)識(shí);所述協(xié)作路徑集合可以表示為集合P={pk},其中Pk為組件間的協(xié)作路徑,k>0。
4.根據(jù)權(quán)利要求1所述的一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于,步驟4所述的時(shí)序圖用于顯示系統(tǒng)內(nèi)各個(gè)實(shí)體處于某種特定狀態(tài)的時(shí)間,以及觸發(fā)這些狀態(tài)發(fā)生變化的消息;其主要元素包括參與者、狀態(tài)、狀態(tài)線、事件與消息以及時(shí)間約束;其中, 參與者:參與者是交互所涉及的所有實(shí)體; 狀態(tài):狀態(tài)是實(shí)體在交互過程中自身的所有狀態(tài);狀態(tài)線:是用來顯示系統(tǒng)中的實(shí)體在任何特定時(shí)間下所處的狀態(tài),系統(tǒng)中實(shí)體的狀態(tài)線與系統(tǒng)中實(shí)體的某個(gè)狀態(tài)是一致的; 事件與消息:將事件與消息顯示在時(shí)序圖上,用于表示觸發(fā)實(shí)體的狀態(tài)改變; 時(shí)間約束:描述交互中的特定部分應(yīng)該花費(fèi)多長(zhǎng)時(shí)間;通常應(yīng)用于特定狀態(tài)的時(shí)間量,或者應(yīng)該花費(fèi)多長(zhǎng)時(shí)間調(diào)用及接收事件。
5.根據(jù)權(quán)利要求1所述的一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于,步驟4所述的協(xié)作路徑上的時(shí)間約束包括消息時(shí)間約束和相鄰消息間隔時(shí)間約束;消息時(shí)間約束可以表示為一個(gè)二元組STnm= (L,U),相鄰消息間隔時(shí)間約束可以表示為一個(gè)二元組ITnm= (L,U),其中,L表示時(shí)間下限,U表示時(shí)間上限,n>0, m>0 ;帶時(shí)間約束的協(xié)作路徑可以表不為:ρ--=<πι?ηΙΤηπι--2ΙΤ?2...ITij^mtij), Hitij= (sender, name, receiver, STij),其中,Hitij表示所傳遞的消息,用一個(gè)四元組表示;STU為消息時(shí)間約束JTf1為相鄰消息間隔時(shí)間約束;帶時(shí)間約束的協(xié)作路徑集可以表示為PT={ptlPt2"?ptk},其中,ptk為帶時(shí)間約束的協(xié)作路徑,k>0。
6.根據(jù)權(quán)利要求1所述的一種軟件組件系統(tǒng)組件間協(xié)作行為分析方法,其特征在于,步驟4所述抽取時(shí)間約束的步驟如下: (1)從協(xié)作路徑集P中選取一條協(xié)作路徑Pi,i>0 ; (2)對(duì)于Pi消息鏈中的每一個(gè)消息mu,在系統(tǒng)的時(shí)序圖中進(jìn)行定位,抽取其時(shí)間約束,形成消息時(shí)間約束二元組STij,生成表示所傳遞消息的四元組Hltij ; (3)對(duì)于Pi消息鏈中的任意兩個(gè)相鄰消息和mu+1,在系統(tǒng)的時(shí)序圖中進(jìn)行定位,通過時(shí)序圖給出的相關(guān)時(shí)間約束計(jì)算Hiij和mij+1之間的間隔時(shí)間約束,形成相鄰消息間隔時(shí)間約束二元組ITij ; (4)生成帶時(shí)間約束的協(xié)作路徑ITij^mtij); (5)重復(fù)執(zhí)行步驟(1)~(4),直到處理完P(guān)中的所有路徑,生成帶時(shí)間約束的協(xié)作路徑集 PT= (Pt1Pt2…ptj,k>0。
【文檔編號(hào)】G06F11/36GK103714001SQ201310717410
【公開日】2014年4月9日 申請(qǐng)日期:2013年12月23日 優(yōu)先權(quán)日:2013年12月23日
【發(fā)明者】王丹, 王曉曦, 杜金蓮, 蘇航, 龐俊彪, 趙文兵 申請(qǐng)人:北京工業(yè)大學(xué)