專利名稱:一種避免業(yè)務(wù)間出現(xiàn)非期望干擾的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種避免在電信系統(tǒng)的業(yè)務(wù)間出現(xiàn)不期望的行為(即通常所說(shuō)的干擾)的方法,它包括兩種軟件用于基本業(yè)務(wù)的基本軟件和用于附加在基本業(yè)務(wù)上的業(yè)務(wù)的附加軟件,此處附加軟件又可以分為只對(duì)基本業(yè)務(wù)進(jìn)行操作的操作軟件和對(duì)其余附加軟件進(jìn)行操作的互操作軟件。當(dāng)兩個(gè)或者多個(gè)業(yè)務(wù)同時(shí)激活時(shí),它們可能會(huì)采用相互沖突的方法,此時(shí)把可以解決沖突的互操作功能分配給它們。根據(jù)本發(fā)明,附加的業(yè)務(wù)軟件(甚至用于干擾業(yè)務(wù)的軟件)都是模塊式的,這意味著不需要發(fā)動(dòng)現(xiàn)存的軟件就能把新業(yè)務(wù)附加到電信系統(tǒng)上;只需用新的附加軟件擴(kuò)展現(xiàn)存軟件就行了。也有可能在不影響用于基本業(yè)務(wù)的軟件或用于任何其它業(yè)務(wù)的軟件的前提下移去一個(gè)或多個(gè)現(xiàn)有的業(yè)務(wù)。已知現(xiàn)有技術(shù)的描述一個(gè)當(dāng)今十分重要的需求是可以把新業(yè)務(wù)既快速又費(fèi)用合理地引入電話網(wǎng)中。附加新業(yè)務(wù)的一個(gè)主要問(wèn)題是許多新業(yè)務(wù)都有與其他電信業(yè)務(wù)不兼容的特點(diǎn)。如果在執(zhí)行一個(gè)過(guò)程,例如建立一個(gè)連接時(shí),在系統(tǒng)中同一時(shí)刻只有一項(xiàng)業(yè)務(wù)被激活,那么新業(yè)務(wù)的引入就不會(huì)出現(xiàn)問(wèn)題。但是,一般情況下用戶總是在同一時(shí)刻激活若干個(gè)業(yè)務(wù)。在目前的系統(tǒng)中,一些電話運(yùn)營(yíng)者提供了70多個(gè)不同的業(yè)務(wù),用戶可能會(huì)同時(shí)激活大量的這些業(yè)務(wù)。這意味著業(yè)務(wù)不能用它們的“純”方式來(lái)實(shí)現(xiàn),因此需要在電信系統(tǒng)軟件中包含可以消除當(dāng)兩個(gè)或多個(gè)業(yè)務(wù)同時(shí)被激活時(shí)可能產(chǎn)生的任何干擾的軟件。
傳統(tǒng)上消除干擾的軟件是通過(guò)把軟件插入碼放置在控制電信系統(tǒng)工作的軟件中的若干位置上來(lái)產(chǎn)生的。這種方法指的是“修補(bǔ)”系統(tǒng)。當(dāng)依次把新業(yè)務(wù)引入電信系統(tǒng)中時(shí),常常需要改動(dòng)部分應(yīng)用程序補(bǔ)碼并把新的程序補(bǔ)碼放到相應(yīng)的位置。至今還沒(méi)有形成使用修補(bǔ)的通用方法。軟件擴(kuò)展得越大,修補(bǔ)的費(fèi)用就變得越昂貴。
在AXE10電話系統(tǒng)(由瑞典愛立信公司生產(chǎn))的設(shè)計(jì)階段,該系統(tǒng)的設(shè)計(jì)人員為每種電話設(shè)備引入預(yù)定類型的子功能做了準(zhǔn)備,那時(shí)設(shè)計(jì)人員已判斷出這些類型的子功能在將來(lái)一定是必需的。這個(gè)準(zhǔn)備的要點(diǎn)是設(shè)計(jì)了獨(dú)立的接口,使得預(yù)定類型的未來(lái)使用的子功能可以附加到系統(tǒng)中。努力使這些己知的,準(zhǔn)備附加預(yù)定類型的子功能的接口盡可能在所涉及的子功能類型范圍內(nèi)通用。
然而,要在系統(tǒng)設(shè)計(jì)階段預(yù)見所有可想象的類型的子功能是很不容易的,這些子功能將來(lái)也許是需要的,但那時(shí)并不存在。
在電話領(lǐng)域使用的行話(patois)中,有關(guān)業(yè)務(wù)間干擾的問(wèn)題被稱作特性相互影響。下面這個(gè)取自電話領(lǐng)域的例子描述了在兩個(gè)不相同的號(hào)碼間建立連接的典型情況。兩個(gè)子功能,即“呼叫轉(zhuǎn)移”和“遇忙轉(zhuǎn)移”,陷入了沖突之中。
呼叫轉(zhuǎn)移指的是對(duì)用戶的原始電話號(hào)碼的呼叫被重新導(dǎo)向用戶指定的另一個(gè)號(hào)碼。遇忙轉(zhuǎn)移業(yè)務(wù)指的是如果被呼叫的用戶已被另一個(gè)電話呼叫占用,那么來(lái)話將轉(zhuǎn)向另一個(gè)規(guī)定的電話號(hào)碼。用戶可以預(yù)定一個(gè)或多個(gè)子功能。電話網(wǎng)的運(yùn)營(yíng)者把相應(yīng)的子功能連接到用戶。用戶可以激活他所預(yù)定的那些子功能,比如通過(guò)在他的電話拔號(hào)盤上拔數(shù)字/字符的組合來(lái)激活,這些數(shù)字或字符的組合對(duì)每一個(gè)被激活的子功能來(lái)說(shuō)是唯一的。假定有一個(gè)用戶,以下稱作B,有住宅電話號(hào)碼123456,并假定這個(gè)用戶使子功能“轉(zhuǎn)移”和“遇忙轉(zhuǎn)移”被激活。當(dāng)用戶B搬到他或她的周末別墅時(shí),比如他或她可能會(huì)希望所有打入他或她的住宅電話號(hào)碼的電話呼叫都轉(zhuǎn)向他或她的周末別墅,于是激活了“轉(zhuǎn)移”子功能并提供呼叫應(yīng)轉(zhuǎn)向的電話號(hào)碼,即本例中的周末別墅的電話號(hào)碼,比如123789。當(dāng)這個(gè)用戶離家去上班時(shí),他或她又可能會(huì)希望,比如確保盡管住宅電話可能被占用的情況下仍然可以接到期待的重要呼叫。于是用戶B激活了子功能“遇忙轉(zhuǎn)移”,并提供呼叫應(yīng)轉(zhuǎn)向的電話號(hào)碼,即本例中用戶B的辦公電話號(hào)碼232323。當(dāng)兩個(gè)子功能“轉(zhuǎn)移”和“遇忙轉(zhuǎn)移”每次只激活一個(gè)時(shí),它們以所期望的方式起作用。但是,假定用戶B同時(shí)使兩個(gè)子功能被激活。在這種情況下,當(dāng)有一個(gè)外部用戶呼叫用戶B的住宅電話號(hào)碼而遇忙時(shí),業(yè)務(wù)系統(tǒng)就無(wú)法判斷應(yīng)當(dāng)把這個(gè)呼叫重新轉(zhuǎn)向用戶的辦公地點(diǎn)還是用戶的周末別墅。
本發(fā)明的概要本發(fā)明的目標(biāo)是提供簡(jiǎn)介中已定義的那種方法,用這種方法可以避免已知技術(shù)的缺陷。這個(gè)目標(biāo)是通過(guò)后面敘述的權(quán)利要求中定義的方法來(lái)實(shí)現(xiàn)的。
附圖的簡(jiǎn)要說(shuō)明現(xiàn)在將參照附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)的描述,其中
圖1描述了一個(gè)干擾事件;圖2描述了Pascal的三角形;圖3描述了從0個(gè)元素到4個(gè)元素可能相互組合到一個(gè)集合中的幾種方法,以及這些集合間的邏輯從屬關(guān)系;圖4描述的是包括4個(gè)元素的不完全二項(xiàng)式樹;圖5描述的是包括3個(gè)元素的不完全二項(xiàng)式樹;圖6描述的是包括2個(gè)元素的不完全二項(xiàng)式樹;圖7描述的是“直接子集的”相互關(guān)系;圖8描述了一棵不完全二項(xiàng)式樹,其中的虛線點(diǎn)是“空”節(jié)點(diǎn);圖9描述了從圖8中略去了“空”節(jié)點(diǎn)的不完全二項(xiàng)式樹;圖10描述了從圖9獲得的3個(gè)干擾事件樹;圖11描述了兩棵干擾事件樹,在其中的一個(gè)干擾事件中有一個(gè)節(jié)點(diǎn)出現(xiàn)在幾個(gè)位置上;圖12描述了一棵超樹;圖13、圖14和圖15每個(gè)圖都顯示了一個(gè)可能的干擾事件的例子,以及用來(lái)確認(rèn)一個(gè)可能的干擾事件是否也是一個(gè)實(shí)際存在的干擾事件的方法論。
圖16描述了不同于圖12所示的樹的超樹,由兩個(gè)干擾事件樹組成,其中同一個(gè)操作集合在同一棵樹中出現(xiàn)了幾次,同時(shí)也在另外兩棵不同的干擾事件樹中出現(xiàn)。
圖17顯示了代表某個(gè)干擾事件的一個(gè)對(duì)象結(jié)構(gòu);圖18顯示了具有操作集合和互操作集合的干擾事件;
圖19描述了圖18所示的干擾事件所用的干擾事件樹;圖20描述了把一個(gè)操作元素ae3附加到包含操作元素ae1、ae2在內(nèi)的干擾族上,以此產(chǎn)生了三個(gè)可能的干擾事件;圖21描述的是圖20中由于附加了操作元素而產(chǎn)生的新的干擾事件;圖22描述的是按照?qǐng)D20增加操作元素而產(chǎn)生了另外的干擾事件;圖23顯示了如果發(fā)現(xiàn)圖20中的另一個(gè)可能的干擾事件是潛在的或是實(shí)際存在的干擾事件的情況下可能會(huì)產(chǎn)生的干擾事件樹;圖24從原理上描述了一個(gè)在實(shí)現(xiàn)本發(fā)明時(shí),使用了呼叫連接和業(yè)務(wù)處理兩個(gè)過(guò)程的電話設(shè)備;圖25描述了與圖24中的干擾族呼叫連接有關(guān)的二項(xiàng)式樹,以及分析此干擾族中的操作集合后得到的互操作元素;圖26參考圖25,并描述了所得到的用戶干擾族呼叫連接的超樹;圖27描述了與圖24中的業(yè)務(wù)處理過(guò)程有關(guān)的二項(xiàng)式樹,以及分析此干擾族中的操作集合之后得到的互操作元素;圖28參考圖27并描述了所得到的用于干擾族業(yè)務(wù)處理的超樹;圖29描述了圖26所示的已把按照本發(fā)明設(shè)計(jì)的軟件附加到其上的電話設(shè)備;圖30描述了一個(gè)包含干擾事件樹的超樹的例子;圖31描述了圖30中的移走了操作元素ae2所代表的業(yè)務(wù)后的超樹;圖32描述了包含3個(gè)操作元素的干擾族所用的干擾事件樹;圖33描述了圖32中用當(dāng)把第4個(gè)操作元素增加到圖32中的干擾族時(shí)可能會(huì)出現(xiàn)的干擾事件擴(kuò)充后的干擾事件樹;圖34描述了分析圖33中的可能干擾事件后得到的干擾事件樹。實(shí)現(xiàn)本發(fā)明的最佳方法理論背景干擾是用來(lái)表示兩個(gè)或者兩個(gè)以上的現(xiàn)象同時(shí)在同一媒體(參考波設(shè)備)中作用時(shí)出現(xiàn)的現(xiàn)象的通用術(shù)語(yǔ)。本文使用的干擾術(shù)語(yǔ)指的是具有相互依賴關(guān)系的兩個(gè)或兩個(gè)以上的功能,同一時(shí)刻在同一個(gè)過(guò)程中出現(xiàn)時(shí)可能出現(xiàn)的不期望的現(xiàn)象。
目前存在著很多不同類型的電信系統(tǒng)。例如,典型的電信系統(tǒng)包含有電話、寬帶業(yè)務(wù)、移動(dòng)電話、個(gè)人尋呼、圖文、數(shù)據(jù)用戶電報(bào)、分組交換數(shù)據(jù)網(wǎng)、電路交換數(shù)據(jù)網(wǎng)、局域網(wǎng)(LAN)等等。
在具體的電信系統(tǒng)中運(yùn)行著不同的過(guò)程。過(guò)程可以按并行的方式與/或依次執(zhí)行。例如,電話系統(tǒng)中的過(guò)程包括呼叫建立、呼叫處理、通過(guò)選擇器和交換機(jī)建立路由等。下文中過(guò)程指的是描述以狀態(tài)和外部激勵(lì)表示的設(shè)備功能的狀態(tài)機(jī)。在這個(gè)狀態(tài)機(jī)模型中建立了一個(gè)表,描述的是狀態(tài)和外部激勵(lì)的每一種組合情況。此表也為每個(gè)組合顯示了狀態(tài)機(jī)響應(yīng)有關(guān)的外部激勵(lì)時(shí)應(yīng)當(dāng)轉(zhuǎn)移到的新狀態(tài)。有時(shí),外部激勵(lì)和狀態(tài)的組合并不會(huì)引起狀態(tài)變化,如果打算把該狀態(tài)機(jī)用作模型來(lái)描述與本發(fā)明有關(guān)的類型的系統(tǒng)中的過(guò)程時(shí),除了許多其它東西外還必須把狀態(tài)機(jī)為每個(gè)外部激勵(lì)和狀態(tài)的組合發(fā)出的輸出信號(hào)添加到模型上。這種模型只是實(shí)現(xiàn)的簡(jiǎn)化模型,比如,它不對(duì)那些實(shí)現(xiàn)狀態(tài)變化的過(guò)程進(jìn)行描述。
在不同的市場(chǎng)上存在著包含不同的業(yè)務(wù)裝置的電信系統(tǒng)而且存在要求能把新功能添加到電信系統(tǒng)中的需要,解決與此現(xiàn)狀有關(guān)的問(wèn)題正是本發(fā)明的目標(biāo)。更具體一點(diǎn)說(shuō),上述的問(wèn)題涉及的是把業(yè)務(wù)添加到電信系統(tǒng)中和把系統(tǒng)中已經(jīng)設(shè)計(jì)好的業(yè)務(wù)從系統(tǒng)中移去的能力,以及使全新的業(yè)務(wù)能在現(xiàn)有電信系統(tǒng)中建立起來(lái)的能力。
下文中可以添加到電信系統(tǒng)中和可以從電信系統(tǒng)中移去的業(yè)務(wù)被稱作附加業(yè)務(wù)。
由于附加業(yè)務(wù)使得原來(lái)不存在的新的子功能可以添加到電信系統(tǒng)中,所以電信系統(tǒng)常常很復(fù)雜。
用到下述定義干擾族是一個(gè)可以看作是狀態(tài)機(jī)的過(guò)程的名字。本發(fā)明的目的不是去定義某個(gè)電信應(yīng)用中的某個(gè)干擾族。本發(fā)明不依賴于干擾族的定義方式。
假設(shè)下面的條件成立干擾只存在于那些被定義為干擾族的電信系統(tǒng)的子集中。
根據(jù)本發(fā)明,干擾構(gòu)成了干擾事件。以一個(gè)操作元素的干擾族來(lái)表示那些當(dāng)組合到一起時(shí)會(huì)產(chǎn)生干擾的業(yè)務(wù)。操作元素可能是有效的也可能是無(wú)效的,比如取決于用戶是否擁有某項(xiàng)業(yè)務(wù),也就是一個(gè)操作元素是否被啟動(dòng)。操作元素被定義為表示隨機(jī)動(dòng)作(子功能)的特征,當(dāng)此隨機(jī)動(dòng)作與其它的一個(gè)或一個(gè)以上的動(dòng)作(子功能)同時(shí)被執(zhí)行時(shí)會(huì)潛在地引起干擾。兩個(gè)或者多個(gè)有效元素的組合是一個(gè)潛在干擾事件。
因此,兩個(gè)或者兩個(gè)以上操作元素的所有集合都可能會(huì)產(chǎn)生干擾事件。一個(gè)干擾族中干擾事件的最大數(shù)目nmax由下列等式計(jì)算nmax=2nac-(nae+1)---(1)]]>其中nae是操作元素的數(shù)目。
因此,決定干擾事件有效與否的操作元素的某個(gè)集合屬于每個(gè)干擾事件。此集合指的是操作集合。干擾族中的有效操作元素可以明確地指出干擾族中的哪些干擾事件是有效的?;ゲ僮髟氐募蠈儆诿總€(gè)干擾事件。每個(gè)互操作元素都表示一個(gè)具體的由于干擾事件有效應(yīng)當(dāng)執(zhí)行或者完成的互操作。通常這個(gè)互操作是以包含消除干擾所需的邏輯在內(nèi)的軟件形式來(lái)實(shí)現(xiàn)?;ゲ僮髟乇硎居捎诟蓴_事件被激活而進(jìn)行的隨機(jī)活動(dòng)(互操作)。由于干擾事件而存在的互操作元素的集合稱作互操作集合。同一個(gè)互操作元素可以出現(xiàn)在任何數(shù)量的互操作集合中。
圖1描述了一個(gè)具有操作集合2和互操作集合3的干擾事件1。操作集合包含若干個(gè)操作元素ae?;ゲ僮骷习舾蓚€(gè)互操作元素iae。如前所述,操作元素可能是有效的或無(wú)效的。為了使干擾事件有效,必須滿足兩條準(zhǔn)則(1)干擾事件的操作集合的所有操作元素都是有效的;以及(2)干擾事件的操作集合不是另一個(gè)有效的干擾事件的操作集合的子集。
因此,兩個(gè)或兩個(gè)以上操作元素的所有組合都是某些干擾事件的可能操作集合。如圖2所示,Pascal三角形可適合于用特定數(shù)量的輸入操作元素來(lái)確定可能的或潛在的干擾事件的數(shù)目。當(dāng)把圖2中一個(gè)水平行的系數(shù)相加時(shí),就得到了具有相應(yīng)于行數(shù)的若干操作元素的干擾族中所能找到的可能干擾事件的總數(shù)。假定水平行是從0開始從上至下依次遞增。沿斜線延伸至右邊的那些行表示的是包含預(yù)定數(shù)目的操作元素的可能干擾事件的數(shù)目。預(yù)定數(shù)量的操作元素可以形成等于該預(yù)定數(shù)目的等級(jí)的組合。位于水平行和斜行交叉點(diǎn)處的系數(shù)表示的是在一個(gè)含有相應(yīng)于行數(shù)的若干個(gè)操作元素的干擾族中給定的等級(jí)的可能干擾事件的數(shù)目。眾所周知,Pascal三個(gè)角形揭示的是從n個(gè)元素中選取k個(gè)元素的組合的可能方法的數(shù)目。最左邊的斜行中的1顯示的是等級(jí)0的組合的數(shù)目,也就是沒(méi)有(0)操作元素ae的組合的數(shù)目,沒(méi)有一個(gè)操作元素給出一種組合,因此只有一個(gè)集合即空集??占硪?1)種組合,這就是此斜行中的那些1的來(lái)由。緊接的下面的水平行顯示的是等級(jí)1的組合的個(gè)數(shù),那所有包含一個(gè)元素的組合的數(shù)目。如果操作集合包含一個(gè)操作元素,那么得到一種組合,這個(gè)組合就是第1行中右邊的那個(gè)一(1)。如果操作集合包含兩個(gè)操作元素,那么可以找到兩種組合,每種組合包含一個(gè)元素,由第3行中的系數(shù)2表示。如果操作集合包含3個(gè)元素,那么有3種組合,每種組合含有一個(gè)元素,這由第3行左邊的系數(shù)3表示。由于沒(méi)有元素時(shí)不可能出現(xiàn)干擾,因此排除全1的斜行,因?yàn)檫@一行是沒(méi)有意義的。下一個(gè)斜行1,2,3,4,5…10也可以排除掉,因?yàn)橹话粋€(gè)操作元素的操作集合中不可能出現(xiàn)互操作。圖2中這兩個(gè)斜行被隱蔽了。下一行(顯示了等級(jí)2組合的數(shù)目)顯示的是兩個(gè)操作元素的組合的數(shù)目。在這個(gè)斜行和第2行的交叉點(diǎn)處的系數(shù)1表示在由兩個(gè)互操作元素組成的組合中存在一個(gè)可能引起干擾的兩個(gè)元素的一個(gè)(1)組合。同樣,這也表示了一個(gè)可以想到的干擾事件,在長(zhǎng)方形框(4)中用一個(gè)(1)標(biāo)記。如果操作集合由3個(gè)元素組成,即第3行(從頭開始數(shù)的第4個(gè)水平行),就會(huì)找到3個(gè)組合,每個(gè)組合由2個(gè)可能引起干擾的元素組成,還可以找到一個(gè)含有3個(gè)元素(即操作集合中的所有元素)的組合,這些元素可能會(huì)引起干擾。后兩個(gè)系數(shù)的和給出了可能干擾事件的最大數(shù)目,本例中為4個(gè)事件,這可由圖3的長(zhǎng)方形框4中的數(shù)字4來(lái)表示。
如果操作集合包含有4個(gè)操作元素,相應(yīng)于第4行(即從頂端算起的第5個(gè)水平行),那么存在6個(gè)分別含有2個(gè)元素的組合、4個(gè)分別含有一個(gè)元素的組合以及1個(gè)含有4個(gè)元素的組合,也就是說(shuō)總共存在11個(gè)可能的干擾事件。從上面可以明顯看出,干擾事件的數(shù)目按指數(shù)規(guī)律遞增。為了闡述互操作的問(wèn)題,再參考一下那個(gè)包含70個(gè)不同業(yè)務(wù)的電話網(wǎng)的例子。70個(gè)業(yè)務(wù)間可能的互操作的理論數(shù)目將大得難以置信。由于業(yè)務(wù)和引入新業(yè)務(wù)的可能性已經(jīng)成為具有競(jìng)爭(zhēng)性的特征,必須要求創(chuàng)造新工具和新方法,借助于這些工具和方法可以在電信系統(tǒng)中獲得穩(wěn)定的結(jié)構(gòu)。在這一點(diǎn)上,穩(wěn)定指的是,當(dāng)把一個(gè)新業(yè)務(wù)添加到系統(tǒng)中或者把一個(gè)現(xiàn)有業(yè)務(wù)從系統(tǒng)中刪除時(shí)不需要改變現(xiàn)有的業(yè)務(wù)。當(dāng)添加新業(yè)務(wù)到系統(tǒng)中或者從系統(tǒng)中刪除現(xiàn)有業(yè)務(wù)時(shí),甚至當(dāng)有關(guān)的業(yè)務(wù)與電信系統(tǒng)中現(xiàn)存的業(yè)務(wù)互相作用時(shí),其余的業(yè)務(wù)也不應(yīng)受影向。
圖3描述了一種對(duì)圖2所示的Pasal三角形中的一個(gè)水平行進(jìn)行圖解的方法。圖3描述的是從上面數(shù)起的第5個(gè)水平行,即包含系數(shù)1,4,6,4,1的那一行。圖中描述的結(jié)構(gòu)稱為二項(xiàng)式樹,顯示了0到4個(gè)元素可以組合成一個(gè)集合的方式的數(shù)目。樹結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)代表操作元素ae的某種組合。集合中的操作元素是ae1、ae2、ae3和ae4。
圖4描述的是只畫那些可能高于干擾事件的操作集合時(shí)得到的二項(xiàng)式樹。因此圖3中所示的二項(xiàng)式樹的兩個(gè)最低級(jí)被刪掉了,圖4中余下的二項(xiàng)式樹就是申請(qǐng)人選擇的所謂的“不完全”二項(xiàng)式樹。圖4顯示出那些會(huì)引起干擾事件的操作集合可以互為子集,下層節(jié)點(diǎn)的集合是上層節(jié)點(diǎn)集合的子集。不完全二項(xiàng)式樹中的基本元素是那些包含兩個(gè)操作元素的集合,也就是在圖4中最底層的6個(gè)節(jié)點(diǎn)。這是因?yàn)橹辽傩枰獌蓚€(gè)操作才會(huì)產(chǎn)生干擾。圖4所示的不完全二項(xiàng)式樹與4個(gè)元素間的可能互操作的數(shù)目有關(guān)。圖5顯示了與3個(gè)元素間的可能互操作的數(shù)目有關(guān)的不完全二項(xiàng)式樹。圖6顯示了與2個(gè)元素間可能互操作的數(shù)目有關(guān)的不完全二項(xiàng)式樹。
圖7描述的是申請(qǐng)人選擇來(lái)叫做“直接子集”的一個(gè)術(shù)語(yǔ)。圖7中的箭頭5,6和7描述了“直接子集”間的相互關(guān)系。包含子集{ae2,ae4}的節(jié)點(diǎn)8是節(jié)點(diǎn)9中的集合{ae1,ae2,ae4}的一個(gè)直接子集。同樣地,節(jié)點(diǎn)9的子集{ae1,ae2,ae4}是節(jié)點(diǎn)10的集合{ae1,ae2,ae3,ae4}的一個(gè)直接子集,如箭頭6所描述的。節(jié)點(diǎn)8的集合{ae2,ae4}是節(jié)點(diǎn)10中的較大集合{ae1,ae2,ae3,ae4}的子集,但是由于集合{ae2,ae4}也是集合{ae1,ae2,ae4}的一個(gè)子集,因此一般認(rèn)為集合{ae2,ae4}是節(jié)點(diǎn)9中較小集合{ae1,ae2,ae4}的直接子集。虛線箭頭10的目的是指示節(jié)點(diǎn)8中的集合不是節(jié)點(diǎn)9中較大集合的直接子集。“直接子集”指的是一個(gè)直接位于另一個(gè)節(jié)點(diǎn)之下的節(jié)點(diǎn)與那個(gè)節(jié)點(diǎn)間的相互關(guān)系。
干擾事件樹不完全二項(xiàng)式樹是一種用圖形表示一個(gè)干擾事件族中可以找到的所有可能的操作集合的方法。如圖1所示,每個(gè)干擾事件都可以找到一個(gè)特定的操作集合。這意味著二項(xiàng)式樹的節(jié)點(diǎn)也代表了所有理論上可能的干擾事件,即潛在的干擾事件。當(dāng)把新的操作元素添加到干擾族中時(shí),潛在干擾事件的數(shù)目將按指數(shù)規(guī)律遞增。參照前面敘述的等式1。當(dāng)把一個(gè)新的操作元素添加到干擾族中時(shí),通常并不意味著所有新的操作組合(操作集合)中的每一個(gè)都會(huì)引起相應(yīng)唯一的行為。以下將給出“唯一行為”定義的規(guī)范化解釋。此時(shí),假設(shè)當(dāng)把一個(gè)新的操作元素添加到干擾事件族中時(shí)并非所有組合都會(huì)受影響。這指的是二項(xiàng)式樹中的一些節(jié)點(diǎn)。即一些操作集合將與干擾事件無(wú)關(guān),一般認(rèn)為這樣的節(jié)點(diǎn)屬于“空”干擾事件。下文中這些節(jié)點(diǎn)被稱作“空”節(jié)點(diǎn)。
圖8與圖4有關(guān),并且描述的是用虛線表示的幾個(gè)空節(jié)點(diǎn)11,12,13,14。一般認(rèn)為用虛線框起的節(jié)點(diǎn)屬于“空干擾事件”。從干擾事件這方面來(lái)看,空節(jié)點(diǎn)沒(méi)有任何意義,因此可以在用圖形表示干擾事件族中的操作集合時(shí)把它們省略掉,于是就得到圖9所示的那種樹結(jié)構(gòu)。因此圖9所示的節(jié)點(diǎn)表示所有引起干擾的組合。所以圖9是圖8的剩余部分,一般認(rèn)為非上層集合的直接子集的操作集合可以構(gòu)成申請(qǐng)人所謂的干擾事件樹的根。如果位于二項(xiàng)式樹中的某個(gè)節(jié)點(diǎn)之上的所有節(jié)點(diǎn)都是“空”的話,那么這個(gè)節(jié)點(diǎn)也是一個(gè)干擾事件樹的根。所以圖9中每個(gè)節(jié)點(diǎn)15,16,17都分別是它對(duì)應(yīng)樹的根。這些新的樹被稱作干擾事件樹,如圖10所示。因此一個(gè)干擾事件就是一個(gè)事件群,其中為了清除不期望的干擾必須采用一些措施。關(guān)于以上給出的根的定義,一般認(rèn)為其操作集合不是任何其它干擾事件的子集的直接子集的干擾事件就是干擾事件根。所以當(dāng)一個(gè)干擾事件的操作集合不包含為其它干擾事件的操作集合的子集時(shí),它就是一個(gè)干擾事件根。
干擾事件間相互關(guān)系的圖形表示并不構(gòu)成本發(fā)明的任何部分,但它是描述這些事件的一種方法。當(dāng)然,采用其他類型的表示方法也是可以的。
圖10中的干擾事件樹分別標(biāo)記為18,19和20。為了描述出相同節(jié)點(diǎn)可以在一棵以上的樹中出現(xiàn),申請(qǐng)人選擇這種方法來(lái)圖形化地表示干擾事件樹。參看節(jié)點(diǎn)21,它包含操作元素{ae1,ae3}出現(xiàn)在兩棵樹中。節(jié)點(diǎn){ae1,ae3}是兩個(gè)節(jié)點(diǎn){ae1,ae2,ae3}和{ae1,ae3,ae4}的直接子集,可以交替地以具有兩重“直接子集”關(guān)系的節(jié)點(diǎn)出現(xiàn)(用兩個(gè)破折號(hào)圖形化表示)。一般說(shuō)來(lái),在所選圖形表示的情況下,同一個(gè)節(jié)點(diǎn)可以在若干棵不同的干擾事件樹中出現(xiàn)。
圖11顯示了兩棵與前面的例子無(wú)關(guān)的干擾事件樹22A和22B。本圖的目的是為了說(shuō)明一個(gè)節(jié)點(diǎn),即本例中也包含操作元素{ae1,ae3}的節(jié)點(diǎn)23可以在同一棵干擾事件樹中出現(xiàn)多次,即本例中的干擾事件樹21。
總之,同一個(gè)節(jié)點(diǎn)可以出現(xiàn)在幾棵不同的干擾事件樹中,也可以在同一棵樹中出現(xiàn)幾次。這種情況出現(xiàn)的原因是由于所選的圖形化表示,但是,這種圖形化表示不構(gòu)成本發(fā)明的一部分。
根據(jù)本發(fā)明,把所有屬于干擾族的干擾事件樹都收集到一起放在申請(qǐng)人選擇來(lái)稱作超根的下面,就得到圖12所示的樹結(jié)構(gòu)。不同干擾事件樹間的關(guān)系都是用這種方法來(lái)創(chuàng)建的,超根標(biāo)記為24。圖12與圖10有關(guān)。按這種方法,干擾族中的所有節(jié)點(diǎn)都將位于超根之下,由此得到的樹稱作超樹。如前參照?qǐng)D12和圖13所述,同一個(gè)節(jié)點(diǎn)可以在不同的干擾事件樹中出現(xiàn)(圖10),同一個(gè)節(jié)點(diǎn)也可以在同一棵干擾事件樹中出現(xiàn)多次(圖11)。與已提到的族無(wú)關(guān),這種組成干擾事件樹中的干擾事件的方法適用于每個(gè)干擾族。干擾事件樹中的節(jié)點(diǎn)與一個(gè)上層節(jié)點(diǎn)總存在“直接子集”的關(guān)系,除非此節(jié)點(diǎn)表示的是干擾事件的根。超根是所有干擾事件根的根,它們本身不是干擾事件,僅是圖形化對(duì)象。
在實(shí)際應(yīng)用中超樹用來(lái)判斷當(dāng)一個(gè)已知用戶激活給定數(shù)量的業(yè)務(wù)時(shí),應(yīng)該看到哪一個(gè)互操作邏輯。超樹用來(lái)搜索屬于目前用戶已經(jīng)啟動(dòng)的業(yè)務(wù)的互操作軟件和應(yīng)當(dāng)添加到上述過(guò)程所需的基本軟件中的互操作軟件。比如,如果用戶已啟動(dòng)了兩項(xiàng)業(yè)務(wù),其中一項(xiàng)由圖12中的操作元素ae2表示,另一項(xiàng)由圖12中的操作元素ae3表示,那么顯然屬于包含操作集合{ae2,ae3}的那個(gè)干擾事件的互操作邏輯應(yīng)當(dāng)添加到基本軟件中。參考圖1,它顯示出每個(gè)干擾事件都可以找到一個(gè)特定的操作集合和一個(gè)特定的互操作集合。舉例說(shuō)明,當(dāng)圖12中的操作集合{ae2,ae3}有效時(shí),代表這個(gè)干擾事件{ae2,ae3}的互操作集合的互操作軟件應(yīng)添加到基本軟件中。以下將對(duì)此作更詳細(xì)的描述。對(duì)所有用戶或使用者以及對(duì)用戶可能啟動(dòng)的所有不同系列的業(yè)務(wù)來(lái)說(shuō),超樹都是適用的。當(dāng)把新業(yè)務(wù)引進(jìn)系統(tǒng)時(shí),必須檢查是否所有附加的,新的組合都代表一個(gè)干擾事件。如果發(fā)現(xiàn)存在新的干擾事件時(shí),也會(huì)存在新的干擾事件樹,并且/或者盡管不需要改變現(xiàn)有的樹結(jié)構(gòu),但要把新枝干增加到現(xiàn)有的干擾事件樹上。干擾事件一空干擾事件現(xiàn)在將更詳細(xì)地描述判定一個(gè)已知操作集合是屬于干擾事件還是空干擾事件的方法。對(duì)一個(gè)操作元素的組合來(lái)說(shuō),為了引起一個(gè)干擾事件,所謂的被審查的干擾事件,這個(gè)組合的操作集合必須不含有屬于會(huì)共同發(fā)生與被審查的干擾事件相同行為的其他干擾事件的直接子集。這也就是已知的操作元素的組合引起干擾事件所需的“唯一行為”的定義。根據(jù)這個(gè)定義,一般認(rèn)為(2)如果操作元素的集合A指的是進(jìn)行互操作集合Q,那么當(dāng)A的所有直接子集Bj(j=1,2,…5)都屬于其互操作集合Rj結(jié)構(gòu)為Q=Uj=1j=tRj]]>的干擾事件時(shí),集合A屬于新的干擾事件。
表達(dá)式(2)闡明了下列事實(shí)為了使集合A屬于一個(gè)干擾事件,互操作集合Q必須區(qū)別于互操作集合Rj的并集。因此,干擾事件指的是其互操作集合具有唯一行為的操作元素的集合,唯一行為即不同于那些直接子集的互操作集合存在于該集合的行為的并集的行為。(這里不是簡(jiǎn)單的組合)(3)更進(jìn)一步的要求是Rm⌒Rn≠0 dar m,n∈j och m≠n(即所有子集Rj是不相交的)表達(dá)式(3)闡明了下列事實(shí)互操作集合Rj間的交集應(yīng)為零,即各個(gè)互操作集合不會(huì)有任何共同的互操作元素。對(duì)本發(fā)明的應(yīng)用來(lái)說(shuō),表達(dá)式(3)是不必要的。
圖13,圖14和圖15具體說(shuō)明了上述理論。圖13描述了一個(gè)可能的干擾事件25和3個(gè)干擾事件26,27,28??赡艿母蓴_事件25含有一個(gè)操作集合A和一個(gè)互操作集合Q,每個(gè)集合包含各自的示例的操作元素和互操作元素。類似地,每個(gè)干擾事件26、27、28都包含各自的操作集合B1,B2和B3,每個(gè)操作集合含有上述的操作元素以及各自表示示例的互操作元素的互操作集合R1,R2和R3。操作集合B1、B2和B3中的每個(gè)都是可能的干擾事件的操作集合A的直接子集。這個(gè)關(guān)系用實(shí)線箭頭來(lái)表示。然而,可能的干擾事件25并不是一個(gè)干擾事件,這是因?yàn)楦鶕?jù)表達(dá)式(2)互操作集合R1,R2和R3與互操作集合Q相等,并且根據(jù)表達(dá)式(3)互操作集合R1、R2和R3是不相交的。
圖14舉例說(shuō)明操作集合A的另一個(gè)可能的干擾事件29,其中3個(gè)操作集合B1、B2和B3是操作集合A的直接子集。B1屬于含有互操作集合R1的第一個(gè)干擾事件30。B2屬于含有互操作集合R2的第二個(gè)干擾事件31。B3屬于含有互操作集合R3的干擾事件32。圖14所示的集合中的元素與圖13所示的那些集合的元素不相同。這種情況下,根據(jù)表達(dá)式(2),可能的干擾事件29是一個(gè)實(shí)際存在的干擾事件,因?yàn)镽1,R2和R3的并集不等于Q。為了消除操作集合A中操作元素間的干擾,需要有一個(gè)區(qū)別于干擾事件30,31和32中的那些過(guò)程的總和的過(guò)程。
圖15舉例說(shuō)明操作集合A的另一個(gè)可能的干擾事件33,其中3個(gè)干擾事件34,35和36中的操作集合B1,B2和B3是操作集合A的直接子集。本例中,可能的干擾事件33不是一個(gè)干擾事件,這是因?yàn)榛ゲ僮骷蟁1、R2和R3不是不相交的;因?yàn)椴粷M足表達(dá)式(3)。換句話說(shuō),是因?yàn)榛ゲ僮髟豬ae6同時(shí)出現(xiàn)在R2和R3中。
結(jié)構(gòu)我們已經(jīng)了解哪些操作元素是有效的,并了解可以為一個(gè)單個(gè)的執(zhí)行事件周正確的附加軟件來(lái)構(gòu)成超樹干擾族,即過(guò)程。超樹可用于這種分析方法,對(duì)它來(lái)說(shuō)有效的操作元素就是輸入數(shù)據(jù)。參考圖8,由于發(fā)現(xiàn)了空干擾事件,在同一棵超樹中若干個(gè)干擾事件可能會(huì)同時(shí)有效。但是,一個(gè)干擾事件的操作集合是另一個(gè)有效的干擾事件的操作集合的子集時(shí),它不能是有效的。由于某個(gè)干擾事件的操作集合可以在超樹的若干個(gè)節(jié)點(diǎn)中出現(xiàn),因此為了使這個(gè)干擾事件有效,必須使這些操作集合出現(xiàn)于其中的所有節(jié)點(diǎn)都是“有效”的。
圖16和圖17描述了確認(rèn)一個(gè)干擾事件是否有效的可能性。圖16舉例說(shuō)明一棵由兩棵干擾事件樹38,39以及一個(gè)超根40組成的超樹。圖16與前面所述的任何一張圖都無(wú)關(guān)。如圖16所示,節(jié)點(diǎn)ae1,ae3在干擾事件樹38中出現(xiàn)兩次,并在干擾事件樹39中出現(xiàn)一次。
圖17顯示了含有圖16中的操作集合{ae1,ae3}的節(jié)點(diǎn)。這些節(jié)點(diǎn)由一個(gè)對(duì)象41表示。此對(duì)象包含兩個(gè)屬性42和43。屬性42表示的是超樹中操作集合{ae1,ae3}出現(xiàn)的節(jié)點(diǎn)的數(shù)目。對(duì)超樹中的這個(gè)操作集合來(lái)說(shuō),此信息是靜態(tài)信息。當(dāng)使用超樹時(shí)屬性43是有用的,每次分析結(jié)果指示操作集合有效,該屬性就計(jì)數(shù)到1。因此,屬性43是動(dòng)態(tài)的,每次分析期間該屬性的值都有可能發(fā)生變化。分析完超樹之后,上述所有的動(dòng)態(tài)屬性都設(shè)置為0。如果分析期間屬性43的計(jì)數(shù)值達(dá)到與屬性42所顯示的值相等的話,該操作集合對(duì)應(yīng)的干擾事件就是有效的。根據(jù)圖16所示的例子,靜態(tài)屬性42應(yīng)設(shè)置為3,因?yàn)樵诔瑯渲羞@個(gè)操作集合在三個(gè)節(jié)點(diǎn)中出現(xiàn)。
尋找正確的互操作軟件的分析方法范例以下的3個(gè)例子參照?qǐng)D16和圖17。
范例1在本例中,假設(shè)一個(gè)用戶激活了ae1,ae3。如下所述,把輸入數(shù)據(jù)ae1,ae3送到分析單元上。分析的目的是尋找將在過(guò)程(用干擾族表示)中被激活的特例所特有的互操作軟件。首先確定用戶是否激活了ae1、ae2、ae3、ae4、ae5(即超樹中干擾事件樹38的根)?;卮鹗菦](méi)有激活。然后,分析單元確定用戶是否激活了ae1、ae2、ae3。回答是沒(méi)有激活。分析單元接著確定用戶是否激活了ae2、ae3?;卮疬€是沒(méi)有激活。于是分析單元確定用戶是否激活了ae1、ae3?;卮鹗强隙ǖ模谑菍傩?3從0跳到1?,F(xiàn)在分析繼續(xù)核查用戶是否激活了ae1、ae3,ae4。回答是否定的。于是分析單元確定ae1,ae3是否有效,回答肯定。此時(shí)屬性43從1跳到2?,F(xiàn)在該確定用戶是否激活ae1,ae4了。回答是否定的。到此審查完了第一棵干擾事件樹38,剩下的事是審查干擾事件樹39,分析單元確定用戶是否激活了ae1,ae3,ae6(干擾事件樹39的根)?;卮鹗菦](méi)有激活。最后,分析單元確定用戶是否激活了ae1、ae3,回答是激活了,于是屬性43從2跳到3?,F(xiàn)在屬性43與屬性42相等。因此得出以下結(jié)論ae1,ae3是有效的干擾事件且應(yīng)當(dāng)把與此干擾事件有關(guān)的消除沖突的互操作軟件添加到基本軟件中,其中的軟件由此干擾事件的互操作元素來(lái)表示。
當(dāng)然,檢查超樹時(shí)所依據(jù)的算法并不必是上述的算法,并且可以采用其它算法。可以優(yōu)化算法使分析更有效。
范例2本例中,假設(shè)一個(gè)用戶激活了ae1,ae2和ae3,因此把a(bǔ)e1,ae2和ae3被送到分析單元上。包含操作集合ae1,ae2和ae3的節(jié)點(diǎn)的對(duì)象41具有靜態(tài)屬性,設(shè)置為1,因?yàn)榇斯?jié)點(diǎn)在超樹中只出現(xiàn)一次。首先確定用戶是否激活了ae1,ae2,ae3,ae4,ae5(即超樹中干擾事件38的根)?;卮鹗欠穸ǖ?。分析單元接著確定用戶是否激活了ae1,ae2,ae3,回答是肯定的。現(xiàn)在動(dòng)態(tài)屬性跳到1,變得與靜態(tài)屬性值相等了,因此可以得出包含操作集合ae1,ae2和ae3的干擾事件有效的結(jié)論。分析單元不再繼續(xù)檢查下層節(jié)點(diǎn)(表示操作集合ae1,ae2和ae3的子集)。然后,分析單元確定用戶是否激活了ae1,ae3,ae4?;卮鹗欠穸ǖ?。然后,分析單元接著確定用戶是否激活了ae1,ae3?;卮鹗强隙ǖ?。于是表示該節(jié)點(diǎn)(ae1,ae3)的對(duì)象中的動(dòng)態(tài)屬性從0跳到1。分析單元接著確定ae1,ae4是否激活?;卮鹗菦](méi)有。然后分析單元檢測(cè)用戶是否激活了ae1,ae3,ae6?;卮鹗菦](méi)有激活,接著分析單元測(cè)試ae1,ae3是否激活?;卮鹗强隙ǖ?,于是表示該節(jié)點(diǎn)(ae1,ae3)的對(duì)象中的動(dòng)態(tài)屬性從1跳到2。到此分析完成。已發(fā)現(xiàn)含有操作集合ae1,ae2,ae3的干擾事件是有效的。含有操作集合ae1,ae3的干擾事件不是有效的,因?yàn)樵摴?jié)點(diǎn)的動(dòng)態(tài)屬性僅跳到2(而靜態(tài)屬性是3)。
范例3
本例中,假定一個(gè)用戶激活了操作元素ae1,ae3,ae6。這些元素作為輸入數(shù)據(jù)被送到分析單元上。分析單元首次在超樹中遇到組合ae1,ae3,ae5時(shí)停止對(duì)超樹的檢查,于是發(fā)現(xiàn)含有操作集合ae1,ae3,ae6的干擾事件是有效的,因此不再分析干擾事件樹39中的子集ae1,ae3。在檢查干擾事件樹38時(shí),首次檢查到包含操作集合ae1,ae3的節(jié)點(diǎn)時(shí),動(dòng)態(tài)屬性從0跳到1,第二次檢查到含有操作集合ae1,ae3的節(jié)點(diǎn)時(shí),動(dòng)態(tài)屬性從1跳到2,但是由于沒(méi)有檢查到干擾事件樹39中含有操作集合ae1,ae3的那個(gè)節(jié)點(diǎn),因此動(dòng)態(tài)屬性決不會(huì)跳到3。所以包含操作集合ae1,ae3的干擾事件是無(wú)效的。
一種生成干擾事件樹的方法圖18描述了一個(gè)在一個(gè)干擾事件A中含有兩個(gè)操作元素ae1,ae2的操作集合。當(dāng)兩個(gè)操作元素都有效時(shí),應(yīng)執(zhí)行互操作iae1。由于在本例中干擾事件樹只有一個(gè)節(jié)點(diǎn),所以該節(jié)點(diǎn)也是干擾事件樹中的根。該干擾事件如圖19所示。
現(xiàn)在把另一個(gè)操作元素ae3添加到干擾族中。這樣得到了3個(gè)附加的操作集合。于是可以找到3個(gè)另外的可能干擾事件。為了顯露它們是否是實(shí)際存在的干擾事件,必須檢查每一個(gè)附加的操作集合。首先檢查操作集合45。如果檢查結(jié)果顯示必須采取措施來(lái)消除操作元素ae1,ae3之間的可能干擾,將執(zhí)行一個(gè)互操作。比如,這個(gè)互操作可以由互操作元素iae2來(lái)表示。如圖21,此可能的干擾事件同時(shí)也是一個(gè)實(shí)際存在的干擾事件。如果包含組合ae2,ae3的操作集合不需要執(zhí)行任何操作,那么有可能含有操作集合44的干擾事件是一個(gè)“空”干擾事件。如果含有元素ae1,ae2和ae3的操作集合46成為由iae1和iae2表示的互操作被執(zhí)行的原因的話,含有操作集合46的干擾事件也成為一個(gè)“空”干擾事件,原因是不滿足前面所述的表達(dá)式(2)和(3)中的條件?,F(xiàn)在干擾族中含有兩個(gè)干擾事件,如圖22所示。這些也是干擾事件根,因?yàn)楦蓴_事件中沒(méi)有一個(gè)操作集合是其它干擾事件的操作集合的子集。因此圖22只顯示了兩個(gè)干擾事件樹。
換一種說(shuō)法,如果圖20中含有組合ae1,ae2和ae3的操作集合46導(dǎo)致了其他互操作,比如iae3被執(zhí)行,或者根本沒(méi)有執(zhí)行任何操作,那么這意味著表達(dá)式(2)和表達(dá)式(3)(適用時(shí))中的條件滿足了,也意味著這時(shí)此操作集合變成一個(gè)另外的干擾事件,并且這個(gè)新的干擾事件(標(biāo)記為C)也是干擾事件根,如圖23所示。因此圖23中顯示了一棵干擾事件樹。
當(dāng)把操作元素添加到干擾族中時(shí),它可能會(huì)影響超樹,比如導(dǎo)致新的干擾事件樹的產(chǎn)生和/或使現(xiàn)有的干擾事件樹出現(xiàn)新樹枝和/或合并現(xiàn)有的干擾事件樹。但是不改變現(xiàn)有的結(jié)構(gòu)。不管采用哪種圖形表示,這都適用。
在增加一個(gè)操作元素時(shí),為了創(chuàng)造新的超樹應(yīng)遵循以下步驟步驟1生成所有新的操作集合并表示出來(lái)??梢院雎砸郧耙呀?jīng)定義為屬于干擾事件或空干擾事件的操作集合,因?yàn)樗鼈儾⒉灰蛟黾硬僮髟囟兴淖?。步驟2新增加的操作元素屬于可能的干擾事件?,F(xiàn)在根據(jù)當(dāng)操作元素的目前組合有效時(shí)應(yīng)執(zhí)行的過(guò)程來(lái)檢查每一個(gè)干擾事件。從含有兩個(gè)元素的操作集合的可能干擾事件開始。接著繼續(xù)檢查含有3個(gè)元素的操作集合的干擾事件,等等。把二項(xiàng)式樹中表示具有“直接子集”關(guān)系的實(shí)際存在的干擾事件的節(jié)點(diǎn)依次地鏈接到一起,由此產(chǎn)生/合并/發(fā)展了干擾事件樹。表達(dá)式(2)和表達(dá)式(3)(適用時(shí))用來(lái)判定可能的干擾事件是實(shí)際存在的還是空的干擾事件。以此方法定義這個(gè)可能的干擾事件為實(shí)際存在的干擾事件或者空干擾事件。步驟3如果無(wú)法找到一個(gè)被檢查的操作集合是其直接子集的操作集合的話,這個(gè)被檢查的操作集合的干擾事件將會(huì)是干擾事件樹中的干擾事件根。
一方面為了舉例說(shuō)明干擾事件的結(jié)構(gòu)和定義之間的相互關(guān)系,另一方面為了說(shuō)明的分析中如何使用這個(gè)結(jié)構(gòu),參考圖32,圖33和圖34。這些圖也顯示出增加操作元素不會(huì)改變一棵干擾事件樹的現(xiàn)有結(jié)構(gòu)。圖32顯示了一棵干擾事件樹,其中假設(shè)節(jié)點(diǎn)66,67和68都定義成各自的干擾事件。從其中構(gòu)成該樹的干擾族含有3個(gè)操作元素ae1,ae2,ae3?,F(xiàn)在把一個(gè)新的操作元素ae4添加到圖32中的干擾事件樹所代表的干擾事件族中。由于加入操作元素ae4,出現(xiàn)了7個(gè)可能產(chǎn)生干擾事件的節(jié)點(diǎn),即3個(gè)分別包含2個(gè)元素的節(jié)點(diǎn)69,70和71,3個(gè)分別包含3個(gè)元素的節(jié)點(diǎn)72,73和74,以及含有4個(gè)元素的節(jié)點(diǎn)75。這些可能的或潛在的干擾事件如圖33所示,圖中還顯示了從圖32得到的干擾事件樹。現(xiàn)在該確定這些可能的干擾事件69-75是否也是實(shí)際存在的干擾事件。檢查通過(guò)首先將含有最少數(shù)量操作元素的節(jié)點(diǎn)與業(yè)務(wù)說(shuō)明比較來(lái)實(shí)現(xiàn),目的是為了證實(shí)干擾事件是否存在。然后把每個(gè)含有次少數(shù)量操作元素的節(jié)點(diǎn)與業(yè)務(wù)說(shuō)明進(jìn)行比較,并與這些節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的集合的互操作集合進(jìn)行比較,目的是為了證實(shí)可能的干擾事件是否存在。對(duì)每個(gè)含有依次增加數(shù)量的操作元素的節(jié)點(diǎn)重復(fù)后一個(gè)過(guò)程步驟。過(guò)程中的最后一個(gè)步驟是在含有最大數(shù)量的有效操作元素的節(jié)點(diǎn)上進(jìn)行的,檢查這些節(jié)點(diǎn)的子集的目的是為了證實(shí)是否存在可能的干擾事件。在圖32-34所示的特例中,從檢查2元素的組合69,70和71開始,首先,把它們與業(yè)務(wù)說(shuō)明進(jìn)行比較以確定是否應(yīng)該對(duì)節(jié)點(diǎn)69中的組合采取某個(gè)措施,也就是要確定在組合(ae1,ae4)的情況下是否應(yīng)該干些什么。如果要采取特殊措施的話,那么七點(diǎn)69就是一個(gè)干擾事件。如果不需要采用任何特殊步驟,那么該節(jié)點(diǎn)就不是干擾事件。就所舉的例子而論,假定不需要做任何操作,因此該節(jié)點(diǎn)不是干擾事件,在圖中用給節(jié)點(diǎn)劃叉來(lái)表示。按類似方法檢查節(jié)點(diǎn)70和71。假定在所舉例子中,節(jié)點(diǎn)70中的組合需要進(jìn)行某些特殊的操作,并且這個(gè)節(jié)點(diǎn)表示一個(gè)干擾事件。但是,對(duì)節(jié)點(diǎn)71來(lái)說(shuō)不需要進(jìn)行具體操作,于是在圖中劃掉該節(jié)點(diǎn)。檢查完2元素的組合之后繼續(xù)檢查3元素的組合。檢查是從查看組合ae1,ae2,ae4以及它們的子集70開始的。如果組合ae1,ae2,ae4需要進(jìn)行某種操作,這種操作既可以多于也可以少于節(jié)點(diǎn)70所需的操作,那么節(jié)點(diǎn)72是一個(gè)干擾事件。換一種說(shuō)法,如果節(jié)點(diǎn)72所需的操作包括與節(jié)點(diǎn)70所需的相同的消除干擾功能的話,那么節(jié)點(diǎn)72不是干擾事件。假設(shè)圖33所示的例子中節(jié)點(diǎn)72不是干擾事件,因此圖中已把該節(jié)點(diǎn)劃掉。接著檢查下面的3元素組合,即本例中的節(jié)點(diǎn)73,它表示操作元素ae1,ae3,ae4。通過(guò)比較節(jié)點(diǎn)73和它的子集66和71來(lái)檢查。前面已證實(shí)子集71不是干擾事件,因此不必再作比較了。只剩節(jié)點(diǎn)66要作比較。如果節(jié)點(diǎn)73所需的操作(從業(yè)務(wù)說(shuō)明獲得)與節(jié)點(diǎn)66所需的操作相同的話,那么節(jié)點(diǎn)73不是干擾事件。本例假設(shè)節(jié)點(diǎn)73不是干擾事件并在圖中已在該節(jié)點(diǎn)上劃掉。最后把含有操作元素ae2,ae3,ae4的節(jié)點(diǎn)74與其分別包含操作元素ae2,ae3和操作元素ae3,ae4的子集67和71進(jìn)行比較。包含元素ae3,ae4的節(jié)點(diǎn)71不是干擾事件,所以只需比較節(jié)點(diǎn)74和節(jié)點(diǎn)67。本例中假設(shè)節(jié)點(diǎn)74所需的操作與節(jié)點(diǎn)67所進(jìn)行的操作相同,因此節(jié)點(diǎn)74不是干擾事件并被劃掉。至今為止的檢查已顯示出只有節(jié)點(diǎn)68和節(jié)點(diǎn)70構(gòu)成了可能干擾事件75的直接子集,現(xiàn)在檢查該節(jié)點(diǎn)75。直接子集由箭頭76和77來(lái)表示。圖33中的環(huán)形結(jié)構(gòu)78是圖32中的原始干擾事件樹。關(guān)于包含4個(gè)操作集合ae1,ae3,ae4的節(jié)點(diǎn)75是否是干擾事件的檢查按前面所述的相同方法開始,即檢查該節(jié)點(diǎn)的直接子集,也就是本例中的子集68和70。如果在節(jié)點(diǎn)68的干擾事件中進(jìn)行的操作或步驟以及在節(jié)點(diǎn)70的干擾事件中進(jìn)行的操作或步驟是根據(jù)規(guī)范節(jié)點(diǎn)75的4元素組合中所需的操作或步驟的總和的話,節(jié)點(diǎn)75就不是干擾事件。換句話說(shuō),如果需要執(zhí)行別的什么操作,即如果節(jié)點(diǎn)75所需的操作不等于節(jié)點(diǎn)68和70所需的操作的總和,那么節(jié)點(diǎn)75就是干擾事件。因此沒(méi)有必要檢查節(jié)點(diǎn)66和67,因?yàn)楹笳卟皇枪?jié)點(diǎn)75的直接子集。(但是,它們是節(jié)點(diǎn)68的直接子集)。按這種方法,根據(jù)本發(fā)明已定義了什么是干擾事件。因此得到圖34所示形狀的干擾事件樹。當(dāng)運(yùn)行干擾族所代表的過(guò)程時(shí),就是把這棵干擾事件樹用在分析中來(lái)尋找應(yīng)添加到基本軟件中的附加軟件。所有有效的操作元素用作分析的輸入數(shù)據(jù),而且輸入數(shù)據(jù)與干擾事件樹中遇到的最大子集(就有效的操作元素的數(shù)量而論)相匹配。該遇到的集合的互操作集合可能是激活的,但不是屬于來(lái)自一個(gè)已經(jīng)被激活的干擾事件的操作集合的互操作集合。作為第一個(gè)例子,假定輸入數(shù)據(jù)是ae1,ae3。分析從圖34中的干擾事件樹的最上層開始,并發(fā)現(xiàn)ae1,ae3既與節(jié)點(diǎn)75的操作元素不匹配也與節(jié)點(diǎn)68的操作元素不匹配。另一方面,輸入數(shù)據(jù)和節(jié)點(diǎn)66的操作元素相匹配,但和節(jié)點(diǎn)67及70的任何操作元素不匹配。因此,分析得到結(jié)果與操作集合ae1,ae3,即節(jié)點(diǎn)66相應(yīng)的互操作集合應(yīng)當(dāng)被添加到基本軟件中。舉另一個(gè)例子,假定激活了操作元素ae1,ae4。分析圖34的干擾事件樹中的每個(gè)節(jié)點(diǎn)后,發(fā)現(xiàn)沒(méi)有一個(gè)節(jié)點(diǎn)與輸入數(shù)據(jù)相匹配。因此,這個(gè)輸入數(shù)據(jù)不會(huì)引起添加附加軟件到基本軟件中。當(dāng)考慮圖33時(shí)也會(huì)得到這個(gè)結(jié)論,圖33中已經(jīng)證實(shí)ae1,ae4不是干擾事件,因?yàn)楣?jié)點(diǎn)69已被劃掉。舉第3個(gè)例子也是最后一個(gè)分析的例子,假設(shè)輸入數(shù)據(jù)是ae1,ae2,ae3,ae4。分析從節(jié)點(diǎn)75開始并在此處已找到匹配??梢越K止分析,因?yàn)橐呀?jīng)沒(méi)有查看節(jié)點(diǎn)75的子集的必要。也就是說(shuō)該節(jié)點(diǎn)75已經(jīng)包含了必須為這個(gè)具體的輸入數(shù)據(jù)實(shí)現(xiàn)的所有功能。附帶說(shuō)一下,一般認(rèn)為如果找到更多的干擾事件樹的話,在分析終止之前當(dāng)然應(yīng)該檢查完這些樹的每棵樹中的節(jié)點(diǎn)。
當(dāng)從一個(gè)干擾族中刪除一個(gè)操作元素時(shí)(比如因?yàn)閺碾娦畔到y(tǒng)中去掉一項(xiàng)業(yè)務(wù)),這個(gè)操作元素出現(xiàn)于其中的所有節(jié)點(diǎn)都被刪除。如圖30和圖31所示。
圖30舉了一個(gè)含有4個(gè)操作元素ae1,ae2,ae3,ae4的超樹的例子。如果刪除操作元素ae2,那么含有操作元素ae2的所有互操作事件都將消失,只剩下如圖31所示的超樹。但是節(jié)點(diǎn)ae1,ae3,ae4不再表示干擾事件,它應(yīng)是ae2被刪掉后節(jié)點(diǎn)ae1,ae2,ae3,ae4所剩余的。如果ae1,ae3,ae4將表示一個(gè)干擾事件,它就將作為ae1,ae2,ae3,ae4的直接子集出現(xiàn)。由于實(shí)際情況并非如此,因此刪除ae2后并沒(méi)有留下組合ae1,ae2,ae4。移去該節(jié)點(diǎn)后,超樹中余下節(jié)點(diǎn)間的鏈接不受影響。
總結(jié)因此,當(dāng)增加或刪除操作元素時(shí),既不影響節(jié)點(diǎn)間的現(xiàn)有鏈接關(guān)系也不影響節(jié)點(diǎn)間的剩余鏈接關(guān)系。
實(shí)現(xiàn)本發(fā)明的例子現(xiàn)在將參考3項(xiàng)業(yè)務(wù)以及它們的互操作來(lái)描述本發(fā)明的典型實(shí)施例。
業(yè)務(wù)“遇忙轉(zhuǎn)移(DOB)”DOB業(yè)務(wù)指的是一項(xiàng)當(dāng)來(lái)自其它用戶的呼叫到達(dá)時(shí),因用戶電話正被占用而把呼叫轉(zhuǎn)向另一個(gè)號(hào)碼的業(yè)務(wù)。用戶可以激活該業(yè)務(wù)和使該業(yè)務(wù)不再激活。當(dāng)用戶激活該業(yè)務(wù)時(shí),他提供一個(gè)轉(zhuǎn)移號(hào)碼,也就是當(dāng)他的電話被占用時(shí)呼叫應(yīng)轉(zhuǎn)向的號(hào)碼。通過(guò)鍵入一個(gè)特定的鍵序列以及轉(zhuǎn)移號(hào)碼(如*23*12345#)激活DOB業(yè)務(wù)。通過(guò)鍵入一個(gè)特定的鍵序列(如#23#)使DOB業(yè)務(wù)不再激活。“呼叫等待(CW)”CW業(yè)務(wù)是一項(xiàng)當(dāng)用戶正在通話時(shí)又收到一個(gè)電話呼叫的情況下在電話中聽到一種特殊聲音的業(yè)務(wù)。如果用戶希望接收該乎叫,那么他先放下話筒,然后立即再拿起話筒,這樣就接入新的呼叫而釋放原來(lái)的呼叫。如果用戶并不希望接入新呼叫,那么在一定長(zhǎng)度的時(shí)間之后主叫用戶會(huì)聽到忙音。用戶可以實(shí)現(xiàn)CW業(yè)務(wù),即激活和使該業(yè)務(wù)不再激活。通過(guò)鍵入一特定鍵序列(如*43#)激活CW業(yè)務(wù),通過(guò)鍵入一特定鍵序列(如#43#)使CW業(yè)務(wù)不再激活?!伴]合群(CG)”CG業(yè)務(wù)指的是一項(xiàng)用戶只能呼叫預(yù)定的號(hào)碼表上列出的預(yù)定號(hào)碼的業(yè)務(wù),比如預(yù)定號(hào)碼表可以是一張用戶辦公地點(diǎn)的同事的電話號(hào)碼表。另一方面,用戶可以接收不是該表列出的用戶的呼叫。用戶可以激活CG業(yè)務(wù)或使CG業(yè)務(wù)不再激活。
業(yè)務(wù)間的互操作DOB和CV間的互操作呼叫立即轉(zhuǎn)移,不執(zhí)行CV。VVU和SG間的互操作當(dāng)激活VVU業(yè)務(wù)時(shí),要進(jìn)行檢查的確定用戶是否擁有SG業(yè)務(wù)。如果用戶擁有SG業(yè)務(wù),那么再檢查以確定是否在SG表上可以找到轉(zhuǎn)移號(hào)碼。如果在SG表上找不到轉(zhuǎn)移號(hào)碼的話,就拒絕激活VVU業(yè)務(wù)。CW和CG間的互操作當(dāng)SG表上存在主叫用戶的號(hào)碼時(shí),將聽到一種特殊的音頻信號(hào),即三拍音。如果在該表上找不到主叫用戶的號(hào)碼時(shí),則聽到傳統(tǒng)的呼叫等待音(二拍音)。DOB,CW和CG之間的互操作
如果在CG表上找不到主叫用戶時(shí),遵循DOB-CW情況下同樣的規(guī)程,也就是如果主叫用戶不是同事的話,呼叫立即轉(zhuǎn)移且不執(zhí)行CW。另一方面,如果在CG表上找到主叫用戶時(shí),執(zhí)行CW業(yè)務(wù)(并聽到三拍音)。如果被叫用戶應(yīng)答,呼叫就轉(zhuǎn)移。這樣互操作軟件給被叫用戶提供了只有當(dāng)呼叫來(lái)自同事時(shí)才放下話筒并接入呼叫的機(jī)會(huì)。CW業(yè)務(wù)是按正常方式執(zhí)行的,當(dāng)主叫用戶是一位同事時(shí)將聽到三拍音。如果被叫用戶沒(méi)有放下話筒,那么執(zhí)行DOB業(yè)務(wù)。這不同于DOB和CW間互操作的簡(jiǎn)單情況。
過(guò)程圖24從原理上描述了一個(gè)電話設(shè)備47,用戶48通過(guò)用戶線49與之相連。在電話設(shè)備47上同時(shí)發(fā)生著大量的過(guò)程,就本例而言,這些過(guò)程中的兩個(gè)過(guò)程是有意義的,因此將作更詳細(xì)的描述。其中一個(gè)過(guò)程與呼叫連接有關(guān),如框50所示。另一個(gè)過(guò)程與業(yè)務(wù)管理有關(guān),如框51所示。每個(gè)過(guò)程都可以看作一個(gè)獨(dú)立的狀態(tài)機(jī),因此可把它們定義為獨(dú)立的干擾族。現(xiàn)在可以按以下方法實(shí)現(xiàn)各項(xiàng)業(yè)務(wù)。
DOB業(yè)務(wù)的實(shí)現(xiàn)DOB業(yè)務(wù)有兩個(gè)子功能,第一個(gè)子功能在執(zhí)行轉(zhuǎn)移業(yè)務(wù)中有效,第二個(gè)子功能在使用戶能實(shí)現(xiàn)DOB業(yè)務(wù)中,即激活或者去激活業(yè)務(wù)中有效。通過(guò)鍵入特定鍵序列(如*23*),接著鍵入轉(zhuǎn)移號(hào)碼,最后鍵入#號(hào)來(lái)激活第二個(gè)子功能。當(dāng)要使該業(yè)務(wù)不再激活時(shí),鍵入鍵序列#23#。分別為每個(gè)子功能定義了操作元素aeDOB1和aeDOB2。
CW業(yè)務(wù)的實(shí)現(xiàn)
CW業(yè)務(wù)有兩個(gè)子功能,即執(zhí)行呼叫等待功能的第一子功能和在使用戶激活和去激活CW業(yè)務(wù)中有效的第二個(gè)子功能。分別為每個(gè)子功能定義了操作元素aeCW1和aeCW2。
CG業(yè)務(wù)的實(shí)現(xiàn)CG業(yè)務(wù)只有一個(gè)功能,即檢查用戶所呼叫的號(hào)碼是否在CG表上找到的同事的號(hào)碼的功能。為此業(yè)務(wù)定義了一個(gè)操作元素aeCG。
干擾族“呼叫連接”的干擾分析三項(xiàng)業(yè)務(wù)DOB,CW和CG都有影響呼叫連接過(guò)程的子功能,因此操作aeDOB1,aeCW1和aeCG屬于干擾族“呼叫連接”,即過(guò)程50。該干擾族的二項(xiàng)式樹具有如圖25所示的結(jié)構(gòu)。樹中的節(jié)點(diǎn)是潛在的干擾事件?,F(xiàn)在該檢查哪一個(gè)節(jié)點(diǎn)是實(shí)際存在的干擾事件了。這個(gè)檢查由業(yè)務(wù)說(shuō)明來(lái)控制。
根據(jù)前面所描述的DOB和CW業(yè)務(wù)的說(shuō)明,由于當(dāng)DOB激活時(shí)不應(yīng)執(zhí)行CW,因此在DOB和CW間的呼叫連接過(guò)程中出現(xiàn)干擾。消除該互操作的功能即禁止CW業(yè)務(wù)的功能,是由一個(gè)互操作元素iaeX來(lái)表示的。所以這個(gè)可能的干擾事件是一個(gè)實(shí)際存在的干擾事件。
關(guān)于圖25中二項(xiàng)樹中的第二個(gè)操作集合aeDOB1,aeCG,已經(jīng)證實(shí)當(dāng)這兩項(xiàng)業(yè)務(wù)同時(shí)在呼叫連接過(guò)程50中運(yùn)轉(zhuǎn)時(shí),不需要進(jìn)行附加操作。
DOB業(yè)務(wù)應(yīng)按規(guī)定的方法來(lái)實(shí)現(xiàn),與CG業(yè)務(wù)無(wú)關(guān)。相反地,在乎叫連接過(guò)程中CG業(yè)務(wù)也可以不依靠DOB業(yè)務(wù)來(lái)實(shí)現(xiàn)。從這一點(diǎn)上來(lái)說(shuō)不需要定義互操作元素,并且這個(gè)可能的干擾事件是一個(gè)空干擾事件。
另一方面,在aeCW1,aeCG的事件中,規(guī)定當(dāng)用戶激活CW業(yè)務(wù)并且主叫用戶存在于CG表上時(shí),產(chǎn)生一種特殊的音頻信號(hào)即三拍音。在呼叫過(guò)程中運(yùn)行并保證三拍音的產(chǎn)生功能由一個(gè)互操作元素iaeY表示。因此這個(gè)可能的干擾事件是一個(gè)實(shí)際存在的干擾事件。
現(xiàn)在該檢查事件aeDOB1,aeCW1,aeCG。與在事件aeCW1,aeCG中執(zhí)行的那些規(guī)程相同的規(guī)程也將在此事件中執(zhí)行。與那些在事件aeDOB1,aeCW1中執(zhí)行的相同規(guī)程也將被執(zhí)行。但是,當(dāng)主叫用戶在CG表上時(shí),DOB業(yè)務(wù)和CW業(yè)務(wù)將以不同方式互操作??梢灾貜?fù)使用為aeDOB1,aeCW1,和aeCG與所定義的功能,盡管這種重復(fù)使用需要增加一個(gè)處理當(dāng)主叫用戶列在CG表上時(shí)出現(xiàn)的情況的新功能。實(shí)現(xiàn)這種重復(fù)使用的功能參見圖25,該功能有互操作元素iaex,iaey,iaez。根據(jù)表達(dá)式(2),這個(gè)可能的干擾事件同時(shí)是一個(gè)實(shí)際存在的干擾事件。這樣就得到了干擾族“呼叫連接”所需的具有如圖26所示結(jié)構(gòu)的超樹。
關(guān)于干擾族“業(yè)務(wù)處理”的干擾分析在所檢查的三項(xiàng)業(yè)務(wù)當(dāng)中,業(yè)務(wù)DOB和CW含有影響圖24中的業(yè)務(wù)處理過(guò)程51的操作元素aeDOB2和aeCW2。業(yè)務(wù)SG沒(méi)有業(yè)務(wù)處理過(guò)程中的功能。另一方面,這些業(yè)務(wù)的說(shuō)明要求CG業(yè)務(wù)對(duì)業(yè)務(wù)處理過(guò)程連同DOB業(yè)務(wù)的激活有影響。這指的是CG業(yè)務(wù)應(yīng)當(dāng)包含有在業(yè)務(wù)處理過(guò)程所用的干擾族中定義的操作元素aeCG。于是二項(xiàng)式樹得到如圖27所示的結(jié)構(gòu)。
現(xiàn)在該確定這些理論上的可能干擾事件中哪些是實(shí)際存在的干擾事件。根據(jù)對(duì)業(yè)務(wù)DOB和CW的說(shuō)明,可以確定當(dāng)這兩項(xiàng)業(yè)務(wù)同時(shí)在業(yè)務(wù)處理過(guò)程中激活時(shí),不需要進(jìn)行其它操作。因此,這兩項(xiàng)業(yè)務(wù)可以相互獨(dú)立地被激活和去激活。因此,不需要定義互操作元素。這個(gè)可能的干擾事件同時(shí)是一個(gè)空干擾事件。
在事件aeDOB2,aeCG中需要根據(jù)說(shuō)明來(lái)檢查在CG表上是否可以找到激活DOB業(yè)務(wù)時(shí)用戶給出的轉(zhuǎn)移號(hào)碼。執(zhí)行業(yè)務(wù)處理過(guò)程中的該檢查的功能由互操作元素iaeC來(lái)表示。同時(shí)這個(gè)可能的干擾事件也是一個(gè)實(shí)際存在的干擾事件。
在事件aeCW2,aeCG中,已確認(rèn)當(dāng)這兩項(xiàng)業(yè)務(wù)在業(yè)務(wù)處理過(guò)程51中同時(shí)激活時(shí)不需要做任何操作。因此不需要為這個(gè)可能的干擾事件定義互操作元素。于是這個(gè)可能的干擾事件是一個(gè)空干擾事件。
現(xiàn)在該檢查可能的干擾事件aeDOB2,aeCW2,aeCG。在轉(zhuǎn)移一個(gè)呼叫之前,必須檢查轉(zhuǎn)換號(hào)碼是否出現(xiàn)在CG表上。這恰恰是屬于含有操作集合{aeDOB2,aeCG}的干擾事件的互操作元素iaec應(yīng)該做的事。含有操作集合{aeDOBU1,aeCW2,aeCG}的可能干擾事件所需的上述檢查的功能也是同樣的,并由互操作元素iaes表示。因此不滿足表達(dá)式(2)的要求。這個(gè)可能的干擾事件是一個(gè)空干擾事件。
干擾族“業(yè)務(wù)管理”所用的超樹具有如圖28所示的結(jié)構(gòu)。
運(yùn)行期間的工作過(guò)程圖29舉例說(shuō)明了一個(gè)電話設(shè)備47,一個(gè)用戶(稱為A)的電話48通過(guò)用戶線49接到其上。業(yè)務(wù)的激活
用戶A不能處理CG業(yè)務(wù)。另一方面,用戶可以處理DOB和CW業(yè)務(wù)。
用戶A現(xiàn)在希望激活DOB業(yè)務(wù)并把呼叫轉(zhuǎn)向新的電話號(hào)碼12345。因此該用戶鍵入鍵序列*23*12345#。把對(duì)應(yīng)于用戶所鍵入的鍵序列的信號(hào)傳送到電話設(shè)備47上,在那里做數(shù)字分析之后辨認(rèn)出這些信號(hào)試圖激活DOB業(yè)務(wù)。規(guī)定在電話設(shè)備47中啟動(dòng)以處理給定這項(xiàng)業(yè)務(wù)的啟動(dòng)為目的的業(yè)務(wù)處理過(guò)程51。業(yè)務(wù)處理過(guò)程41檢查用戶A的用戶數(shù)據(jù)52,以核查用戶已經(jīng)激活的業(yè)務(wù)。用戶數(shù)據(jù)是寄存器數(shù)據(jù),包括與用戶身份有關(guān)的信息、用戶的電話號(hào)碼、允許用戶使用的那些業(yè)務(wù)等等。當(dāng)激活一項(xiàng)業(yè)務(wù)時(shí),指示該業(yè)務(wù)的一個(gè)標(biāo)志被插入到用戶數(shù)據(jù)中。因此除了其它東西之外,用戶數(shù)據(jù)還包括用戶A已經(jīng)激活CG業(yè)務(wù)的信息和描述允許用戶A使用DOB業(yè)務(wù)的子功能(DOB2)也被激活的信息。用戶的數(shù)據(jù)也指出用戶A激活個(gè)子功能CW2,子功能CW2表示的是用戶A也可以處理CW業(yè)務(wù)。于是對(duì)用戶數(shù)據(jù)52的檢查顯示出用戶A已經(jīng)激活了子功能CG,DOB2和CW2。把該結(jié)果作為輸入數(shù)據(jù)(用箭頭53標(biāo)記)輸入到分析單元54,分析單元54包含了圖28中的超樹的一個(gè)實(shí)現(xiàn)55,以及圖26中的超樹的一個(gè)實(shí)現(xiàn)56。分析單元54搜索超樹55中的節(jié)點(diǎn),目的是為了找到與輸入數(shù)據(jù)相匹配的節(jié)點(diǎn)。在所示例子中,分析單元找到了一個(gè)干擾事件(aeDOB2,aeCW),它是輸入數(shù)據(jù)的一個(gè)子集。該子集含有一個(gè)指向?qū)?yīng)于互操作元素58(即本例中的iaec)的子集的指針(用箭頭57表示),在這種情況下是iaec。實(shí)現(xiàn)該互操作元素的方法不構(gòu)成本發(fā)明的任何部分。但是把該互操作元素的互操作軟件添加到業(yè)務(wù)處理過(guò)程51的基本軟件中是很重要的。箭頭59表示把互操作元素iaec的互操作軟件添加到業(yè)務(wù)處理過(guò)程的基本軟件中。如果用戶A沒(méi)有激活任何一項(xiàng)業(yè)務(wù)。那么業(yè)務(wù)處理過(guò)程51就不會(huì)在其超樹55中找到匹配的干擾事件,并且也不會(huì)把互操作軟件58添加到基本軟件中。
現(xiàn)在用戶A激活了DOB業(yè)務(wù)和CG業(yè)務(wù)。此時(shí)用戶A希望打電話并拔了一個(gè)號(hào)碼,比如56789。電話設(shè)備47中的號(hào)碼分析表示出應(yīng)當(dāng)啟動(dòng)呼叫連接過(guò)程50。呼叫連接過(guò)程檢查了用戶A的用戶數(shù)據(jù)52(用箭頭60表示),并發(fā)現(xiàn)用戶A激活了子功能DOB1、DOB2、CW2、CG(用箭頭61表示)。把該結(jié)果作為輸入數(shù)據(jù)送到分析單元54上(用箭頭62表示),分析單元54調(diào)用呼叫過(guò)程的超樹56(圖26中),以確定該樹是否包含與輸入數(shù)據(jù)所提供的已知組合(aeDOB1,aeDOB2,aeCW2,aeCG)匹配的節(jié)點(diǎn)。由于沒(méi)有找到與該組合匹配的干擾事件,所以不用添加任何互操作軟件到乎叫連接過(guò)程中的基本軟件中。
現(xiàn)在用戶A也希望激活SV業(yè)務(wù)。因此他拔入鍵序列*43#。業(yè)務(wù)處理過(guò)程51處理該命令。從用戶A的用戶數(shù)據(jù)52中顯然可以看出用戶A已激活子功能DOB1、DOB2、CW2和CG?,F(xiàn)在業(yè)務(wù)處理過(guò)程51把下列輸入數(shù)據(jù)aeDOB1、aeDOB2、aeCW2、aeCG送到分析單元54上。分析單元54搜索對(duì)應(yīng)于業(yè)務(wù)處理過(guò)程51的超樹55,并在其中找到一個(gè)包含該輸入數(shù)據(jù)的一個(gè)子集的干擾事件(aeDOB2,aeCG)。把對(duì)應(yīng)的互操作軟件iaec添加到業(yè)務(wù)處理過(guò)程51的基本軟件中(用箭頭59表示),該互操作軟件iaec用來(lái)核查是否輸入正確的轉(zhuǎn)移號(hào)碼。但是,在本例中,由于那些處理本例的程序步驟從末被執(zhí)行,因此該互操作軟件iaec是無(wú)關(guān)的。這是因?yàn)橛脩鬉只希望激活CW業(yè)務(wù)。
在此階段,用戶擁有子功能DOB1,DOB2,CW1,CW2和CG。現(xiàn)在如果用戶A希望打電話,例如拔了電話號(hào)碼56789,這些數(shù)字將作為輸入信號(hào)進(jìn)入到電話設(shè)備47中,在進(jìn)行號(hào)碼分析之后,表示出應(yīng)當(dāng)啟動(dòng)呼叫連接過(guò)程50。呼叫連接過(guò)程50搜集用戶A的用戶數(shù)據(jù),即本例中的DOB1、DOB2、CW1、SCW、CG,把用戶數(shù)據(jù)作為輸入數(shù)據(jù)傳送到呼叫連接過(guò)程的超樹56上。于是aeDOB1、aeDOB2、aeCW1、aeCW2、CG作為輸入數(shù)據(jù)被傳送。輸入數(shù)據(jù)的傳送用圖29中的箭頭62來(lái)表示。在超樹中有3個(gè)干擾事件與輸入數(shù)據(jù)相匹配,即(aeDOB1,aeCW1,aeeCG)(aeDOB1,aeCW1)和(aeCW1,aeCG)。由于后兩個(gè)組合分別是第一個(gè)組合的子集,因此只調(diào)用第一個(gè)子集的互操作元素(用箭頭63表示)。在這種情況下,添加到呼叫連接過(guò)程中的是互操作集合(iaeX,iaeY,iaeZ),如箭頭64所示。然而,用戶A打電話時(shí)箭頭63所指向的互操作集合并不執(zhí)行,因?yàn)橹钡接脩鬉電話忙而又有別的什么人試圖呼叫用戶A時(shí)才執(zhí)行DOB或CW業(yè)務(wù)。
現(xiàn)在假定用戶電話已被占用并且另一個(gè)用戶試圖打電話給用戶A。這時(shí)在電話設(shè)備中啟動(dòng)一個(gè)新的呼叫連接過(guò)程50并進(jìn)行檢查以確定用戶A激活了哪些子功能。用戶數(shù)據(jù)宣告DOB1、DOB2、CW1、CW2和CG是激活的,該宣告作為輸入數(shù)據(jù)輸入到分析單元51上?,F(xiàn)在把互操作軟件(iaeZ,iaeY,iaeZ)添加到新呼叫所用的呼叫連接過(guò)程的基本軟件中,如箭頭64的象征性描述。如果CG表上列出了主叫用戶,那么用戶A將聽到三拍音。當(dāng)用戶A聽到三拍音時(shí),他就不可能終止正在進(jìn)行的通話,開始新的通話。如果用戶A聽到三拍音但并沒(méi)有放下話筒,那么轉(zhuǎn)移該呼叫。
實(shí)現(xiàn)超樹的方法不構(gòu)成本發(fā)明的任何部分。一種可以想到的實(shí)現(xiàn)超樹的方法是用C++語(yǔ)言編寫代碼。采用不同類型的線性或者二維的數(shù)組來(lái)實(shí)現(xiàn)超樹也是可能的。
可以用一些合適的程序語(yǔ)言(如C++)來(lái)編寫那些消除干擾的功能。正如這方面的技術(shù)人員所知,采用其它實(shí)現(xiàn)方法也是可能的。
權(quán)利要求
1.一種避免在電信系統(tǒng)的業(yè)務(wù)間出現(xiàn)非期望的干擾的方法,該系統(tǒng)包括用于基本業(yè)務(wù)的基本軟件和用于附加在基本業(yè)務(wù)之上的業(yè)務(wù)的附加軟件,其中附加軟件又可以分成只對(duì)基本業(yè)務(wù)進(jìn)行操作的操作軟件和對(duì)其余的附加軟件進(jìn)行操作的互操作軟件,該方法包括以下步驟-把基本軟件分解成過(guò)程;以及-用輸入信號(hào)啟動(dòng)一個(gè)識(shí)別附加業(yè)務(wù)或者附加業(yè)務(wù)的子功能(下文中通常指附加業(yè)務(wù))的過(guò)程,此后都稱作附加業(yè)務(wù),附加業(yè)務(wù)的附加軟件應(yīng)與該過(guò)程中的基本業(yè)務(wù)的基本軟件一起運(yùn)行,其特征在于-附加業(yè)務(wù)用操作元素來(lái)表示;-數(shù)學(xué)二項(xiàng)式樹的節(jié)點(diǎn)用操作元素的組合來(lái)表示;-那么與附加業(yè)務(wù)間的干擾相對(duì)應(yīng)的操作元素組合構(gòu)成數(shù)學(xué)二項(xiàng)式樹中的一個(gè)或者若干個(gè)結(jié)構(gòu),所述結(jié)構(gòu)指的是干擾事件樹;-那些用操作元素表示的附加業(yè)務(wù),對(duì)具體過(guò)程而言用輸入信號(hào)來(lái)表示,把它們與屬于過(guò)程的干擾事件樹中的節(jié)點(diǎn)作比較,用的在于確定當(dāng)前的操作元素集合(輸入組合)與屬于該過(guò)程所用的干擾事件樹中的節(jié)點(diǎn)的操作元素集合之間的可能的一致性;-只選擇那些其操作元素的集合與當(dāng)前的操作元素集合或者當(dāng)前的操作元素集合的一個(gè)子集相等的干擾事件樹中的節(jié)點(diǎn);-不選擇其操作元素集合是其它已知節(jié)點(diǎn)的操作元素的子集的干擾事件樹中的那些節(jié)點(diǎn);-把用來(lái)消除對(duì)應(yīng)于干擾事件樹中已選的單個(gè)節(jié)點(diǎn)或多個(gè)節(jié)點(diǎn)的干擾的互操作軟件添加到執(zhí)行該過(guò)程的基本軟件中。
2.根據(jù)權(quán)利要求1的一種方法,其特征在于,當(dāng)操作元素的一個(gè)集合A指的是應(yīng)當(dāng)執(zhí)行互操作的一個(gè)集合Q時(shí),如果A的所有直接子集Bj(j=1,2,…t)都屬于其互操作集合Rj按下式構(gòu)成的干擾事件,則該集合A被定義為屬于一個(gè)新的干擾事件。Q≠Uj=1j=tRj]]>
3.根據(jù)權(quán)利要求2的一種方法,其特征在于,當(dāng)以下關(guān)系式滿足時(shí),定義存在一個(gè)新的干擾事件Rm⌒Rn≠0 dar m,n∈j och m≠n
4.根據(jù)權(quán)利要求2或者權(quán)利要求3的一種方法,其特征在于-干擾事件樹的樹結(jié)構(gòu)用節(jié)點(diǎn)間的鏈接關(guān)系決定;-如果一個(gè)干擾事件的操作元素(aei,i=1…)的集合A是另一個(gè)干擾事件的操作元素的集合B的一個(gè)直接子集,那么當(dāng)集合A是集合C的一個(gè)子集時(shí),那么不存在一個(gè)其操作元素的集合C是集合B的子集的一個(gè)干擾事件;-通過(guò)上述鏈接過(guò)程最終得到一個(gè)不是任何其它集合的子集并被稱作干擾事件樹的根的集合
5.根據(jù)權(quán)利要求4的一種方法,其特征在于(a)在每個(gè)干擾事件根處,啟動(dòng)對(duì)超樹中的節(jié)點(diǎn)的輸入信號(hào)的當(dāng)前組合的檢查;(b)當(dāng)發(fā)現(xiàn)一個(gè)有效節(jié)點(diǎn)時(shí),中斷對(duì)下層節(jié)點(diǎn)的檢查;(c)當(dāng)發(fā)現(xiàn)節(jié)點(diǎn)無(wú)效時(shí),繼續(xù)檢查下層節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5的一種方法,其特征在于,當(dāng)一個(gè)節(jié)點(diǎn)的操作元素的集合與當(dāng)前輸入信號(hào)組合或者當(dāng)前輸入信號(hào)組合的一個(gè)子集相同時(shí),它被定義為有效的。
7.根據(jù)權(quán)利要求6的一種方法,其特征在于,當(dāng)一個(gè)節(jié)點(diǎn)的操作元素的集合是所檢查的節(jié)點(diǎn)的操作元素集合的一個(gè)子集時(shí),它被定義為位于檢查節(jié)點(diǎn)之下,其中,下層節(jié)點(diǎn)與被檢查節(jié)點(diǎn)屬于同一棵干擾事件樹和該樹的相同分支。
8.根據(jù)權(quán)利要求7的一種方法,其中含有給定輸入信號(hào)的組合的節(jié)點(diǎn)可以出現(xiàn)在屬于同一過(guò)程的幾棵不同的干擾事件樹中,其特征在于-賦予含有上述已知組合的節(jié)點(diǎn)兩種屬性,其中的第一種屬性是靜態(tài)的,并表示一個(gè)含有已知組合的節(jié)點(diǎn)出現(xiàn)在不同超樹中的次數(shù),另一種屬性是動(dòng)態(tài)的,每次檢查顯示出輸入信號(hào)的當(dāng)前組合與上述節(jié)點(diǎn)的操作元素的組合之間相匹配時(shí),遞增一個(gè)單位;-僅當(dāng)兩種屬性相等時(shí),把用來(lái)消除在上述節(jié)點(diǎn)的附加業(yè)務(wù)間產(chǎn)生的沖突的互操作軟件添加到基本軟件中;并且-檢查完超樹后設(shè)置動(dòng)態(tài)屬性為零。
9.根據(jù)權(quán)利要求8的一種方法,其特征在于,在用戶的用戶數(shù)據(jù)中為該用戶所激活的每項(xiàng)附加業(yè)務(wù)設(shè)置一個(gè)標(biāo)志;讀取放置在與該用戶過(guò)程有關(guān)的每個(gè)過(guò)程所需的用戶數(shù)據(jù)中的那些標(biāo)志,并構(gòu)成與此相應(yīng)的輸入信號(hào)。
10.一種生成用于電信系統(tǒng)中的過(guò)程的干擾事件樹的方法,此電信系統(tǒng)包括用于基本業(yè)務(wù)的基本軟件和用于附加在基本業(yè)務(wù)之上的那些業(yè)務(wù)的附加軟件,其中附加軟件又可分成只對(duì)基本業(yè)務(wù)進(jìn)行操作的操作軟件和對(duì)其余的附加軟件進(jìn)行操作的互操作軟件,其特征在于-確定附加業(yè)務(wù)以及該附加業(yè)務(wù)要求的功能;-為附加業(yè)務(wù)的組合規(guī)定消除干擾的附加業(yè)務(wù)(即下文所謂的互操作業(yè)務(wù))以及它們所要求的功能;-構(gòu)成一棵覆蓋所有可能的代表一項(xiàng)附加業(yè)務(wù)或者附加業(yè)務(wù)的一個(gè)子功能(下文中統(tǒng)稱附加業(yè)務(wù))的操作元素的組合的二項(xiàng)式樹;-根據(jù)操作元素組合的說(shuō)明來(lái)確定是哪些組合引起干擾;-通過(guò)直接子集關(guān)系把那些其操作元素會(huì)引起干擾的組合鏈接一起,從而得到一棵或者多棵干擾事件樹。
11.根據(jù)權(quán)利要求10的一種方法,其特征在于,在超根中把干擾事件樹的根鏈接到一起以形成超樹。
12.一種構(gòu)造電信系統(tǒng)中的附加業(yè)務(wù)間的干擾事件的方法,該電信系統(tǒng)包括用于基本業(yè)務(wù)的基本軟件和用于附加在基本業(yè)務(wù)之上的那些業(yè)務(wù)的附加軟件,其中附加軟件又可分成只對(duì)基本業(yè)務(wù)進(jìn)行操作的操作軟件和對(duì)其余的附加軟件進(jìn)行操作的互操作軟件,其特征在于-為每個(gè)過(guò)程執(zhí)行記錄所有可獲得的附加業(yè)務(wù)(即所謂的操作元素)的每個(gè)具體的組合的步驟,操作元素可以是有效或者無(wú)效的,其中每個(gè)具體的組合中的操作元素一起構(gòu)成一個(gè)操作元素的集合;-為上述過(guò)程的每個(gè)操作元素集合執(zhí)行記錄消除互操作的所有功能(所謂的互操作元素)的步驟,并且由于在某個(gè)操作集合中有兩個(gè)或兩個(gè)以上操作元素被同時(shí)激活,所以必須執(zhí)行這些功能,其中互操作元素可以是有效的或無(wú)效的,并一起構(gòu)成屬于上述操作集合的一個(gè)互操作集合;其中上述操作集合與相關(guān)的互操作集合一起構(gòu)成一個(gè)干擾事件,這個(gè)干擾事件可以是有效的或者無(wú)效的。
13.根據(jù)權(quán)利要求12相應(yīng)的方法,其特征在于,當(dāng)一個(gè)干擾事件中的操作元素集合中的所有操作元素被激活,并且該干擾事件的操作集合不是其它有效的干擾事件的操作集合的子集時(shí),該干擾事件被激活。
全文摘要
一種避免在電信系統(tǒng)的業(yè)務(wù)間出現(xiàn)非期望的干擾的方法包括兩種軟件用于基本業(yè)務(wù)的基本軟件(51)和用于附加在基本業(yè)務(wù)上的業(yè)務(wù)的附加軟件。附加軟件又可以分成只對(duì)基本業(yè)務(wù)進(jìn)行操作的操作軟件(52)和對(duì)其余的附加軟件操作的附加軟件(59)。根據(jù)本發(fā)明,附加業(yè)務(wù)由操作元素表示。操作元件的集合構(gòu)成數(shù)學(xué)二項(xiàng)式樹中的節(jié)點(diǎn)。只有那些符合附加業(yè)務(wù)間的干擾(即不期望出現(xiàn)的行為)條件的集合才能構(gòu)成若干結(jié)構(gòu),所謂的干擾事件樹(55)。在實(shí)現(xiàn)一種附加業(yè)務(wù)之前,把它的操作元素與干擾事件樹(55)中的節(jié)點(diǎn)相比較,目的是確認(rèn)它的操作元素是否與屬于干擾事件樹的節(jié)點(diǎn)的操作元素相符合。只能選擇那些其操作元素的集合與附加業(yè)務(wù)的操作元素的集合或者由此得到的集合一致的干擾事件節(jié)點(diǎn)。其操作元素的集合是已經(jīng)被選擇的節(jié)點(diǎn)的操作元素的子集的干擾事件節(jié)點(diǎn)不能再選擇。把屬于干擾事件樹中所選的節(jié)點(diǎn)的互操作軟件(58)添加到基本軟件(51)中。
文檔編號(hào)H04Q3/00GK1129053SQ9419305
公開日1996年8月14日 申請(qǐng)日期1994年6月1日 優(yōu)先權(quán)日1993年6月11日
發(fā)明者R·揚(yáng)森 申請(qǐng)人:艾利森電話股份有限公司