專利名稱:用于運行數(shù)據(jù)處理設(shè)備的方法、模塊單元、交換局及所屬的計算機程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于運行數(shù)據(jù)處理設(shè)備的方法,其中至少有一個處理器來執(zhí)行程序系統(tǒng)的指令。該程序系統(tǒng)包含有至少兩個子系統(tǒng),這些子系統(tǒng)確定了數(shù)據(jù)處理設(shè)備的給定功能,并且可以基本上相互獨立地進行編制。該子系統(tǒng)包含有用于執(zhí)行某種功能或某一子功能的軟件模塊。
程序系統(tǒng)通常被理解為由多個部分和大量指令組成的程序,以用于解決共同的重要任務(wù)。程序系統(tǒng)比如用于交換局中的連接組件上,以便控制不同傳輸協(xié)議的信令以及用戶之間的通信控制。程序系統(tǒng)的另一例子是用于控制數(shù)據(jù)處理設(shè)備的基本功能的一種操作系統(tǒng)。程序系統(tǒng)也可以是一種應(yīng)用程序,比如文本程序或表格計算。
有關(guān)的程序系統(tǒng)常常是在多年的發(fā)展過程中產(chǎn)生的,并且可以包含多至幾百萬條指令。在具有多個同樣的連接組件的數(shù)據(jù)處理設(shè)備以及交換裝置中,也可以同時處理單個或多個程序系統(tǒng)的指令。
程序系統(tǒng)一般包含多個子系統(tǒng),這些子系統(tǒng)確定了數(shù)據(jù)處理設(shè)備的給定功能。子系統(tǒng)可以基本相互獨立地來編制,也即這些子系統(tǒng)比如可以單獨地匯編或編譯。匯編或編譯之后所形成的子系統(tǒng)的指令序列借助一種所謂的“鏈接”程序來組合成程序系統(tǒng)。在此,鏈接程序把符號地址替換為數(shù)據(jù)處理設(shè)備存儲器的地址值。在交換局中,比如有一種子系統(tǒng)用于信令以及另一子系統(tǒng)用于通信控制。在操作系統(tǒng)中,比如由存儲器子系統(tǒng)接管存儲器管理的所有功能。文件子系統(tǒng)包含有需要被用來在數(shù)據(jù)處理設(shè)備上處理文件的數(shù)據(jù)。
子系統(tǒng)一般提供有多種功能。在用于通信控制的子系統(tǒng)中,有一種功能比如是來構(gòu)造主叫用戶與被叫用戶之間的通信。為了執(zhí)行一種功能往往需要幾千條指令。為此常常把該功能劃分成子功能。用于執(zhí)行一種功能或子功能的指令被合并成軟件模塊。軟件模塊比如就是一種指令序列,其中該指令序列在起始地址處開始,并在結(jié)束地址處結(jié)束。通常在執(zhí)行軟件模塊的指令之前提供一些參數(shù)。此外在執(zhí)行指令的過程中也可以生成結(jié)果參數(shù),其中該參數(shù)被存儲下來用于繼續(xù)處理。
編制和維護程序系統(tǒng)是困難而且耗費巨大的。所以必須標(biāo)注源程序正文中或者其它位置處的變更,以使第三方能輕易地理解指令序列。但尤其在實踐中,象指令序列自己的整個文檔一樣,很少能夠?qū)崿F(xiàn)完整而更新的變更文檔。從而常常導(dǎo)致具有多個版本的程序系統(tǒng)。所以比如在程序系統(tǒng)的開發(fā)階段,對于不同的地區(qū)具有不同的版本。在進一步開發(fā)程序系統(tǒng)的情況下,版本的數(shù)量會翻幾倍。目前程序系統(tǒng)的進一步開發(fā)變得越來越困難和耗費巨大,原因是必須考慮多種變更和子系統(tǒng)之間的相互依賴性。在程序系統(tǒng)中改正錯誤也是耗費巨大的,原因是一般必須為每個版本單獨地實施糾錯。
本發(fā)明的任務(wù)在于提供一種方法,該方法能夠?qū)崿F(xiàn)簡單地編制和維護在數(shù)據(jù)處理設(shè)備上所執(zhí)行的程序系統(tǒng)。另外還提供了一種數(shù)據(jù)處理設(shè)備、交換局的模塊單元、交換局以及計算機程序,其中借助它們能夠?qū)嵤┍景l(fā)明所述的方法。
本發(fā)明所涉及的任務(wù)通過具有權(quán)利要求1中所給出的方法步驟的方法而得到解決。其擴展方案在從屬權(quán)利要求中給出。
本發(fā)明是以如下知識為出發(fā)點子系統(tǒng)不僅適合于根據(jù)功能特征來劃分程序系統(tǒng),而且子系統(tǒng)還能夠被用來使程序系統(tǒng)中的地區(qū)匹配完全明顯化。因此在本發(fā)明中,第一子系統(tǒng)包含有需要在程序系統(tǒng)及該程序系統(tǒng)的相同開發(fā)階段的另一版本中執(zhí)行的功能軟件模塊。第二子系統(tǒng)包含有需要在兩個程序系統(tǒng)中不同地執(zhí)行的功能軟件模塊(地區(qū)變型)。通過這種措施,關(guān)于某一特定版本的變更可以在第二子系統(tǒng)中進行編程,而且,需要在多個版本中以相同方式執(zhí)行的功能包含在第一子系統(tǒng)中。這導(dǎo)致了需要在多個版本中以相同方式執(zhí)行的功能總共只需要進行一次編程,而且版本之間的差別能夠以簡單的方式來確定,其方式是只需確定哪些功能屬于第二子系統(tǒng)。從而不再會因缺少文檔而讓版本差別阻礙了進一步開發(fā)。
程序系統(tǒng)中的糾錯也以簡單的方式來實施。這樣,首先確定錯誤是否位于第一子系統(tǒng)(中性地區(qū)部分)或者第二子系統(tǒng)(特定地區(qū)部分)中。如果錯誤位于第一子系統(tǒng)中,那么可以集中地針對相同開發(fā)階段的所有程序版本而以相同的方式來進行糾錯。通常情況是第一子系統(tǒng)明顯大于第二子系統(tǒng)。只有當(dāng)錯誤位于第二子系統(tǒng)中時才必須為相同開發(fā)階段的各個版本另外對糾錯進行編程。
如果程序系統(tǒng)的進一步開發(fā)一直是基于第一子系統(tǒng),那么程序系統(tǒng)也會容易地被進一步開發(fā)成新的開發(fā)級。這意味著,在每個開發(fā)階段中第二子系統(tǒng)基于被進一步開發(fā)的第一子系統(tǒng)而重新進行了匹配。通過這種措施避免了再次變更相對于第一子系統(tǒng)而已變化的第二子系統(tǒng)。一個開發(fā)階段的所有地區(qū)項目都以第一子系統(tǒng)為基礎(chǔ)。通過這種措施避免了多個地區(qū)版本的軟件變得混雜。
在本發(fā)明的一個改進方案中,軟件模塊的起始地址被存儲在程序系統(tǒng)的轉(zhuǎn)移表格中。在執(zhí)行軟件模塊之前,借助轉(zhuǎn)移表格來求出軟件模塊的起始地址。本發(fā)明的該改進方案的出發(fā)點在于,一方面組合地運用了第一子系統(tǒng)與第二子系統(tǒng),另一方面運用了轉(zhuǎn)移表格,從而使得可簡單地分離成第一子系統(tǒng)與第二子系統(tǒng)。通過改變轉(zhuǎn)移表格中的起始地址,可以選擇第一子系統(tǒng)中的軟件模塊或第二子系統(tǒng)中的軟件模塊。這比如根據(jù)軟件模塊是屬于特定地區(qū)軟件(子系統(tǒng)2)還是屬于中性地區(qū)軟件(子系統(tǒng)1)來實現(xiàn)。從而由轉(zhuǎn)移表格中的錄入項按照轉(zhuǎn)接的方式來確定是否應(yīng)該用第一子系統(tǒng)或第二子系統(tǒng)中的軟件模塊來執(zhí)行某一確定的功能。
在另一擴展方案中,第一子系統(tǒng)的指令被存儲在數(shù)據(jù)處理設(shè)備存儲器的第一相關(guān)地址區(qū)域的存儲單元中。通過這種措施簡化了存儲器模塊至第一子系統(tǒng)的分配,其原因是只需要測出所涉及的軟件模塊是否存儲在第一地址范圍中。如果第二子系統(tǒng)的指令被存儲在存儲器的第二相關(guān)地址范圍的存儲器單元中,則也適用相應(yīng)的考慮。
在本發(fā)明的一種方案中,針對在運行數(shù)據(jù)處理設(shè)備時所出現(xiàn)的各種事件而分別把所要執(zhí)行的軟件模塊的起始地址存儲在轉(zhuǎn)移表格中。根據(jù)這種事件的類型來求出如下存儲器單元的地址,即在該存儲器單元中存儲了要執(zhí)行的軟件模塊的起始地址。
從而,事件和起始地址的分配可以以簡單的方式來進行,其原因是在出現(xiàn)第一事件的情況下只須從第一存儲器單元中讀出起始地址,而在出現(xiàn)第二事件的情況下只須讀出第二地址的存儲器單元。存儲器單元的存儲器地址優(yōu)選地構(gòu)成了一個連續(xù)的區(qū)域。從而使事件號便成為了訪問轉(zhuǎn)移表格的指數(shù)。
轉(zhuǎn)移表格優(yōu)選地存放在第二子系統(tǒng)中。這樣,轉(zhuǎn)移表格中的變化就涉及到無論如何也要變化的第二子系統(tǒng)。第一子系統(tǒng)對于開發(fā)階段的所有版本繼續(xù)保持不變。
在下一擴展方案中,第一子系統(tǒng)至少包含有用于如下功能的輔助軟件模塊,即第二子系統(tǒng)針對該功能包含有不同于所述輔助軟件模塊的軟件模塊。該不同的軟件模塊的地址被存儲在轉(zhuǎn)移表格中,而輔助軟件模塊的地址則不。因而所述輔助軟件模塊的地址不能通過轉(zhuǎn)移表格來調(diào)用。通常,輔助軟件模塊也不是通過處理器來執(zhí)行的。如果稍后需要確定在開發(fā)階段的基本版本中是怎樣對某一特定功能進行編程的,那么該輔助軟件模塊則被用作比較基準(zhǔn)。通過該擴展方案雖然在第一子系統(tǒng)中存儲了沒有被執(zhí)行的指令,卻避免了由于刪除該指令而改變地址。如果對第一子系統(tǒng)中的錯誤進行校正,那么就可以以相同的方式對開發(fā)階段的所有版本進行校正,其方式是通過在具有錯誤指令的相同地址上存儲新的指令。校正的引入可以通過輔助程序來進行,由該輔助程序構(gòu)造通向數(shù)據(jù)處理設(shè)備的數(shù)據(jù)傳輸鏈路。無錯誤的指令序列用英語也稱為patch(修補程序)。
本發(fā)明的另一優(yōu)點在于因中性項目軟件(子系統(tǒng)1)中的錯誤而發(fā)生的變更對于開發(fā)階段的所有地區(qū)變型來說只需要消除一次(子系統(tǒng)1),并從而可以同樣地被引入到所有的地區(qū)變型中。
在一種方案中把本發(fā)明所述的方法應(yīng)用于交換局的運行。軟件模塊根據(jù)事件以及根據(jù)交換局的轉(zhuǎn)接狀態(tài)來確定交換局的功能。軟件模塊的功能可以借助所謂的狀態(tài)激發(fā)圖或者SDL圖(說明與描述語言)來進行描述。軟件模塊指令的執(zhí)行在一個特定的狀態(tài)下開始,并且也在一個特定的狀態(tài)下結(jié)束。根據(jù)激發(fā)或者事件來選擇有關(guān)狀態(tài)所屬的軟件模塊。在所選擇的軟件模塊的指令被執(zhí)行之后,交換局再次處于一個確定的狀態(tài)并等待新的激發(fā)。如果在該擴展方案中也采用轉(zhuǎn)移表格,那么在轉(zhuǎn)移表格中對于每個狀態(tài)所出現(xiàn)的每個激發(fā)恰好都有一個錄入項。
在應(yīng)用于交換局的本發(fā)明方法的改進方案中,軟件模塊也包含有用來調(diào)用子程序的跳轉(zhuǎn)指令。在轉(zhuǎn)移表格或者第二轉(zhuǎn)移表格中也標(biāo)注了子程序的起始地址。在調(diào)用子程序之前,借助轉(zhuǎn)移表格來求出子程序的起始地址。通過該措施,子程序也可以被分配給子系統(tǒng)。上述針對軟件模塊所解釋的技術(shù)效果也適合于所述的子程序。
此外本發(fā)明還涉及用于實施本發(fā)明方法的計算機程序和數(shù)據(jù)處理設(shè)備、具有該數(shù)據(jù)處理設(shè)備的模塊單元以及含有這種模塊單元的交換局。從而,上述技術(shù)效果也適合于這些裝置。
下面借助附圖對本發(fā)明的實施例進行詳細(xì)解釋。其中
圖1示出了一種狀態(tài)激發(fā)圖,圖2示出了在程序系統(tǒng)開發(fā)階段的不同版本中的子系統(tǒng)的原理描述,圖3示出了在子系統(tǒng)中所包含的軟件模塊,以及圖4示出了基本版本和特定項目版本的開發(fā)階段。
圖1示出了用于構(gòu)造兩個用戶之間的通信連接的一種狀態(tài)激發(fā)圖。在狀態(tài)Z2中,由用戶程序所確定的交換局信令處理來等待用戶的撥號,參見方法步驟12。如果在狀態(tài)Z2中交換局接收到數(shù)字,那么該數(shù)字則被輸出到連接控制器中以用于繼續(xù)分析,參見步驟14。
在步驟14之后,號碼為“01”的時間監(jiān)視器停止,參見步驟16。接著,根據(jù)所接收的數(shù)字是否涉及第一數(shù)字或者是否已接收了緊接于第一數(shù)字之后的數(shù)字來執(zhí)行其他的步驟,以便處理“數(shù)字接收”事件,參見步驟18。這些步驟用劃線箭頭20和22來表示。執(zhí)行完這些步驟之后,交換局再次返回到狀態(tài)Z2,參見方法步驟24。
在借助方法步驟14至24所說明的控制過程旁邊還考慮了在狀態(tài)Z2中的其他事件。比如主叫用戶A可能在撥號之前再次掛機,參見步驟26。在狀態(tài)Z2中要處理的其他事件在圖1中只進行了簡單表示,參見箭頭25。如果用戶在一個時間界限內(nèi)沒有進行撥號,那么時間監(jiān)視器“01”的過程就屬于該事件。此外,在狀態(tài)Z2中還必須由連接控制器對撥號者進行識別。
在方法步驟26之后復(fù)位時間監(jiān)視器,參見方法步驟28。其他的方法步驟-譬如斷開撥號接收器和斷開撥號音-在圖1中是用劃線箭頭30來表示的。在“用戶掛機”事件被處理之后—參見步驟26,有關(guān)用戶連接的信令處理被設(shè)置成狀態(tài)Z1,參見步驟32。這是一種靜止?fàn)顟B(tài),其中由用戶程序等待從其他功能單元、比如連接控制器到來的信息。
圖2的a部分示出了交換局中用戶程序的程序系統(tǒng)基本版本的子系統(tǒng)50和52的原理描述。該子系統(tǒng)50在程序系統(tǒng)開發(fā)階段的所有版本中都是相同的。作為軟件模塊,它具有所謂的STEP TABLE(步驟表格),其中在圖2的a部分中示出了步驟表格54。該步驟表格包含有在特定激發(fā)時和特定狀態(tài)中需執(zhí)行的方法步驟。這樣,步驟表格54就包含有由處理器執(zhí)行的指令,以執(zhí)行方法步驟14至24,也參見圖1。所述的處理器位于連接組件中,其中該連接組件在交換局處構(gòu)成了連接外部線路的接口。
子系統(tǒng)52包含有轉(zhuǎn)移表格56以及程序部分58。具有如下程序部分的子系統(tǒng)50也被稱為子系統(tǒng)1,即該程序部分對于所有的開發(fā)階段版本都是相同的。程序部分58包含有與開發(fā)階段的各版本有關(guān)的程序部分。因此它用單獨的子系統(tǒng)2來表示。開發(fā)階段的基本版本沒有單獨的程序部分。因此程序部分58是空的,并用劃線來表示。
轉(zhuǎn)移表格56包含有起始地址的錄入項,步驟表格在該起始地址處開始。在圖2的a部分描繪了這種錄入項,參見符號60。其他的錄入項用三個點62來表示。當(dāng)在狀態(tài)Z2中接收到一個數(shù)字時-參見箭頭64及圖1-,那么就對錄入項60進行分析。由處理器讀出錄入項60,并在錄入項60所存儲的地址處繼續(xù)所述的處理。這就是步驟表格54的起始地址,參見箭頭66。在執(zhí)行步驟表格54的指令序列的過程中,是如前所述的那樣執(zhí)行方法步驟14至24,參見圖1。然后返回到狀態(tài)Z2,參見箭頭68。
劃線70是表示把程序系統(tǒng)分成兩個子系統(tǒng)50和52。轉(zhuǎn)移表格56中的錄入項60、62具有轉(zhuǎn)接器的功能,借助該功能可以從子系統(tǒng)50或52中把步驟表格選擇出來。在基本版本中,轉(zhuǎn)移表格56中的全部錄入項都指向子系統(tǒng)50中的步驟表格,見轉(zhuǎn)接位置I。
圖2的b部分示出了用戶程序子系統(tǒng)80和82的原理描述,其中該子系統(tǒng)是用于程序系統(tǒng)同一開發(fā)階段的另一地區(qū)變型。比如圖2的b部分所示出的用戶程序適合于另一運營商的電信網(wǎng)絡(luò)。
子系統(tǒng)80(子系統(tǒng)1)是基本版本的子系統(tǒng)50的拷貝。從而,子系統(tǒng)80也包含有步驟表格84,該表格與步驟表格54相同。
子系統(tǒng)82(子系統(tǒng)2)象子系統(tǒng)52一樣也同樣包含有轉(zhuǎn)移表格86以及程序部分88。假定在其他運營商的子系統(tǒng)中必須在狀態(tài)Z2出現(xiàn)數(shù)字的情況下執(zhí)行另外的方法步驟,如圖1中所示。因此可以不使用步驟表格84的指令序列。為另一電信網(wǎng)絡(luò)而進行編程的指令序列被存儲在步驟表格90中,其中該步驟表格是單獨的編程部分88的一部分。如果在狀態(tài)Z2中接收到了數(shù)字,那么轉(zhuǎn)移表格86中的錄入項91就由處理器讀出來。錄入項91象錄入項60在轉(zhuǎn)移表格56中一樣位于轉(zhuǎn)移表格86中相同的位置。然而錄入項91是指向子系統(tǒng)82的程序部分88中的步驟表格90。這樣,當(dāng)在狀態(tài)Z2中接收到數(shù)字時,處理器就讀出錄入項91,參見箭頭92。所述的處理便繼續(xù)到錄入項91所存儲的地址上。這是步驟表格90的起始地址,參見箭頭94。在處理完步驟表格90的指令序列之后,用戶程序被置為狀態(tài)Z1,參見箭頭96。
從而,錄入項91也象轉(zhuǎn)接器一樣進行動作,借助這種轉(zhuǎn)接器可以在步驟表格84和步驟表格90之間切換。在圖2的b部分中“轉(zhuǎn)接器”位于轉(zhuǎn)接位置II,其中該位置指向子系統(tǒng)82中的步驟表格。
在轉(zhuǎn)移表格86中,錄入項91旁邊還具有用三個點表示的另外錄入項98。轉(zhuǎn)移表格86中的錄入項91、98的一部分指向子系統(tǒng)80中的步驟表格,而錄入項91、98的另一部分則指向子系統(tǒng)82的步驟表格。
在圖2的b部分中,劃線100是表示把子系統(tǒng)80和82分開。分隔線100表示在相同開發(fā)階段的其他版本中也均具有子系統(tǒng)80。然而不同的是在子系統(tǒng)82方面。這樣,對于每個項目都具有自己的轉(zhuǎn)移表格和自己的單獨程序部分。
圖3示出了在子系統(tǒng)80和82中所包含的轉(zhuǎn)移表格和步驟表格。在子系統(tǒng)82的單獨程序部分88中,除步驟表格90外還描繪了一個子程序110。子系統(tǒng)82除轉(zhuǎn)移表格86之外還具有狀態(tài)激發(fā)表格112以及第二轉(zhuǎn)移表格114。狀態(tài)激發(fā)表格112和轉(zhuǎn)移表格86及114被包括在程序系統(tǒng)82的子系統(tǒng)116中。在子系統(tǒng)80中,除步驟表格84外還描繪了步驟表格118和子程序120。
在狀態(tài)激發(fā)表格112中存儲了存儲器地址值,其中該存儲器地址值被分配給特定的狀態(tài)Z1、Z2和Z3以及特定的事件E1、E2、E3和E4。這種分配是通過一種矩陣表來表示的,其中狀態(tài)Z1、Z2和Z3分別被分配給一行,而事件E1、E2、E3和E4分別被分配給一列。在相應(yīng)行和相應(yīng)列的交點處存儲有存儲器地址值。比如,狀態(tài)激發(fā)表格112中第二行的第一存儲器值被分配給在狀態(tài)Z2中接收到數(shù)字的事件E1,參見符號122。在狀態(tài)激發(fā)表格的該區(qū)域標(biāo)注了存儲器單元的地址,而在該存儲器單元中存儲有錄入項91,參見箭頭92。錄入項91包含有地址值A(chǔ)DR0,其中在該地址值處開始步驟表格90,參見箭頭94。狀態(tài)Z2中的事件E1的處理已經(jīng)借助圖2的b部分進行了解釋。
另外在狀態(tài)激發(fā)表格112中還標(biāo)有一個區(qū)域124,當(dāng)在狀態(tài)Z3中出現(xiàn)事件E4時由處理器讀出該區(qū)域。區(qū)域124包含有轉(zhuǎn)移表格86的錄入項126的存儲器地址值。在錄入項126中存儲有地址ADR1,該地址值為步驟表格118的指令序列的起始地址,參見箭頭128。在步驟表格118中示出了匯編指令。MOV表示一種移位指令,借助該指令把數(shù)據(jù)從某一存儲器地址中讀出來,并將其寫到另一存儲器地址中。CALL表示一種跳轉(zhuǎn)指令,在對步驟表格118中的指令進行處理的過程中借助該指令轉(zhuǎn)移到某一子程序。
這樣,當(dāng)進行第一子程序調(diào)用時,在處理步驟表格118的指令時首先在轉(zhuǎn)移表格114中讀出錄入項130,參見箭頭132。在錄入項130中存儲有地址值A(chǔ)DR2,其中該地址值給出了子程序110的指令的起始地址。然后在地址ADR2處對子程序110的指令繼續(xù)進行指令處理。從而,借助轉(zhuǎn)移表格114來對子程序進行調(diào)用。處理完子程序110的指令之后,在步驟表格118中對位于所述子程序的調(diào)用指令之后的指令繼續(xù)進行處理。子程序110被存儲在子系統(tǒng)82中,原因是對于不同的版本有不同的子程序。
然后在處理步驟表格118的指令的過程中對子程序120進行子程序調(diào)用。在此,首先從轉(zhuǎn)移表格114中讀出錄入項136,參見箭頭137。在錄入項136中存儲有地址值A(chǔ)DR3,該地址值給出了子程序(120)的指令起始地址。從而借助錄入項136來進行子程序(120)的調(diào)用,參見箭頭138。處理完子程序(120)的指令之后再繼續(xù)進行步驟表格118中的處理。子程序120包含在子系統(tǒng)80中,原因是對于一個開發(fā)階段的所有版本來說該子程序都是相同的。
從而借助轉(zhuǎn)移表格114對子系統(tǒng)80以及子系統(tǒng)82中的子程序進行了選擇。轉(zhuǎn)移表格86是在步驟表格之間進行選擇,而在轉(zhuǎn)移表格114中也對步驟表格中的子程序進行了選擇。
圖4示出了信令程序基本版本在垂直軸140上劃分出來的開發(fā)階段V1、V2和V3。在此假設(shè)版本V2具有基本版本V1十倍多的業(yè)務(wù)特征?;景姹綱3再次具有基本版本V2十倍多的業(yè)務(wù)特征。圖4的水平方向上針對不同開發(fā)階段示出了地區(qū)版本的單獨編程部分。地區(qū)特有的編程部分I1與基本版本的差別為Δ1。
在版本V2的地區(qū)特有程序部分I2的編程中,其出發(fā)點是基本版本V2,其方式是通過對基本版本V2與單獨編程部分I2之間的差別Δ2進行編程。I1部分的變更沒有直接在I2部分中進行,參見箭頭142。從而避免了必須對已經(jīng)變化的I1部分再次進行變更。版本I3的單獨程序部分I3再次根據(jù)基本版本V3來編制,其方式是根據(jù)基本版本V3來對變化部分Δ3來進行編程。
通過使用共同的子系統(tǒng)和單獨的子系統(tǒng),可以避免對變化部分的改變以及對變化部分的多次改變。信令程序的編制、進一步開發(fā)和維護被明顯簡化。
在需要實施改變的多數(shù)情況下,子系統(tǒng)1中的修補程序可以在世界范圍內(nèi)沒有變化地進行引用。只有當(dāng)修補程序涉及如下程序部分,即該程序部分在特定項目中已由子系統(tǒng)2的一部分代替,那么就需要編制第二修補程序,以便把第一修補程序的功能性轉(zhuǎn)換成子系統(tǒng)2的一部分。但需要編制第二修補程序的情況出現(xiàn)得相對較少,原因是子系統(tǒng)2比子系統(tǒng)1包含少得多的指令。
權(quán)利要求
1.用于運行數(shù)據(jù)處理設(shè)備的方法,其中至少有一個處理器來執(zhí)行程序系統(tǒng)的指令,該程序系統(tǒng)包含至少兩個子系統(tǒng)(80、82),這兩個系統(tǒng)確定了數(shù)據(jù)處理設(shè)備的給定功能,并且可以基本相互獨立地編制,子系統(tǒng)(80、82)包含有用于執(zhí)行一種功能或子功能的軟件模塊(90、118),第一子系統(tǒng)(80)包含有需要在程序系統(tǒng)和該程序系統(tǒng)的另一版本中同樣地執(zhí)行的功能軟件模塊(118),以及其中,第二子系統(tǒng)(82)包含有需要在兩個程序系統(tǒng)中不同地執(zhí)行的功能軟件模塊(90)。
2.如權(quán)利要求1所述的方法,其特征在于,在程序系統(tǒng)的轉(zhuǎn)移表格(86)中存儲所述軟件模塊(90,118)的起始地址(ADR0,ADR1),在執(zhí)行軟件模塊(90,118)的指令之前,借助轉(zhuǎn)移表格(86)來求出軟件模塊(90,118)的起始地址(ADR0、ADR1)。
3.如前述權(quán)利要求之一所述的方法,其特征在于,第一子系統(tǒng)(80)的指令被存儲在數(shù)據(jù)處理設(shè)備存儲器的第一地址范圍的存儲器單元中,而且/或者第二子系統(tǒng)(82)的指令被存儲在所述存儲器的第二地址范圍的存儲器單元中。
4.如前述權(quán)利要求之一所述的方法,其特征在于,在轉(zhuǎn)移表格(86)中針對不同的事件(E1至E4)而分別把在出現(xiàn)所述事件(E1至E4)時所要執(zhí)行的軟件模塊(90、118)的起始地址(ADR1至ADR3)存儲在數(shù)據(jù)處理設(shè)備存儲器的存儲器單元中,其中這些事件是在運行數(shù)據(jù)處理設(shè)備過程中出現(xiàn)的,并且,根據(jù)事件(E1至E4)的種類來求出如下存儲器單元(90、126)的地址,即在該存儲器單元中存儲了所要執(zhí)行的軟件模塊(90、118)的起始地址(ADR1、ADR2)。
5.如前述權(quán)利要求之一所述的方法,其特征在于,轉(zhuǎn)移表格(86)是第二子系統(tǒng)(82)的一部分。
6.如前述權(quán)利要求之一所述的方法,其特征在于,第一子系統(tǒng)(80)包含有至少一種用于如下功能的輔助軟件模塊(84),即第二子系統(tǒng)針對該功能而包含有不同于所述輔助軟件(84)的軟件模塊(90),并且,在轉(zhuǎn)移表格(86)中存儲所述不同的軟件模塊(90)的地址(ADR0),而不是輔助軟件模塊(84)的地址。
7.如前述權(quán)利要求之一所述的方法,其特征在于,該方法應(yīng)用在交換局中,并且,軟件模塊(90、118)根據(jù)事件(E1至E4)并根據(jù)交換局的轉(zhuǎn)接狀態(tài)(Z1至Z3)來確定交換局的功能。
8.如前述權(quán)利要求7所述的方法,其特征在于,軟件模塊(80)至少包含有用于調(diào)用子程序(110)的跳轉(zhuǎn)指令,在轉(zhuǎn)移表格(114)中標(biāo)注了子程序(110)的起始地址(ADR2),在執(zhí)行子程序(110)之前,借助轉(zhuǎn)移表格(114)來求出子程序(110)的起始地址(ADR2)。
9.用于執(zhí)行如前述權(quán)利要求之一所述的方法的數(shù)據(jù)處理設(shè)備,具有用于存儲程序系統(tǒng)指令的存儲器,其中該程序系統(tǒng)包含有至少兩個子系統(tǒng)(80、82),而這些子系統(tǒng)確定了數(shù)據(jù)處理設(shè)備的給定功能,并且可以基本相互獨立地進行編制,具有包含在子系統(tǒng)(80、82)中的、用于執(zhí)行一種功能或子功能的軟件模塊(90、118),具有至少一個用于執(zhí)行指令的處理器,還具有存儲在存儲器中的轉(zhuǎn)移表格(86),在該轉(zhuǎn)移表格中存儲了軟件模塊(90、118)的起始地址(ADR1、ADR2),其特征在于,第一子系統(tǒng)(80)包含有需要在程序系統(tǒng)中以及在該程序系統(tǒng)的另一版本中相同地執(zhí)行的功能軟件模塊(118),第二子系統(tǒng)(82)包含有需要在兩個程序系統(tǒng)中不同地執(zhí)行的功能軟件模塊(90)。
10.用于交換局的模塊單元,其特征在于如權(quán)利要求9所述的數(shù)據(jù)處理設(shè)備。
11.交換局,其特征在于如權(quán)利要求10所述的模塊單元。
12.具有可以由計算機的處理器執(zhí)行的指令序列的計算機程序,其特征在于,在執(zhí)行指令序列過程中促使計算機執(zhí)行如權(quán)利要求1至8之一所述的步驟。
全文摘要
本發(fā)明涉及一種用于運行數(shù)據(jù)處理設(shè)備的方法,其中由處理器來執(zhí)行程序系統(tǒng)的指令。該程序系統(tǒng)由兩個子系統(tǒng)(80、82)組成。第一子系統(tǒng)(80)包含有需要在程序系統(tǒng)和該程序系統(tǒng)的另一版本中同樣地執(zhí)行的功能軟件模塊(118)。第二子系統(tǒng)(82)包含有需要在兩個程序系統(tǒng)中不同地執(zhí)行的軟件模塊。
文檔編號G06F9/44GK1390327SQ00814388
公開日2003年1月8日 申請日期2000年8月18日 優(yōu)先權(quán)日1999年8月23日
發(fā)明者M·埃德, K·洛伊特納, S·里德爾, B·茨廷格 申請人:西門子公司