本發(fā)明屬于軟件開發(fā)技術(shù)領(lǐng)域,特別是涉及一種基于以MGCF系統(tǒng)的軟件生成方法。
背景技術(shù):
在通信軟件的開發(fā)中,協(xié)議的消息和一般流程有明確的定義和語法格式。但是,當(dāng)我們采用自然語言描述協(xié)議的時候,就會給協(xié)議的實現(xiàn)帶來了很多問題。為了給協(xié)議設(shè)計提供堅實的基礎(chǔ),使用數(shù)學(xué)的方法不但能夠提供無二義性的描述,而且能夠?qū)γ枋鲞M行形式分析。協(xié)議形式化是指使用形式描述技術(shù)(FDT:Formal Description Technique)貫穿于協(xié)議開發(fā)的各個階段,使得協(xié)議的研究開發(fā)可以獨立于非形式的自然語言文本和最終實現(xiàn)代碼,避免協(xié)議驗證測試的復(fù)雜性。因此形式化方法在通信軟件的開發(fā)當(dāng)中占有重要地位。形式化方法與協(xié)議開發(fā)應(yīng)用的結(jié)合,始于20世紀(jì)60年代末期,首先開展的是協(xié)議的各種形式化技術(shù)的研究工作,如有限狀態(tài)機、Petri網(wǎng)、形式語言等,在此某礎(chǔ)上,建立了協(xié)議的形式化描述語言,如ESTELEL,SDL等。
在信軟件的開發(fā)中,另一個重要的問題是通信軟件測試問題。目前軟件的測試問題已成為人們共同關(guān)注的焦點。實際上,對于軟件來講,不論采用什么樣的技術(shù)和方法,軟件中都會有故障存在。采用新的編程語言、先進的開發(fā)方式、完菩的開發(fā)過程,可以減少故障的引入,但是不可能完全杜絕軟件中故障的存在。
在IMS體系結(jié)構(gòu)中,MGCTF(媒體網(wǎng)關(guān)控制功能)是主要的互聯(lián)設(shè)備之一,是IMS網(wǎng)絡(luò)同CS等網(wǎng)絡(luò)互通的網(wǎng)絡(luò)實體。從2000年開始,IP多媒體子系統(tǒng)(IMS,IP Multimedia Subsystem)—直受到廣泛的關(guān)注。IMS可以擴展新的3G業(yè)務(wù),提供更強的業(yè)務(wù)控制和管理能力;融合尚足接入網(wǎng)絡(luò)和移動接入網(wǎng)絡(luò),向網(wǎng)絡(luò)融合和下一代網(wǎng)絡(luò)邁進。隨著IMS標(biāo)準(zhǔn)的不斷完菩,2006年開始,大部分運營商都在著手進行IMS實驗,少部分運營商已經(jīng)開始進行IMS尚用部署。在IMS的發(fā)展中,與其他通信網(wǎng)絡(luò)的互連是一個非常重要的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于以MGCF系統(tǒng)的軟件生成方法,通過以MGCF系統(tǒng),基于SDL描述的通信系統(tǒng)生成C/C++的可執(zhí)行代碼,提高軟件開發(fā)通信協(xié)議的開發(fā)質(zhì)量。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
本發(fā)明為一種基于以MGCF系統(tǒng)的軟件生成方法,包括如下步驟:
步驟一,將SDL描述的通信系統(tǒng)自動生成C/C++的可執(zhí)行代碼;
步驟二,當(dāng)外部的人機接口與SDL的C編譯器結(jié)合使用時,如果主機和目標(biāo)系統(tǒng)之間采用TCP/IP通信;
步驟三,通過工具對SDL進行編輯、模擬和編譯。
優(yōu)選地,所述步驟一,將SDL描述的通信系統(tǒng)自動生成C/C++的可執(zhí)行代碼,具體步驟為:
開始域:在進程開始執(zhí)行的地方,當(dāng)進程實例被創(chuàng)建,就開始執(zhí)行;
狀態(tài)域:系統(tǒng)的描述一擴展有限狀態(tài)自動機為模型,表示為狀態(tài)域;
輸入符:輸入表示狀態(tài)機接受并消耗信號;
輸出域:通過信道將信號發(fā)送到一進程實例;
任務(wù)域:用于執(zhí)行與變量有關(guān)的動作;
過程調(diào)用:執(zhí)行一遍先前已經(jīng)定義好的過程描述功能;
分支域:分支操作結(jié)束遷移過程,然后根據(jù)一表達(dá)式的產(chǎn)值來產(chǎn)生多個遷移過程。
優(yōu)選地,所述步驟二中的通信協(xié)議通過Telelogic Tau工具進行實時軟件通信的開發(fā)。
優(yōu)選地,所述SDL系統(tǒng)結(jié)構(gòu)包括系統(tǒng):系統(tǒng)是最外層的、直接與外部環(huán)境交互的代理;模塊:模塊是包含進程或有限狀態(tài)機的代理;進程:進程包含擴展的有限狀態(tài)機,也包含進程;過程。
本發(fā)明具有以下有益效果:
本發(fā)明通過以MGCF系統(tǒng),基于SDL描述的通信系統(tǒng)生成C/C++的可執(zhí)行代碼,加快了軟件開發(fā)的過程,能有效的避免編程錯誤,提高軟件開發(fā)通信協(xié)議的開發(fā)質(zhì)量,降低開發(fā)和維護成本。
當(dāng)然,實施本發(fā)明的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的一種基于以MGCF系統(tǒng)的軟件生成方法流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1所示,本發(fā)明為一種基于以MGCF系統(tǒng)的軟件生成方法,包括如下步驟:
步驟一,將SDL描述的通信系統(tǒng)自動生成C/C++的可執(zhí)行代碼;
步驟二,當(dāng)外部的人機接口與SDL的C編譯器結(jié)合使用時,如果主機和目標(biāo)系統(tǒng)之間采用TCP/IP通信;
步驟三,通過工具對SDL進行編輯、模擬和編譯。
其中,步驟一,將SDL描述的通信系統(tǒng)自動生成C/C++的可執(zhí)行代碼,具體步驟為:
開始域:在進程開始執(zhí)行的地方,當(dāng)進程實例被創(chuàng)建,就開始執(zhí)行;
狀態(tài)域:系統(tǒng)的描述一擴展有限狀態(tài)自動機為模型,表示為狀態(tài)域;
輸入符:輸入表示狀態(tài)機接受并消耗信號;
輸出域:通過信道將信號發(fā)送到一進程實例;
任務(wù)域:用于執(zhí)行與變量有關(guān)的動作;
過程調(diào)用:執(zhí)行一遍先前已經(jīng)定義好的過程描述功能;
分支域:分支操作結(jié)束遷移過程,然后根據(jù)一表達(dá)式的產(chǎn)值來產(chǎn)生多個遷移過程。
其中,步驟二中的通信協(xié)議通過Telelogic Tau工具進行實時軟件通信的開發(fā)。
其中,SDL系統(tǒng)結(jié)構(gòu)包括系統(tǒng):系統(tǒng)是最外層的、直接與外部環(huán)境交互的代理;模塊:模塊是包含進程或有限狀態(tài)機的代理;進程:進程包含擴展的有限狀態(tài)機,也包含進程;過程。
值得注意的是,上述系統(tǒng)實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
另外,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁盤或光盤等。
以上公開的本發(fā)明優(yōu)選實施例只是用于幫助闡述本發(fā)明。優(yōu)選實施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實施方式。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發(fā)明的原理和實際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地理解和利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。