嵌入式軟體系統程序的開發方法
2023-09-23 06:31:50 1
嵌入式軟體系統程序的開發方法
【專利摘要】本發明涉及一種嵌入式軟體系統程序的開發方法,包括根據嵌入式軟體系統程序的需求分析建立待開發嵌入式系統程序的需求模型;對需求模型進行分析和檢測,同時生成目標軟體系統程序所需要的原始碼,進而生成目標軟體系統程序;對目標軟體系統程序進行程序分析得出程序模型,將程序模型和需求模型進行比較分析以發現差異性,如發現差異性則對生成的目標軟體系統程序或需求模型進行修復步驟。本發明針對嵌入式軟體系統程序的特點,提供適合於嵌入式軟體系統程序的需求建模技術方案,將用戶使用自然語言表達的需求轉化為場景及行為表達式,為自動檢測軟體系統的需求是否正確和完整奠定了良好的基礎。
【專利說明】嵌入式軟體系統程序的開發方法
【技術領域】
[0001] 本本發明屬於軟體開發技術和工具領域,特別是涉及一種嵌入式軟體系統程序的 開發方法。
【背景技術】
[0002] 傳統的嵌入式軟體系統程序開發工作存在許多不足之處,主要表現在如下幾個方 面:
[0003] (1)高層次的系統需求分析階段易與軟體實現階段之間脫節。通常,根據用戶需求 建立的需求規格說明和需求模型是軟體實現的依據和規範,但在實際的軟體實現過程中由 於用戶需求的易變性和頻繁的程序改動,使得最終的源程序與最初的需求規格說明和需求 模型會產生不一致或矛盾,如果不及時修改最初的的需求規格說明和需求模型,這將導致 系統文檔間的不一致,使得花費了許多精力和成本建立的需求規格說明和需求模型不能發 揮應有的作用。
[0004] (2)由於上述的脫節,也導致在系統需求分析階段對需求模型的檢測與軟體實現 階段對源程序的測試工作脫節,導致需花費很多精力和成本來重複設計測試用例。
[0005] (3)缺乏完善的指導面向嵌入式軟體系統開發的框架和有效的支持從需求到源程 序的嵌入式軟體開發的方法和技術。
【發明內容】
[0006] 本發明的目的在於為克服現有技術的缺陷,而提供一種嵌入式軟體系統程序的開 發方法。
[0007] 為實現上述目的,本發明採用以下技術方案:一種嵌入式軟體系統程序的開發方 法,包括以下步驟:
[0008] S1根據嵌入式軟體系統程序的需求分析建立待開發嵌入式系統程序的需求模 型;
[0009] S2對步驟S1所述需求模型進行分析和檢測,同時生成目標軟體系統程序所需要 的原始碼,進而生成目標軟體系統程序;
[0010] S3對目標軟體系統程序進行程序分析得出程序模型,將程序模型和需求模型進行 比較分析以發現差異性,如發現差異性則對生成的目標軟體系統程序或需求模型進行修 復;
[0011] 其中步驟S1所述需求模型的建立包括如下步驟:
[0012] S11劃分子問題域、標識視點,根據自然語言描述的需求,建立相應的場景信息;
[0013] S12根據場景信息抽取與行為相關的信息,並利用行為描述語言描述行為相關的 信息,建立行為表達式;
[0014] S13建立行為描述語言模型,作為檢驗需求模型的各種特性的基礎;
[0015] S14利用模型檢驗方法檢測需求模型的一致性及需求模型所對應的系統需要檢測 的可信特性,如發現差異對需求模型進行修復。
[0016] 進一步,步驟S14所述對需求模型的分析和檢測包括如下步驟:
[0017] S141視點建模,生成視點行為模型;
[0018] S142檢查視點行為模型內的行為表達合法性、輸入/輸出行為的一致性和行為連 續性;
[0019] S143修改視點行為模型,直到每個視點都滿足行為表達合法性、輸入/輸出行為 的一致性和行為連續性要求;
[0020] S144根據視點的相關關係檢測視點行為模型間的一致性;
[0021] S145修改視點行為模型,直到所有相關視點行為模型間一致;
[0022] S146合併視點行為模型,得到系統行為模型;
[0023] S147檢測系統行為模型的行為有效性;
[0024] S148檢測系統行為模型的系統安全特性。
[0025] 進一步,步驟S2所述生成目標軟體系統程序所需要的原始碼包括如下步驟;
[0026] S21確定場景之間的關係;
[0027] S22依據場景內的輸入/輸出行為,得出功能模塊;
[0028] S23對視點內的參數池的參數進行定義;
[0029] S24編碼、調試和生成所需要的原始碼。
[0030] 進一步,步驟S3包括如下步驟:
[0031] S31編譯行為描述語言文本和目標軟體系統程序,建立行為描述語言文本和目標 軟體系統程序的元素表,為元素對應做準備;
[0032] S32對行為描述語言文本元素表中的行為和操作數據與目標軟體系統程序元素表 中的符號,包括函數、常量和變量進行人工對應;
[0033] S33參照建立的對應關係從目標軟體系統程序對應的中間語言中提取程序模型, 而行為描述語言模型由行為描述語言直接生成。
[0034] S34將行為描述語言模型和程序模型輸入到模型比較檢測工具中進行檢測,得到 檢測結果;
[0035] S35對檢測結果進行分析並查找可能存在的問題及其原因;
[0036] S36如果存在問題,則對行為描述語言或目標軟體系統程序進行修改以修復問 題;
[0037] S37 重複步驟 S31 至 S36。
[0038] 本發明與現有技術相比的有益效果是:1)針對嵌入式軟體系統程序的特點,本方 法使用場景和視點技術,提供適合於嵌入式軟體系統程序的需求建模技術方案,並且通過 劃分子問題域,進一步降低嵌入式系統需求建模難度。將用戶使用自然語言表達的需求轉 化為場景及行為表達式,從而能實現從自然語言到半形式化,最終到形式化的需求描述,為 自動檢測軟體系統的需求是否正確和完整奠定了良好的基礎。
[0039] 2)通過形式化的模型驗證,從語法正確性證明開始對整個需求模型進行驗證,同 時軟體系統的特性如可信特性也是通過軟體行為來驗證的。
[0040] 3)需求模型到原始碼的轉換可以自動化的完成,極大的提高了效率,並通過對生 成的目標軟體系統和需求模型進行比較分析所發現的差異性進行修復步驟最終得到目標 程序代碼。
[0041] 4)本方法所提供的面向代碼的逆向分析過程從原始碼自動出發,跟需求模型進行 比較,最終得到目標原始碼是否和需求模型一致的結論,來判斷目標軟體系統程序的正確 性。
[0042] 5)本方法有利於從形式化的角度建立和檢測軟體需求模型,進而轉換得到目標軟 件系統程序的原始碼,提高軟體的生產效率和正確性。
[0043] 下面結合附圖和具體實施例對本發明作進一步描述。
【專利附圖】
【附圖說明】
[0044] 圖1為本發明的流程圖;
[0045] 圖2為本發明的需求建模和對其分析檢測的流程圖;
[0046] 圖3為本發明驗證行為有效性的原理圖;
[0047] 圖4為本發明需求模型當中參數池定義的轉換對應圖;
[0048] 圖5為本發明原始碼的編碼、調試和源碼生成步驟圖;
[0049] 圖6為本發明程序模型和需求模型比較檢測的流程圖; 圖7為本發明無線傳感器仿真工作流程圖。
【具體實施方式】
[0050] 為了更充分理解本發明的技術內容,下面結合具體實施例對本發明的技術方案進 一步介紹和說明。
[0051] 如圖1所示,為本發明的流程圖,一種嵌入式軟體系統的開發方法,具體實施時可 以採用計算機實現以下流程的自動運行:
[0052] 步驟S1根據嵌入式軟體系統程序的需求分析建立待開發嵌入式系統程序的需求 模型;
[0053] 步驟S2對步驟S1所述需求模型進行分析和檢測,同時生成目標軟體系統程序所 需要的原始碼,進而生成目標軟體系統程序;
[0054] 步驟S3將目標軟體系統程序進行程序分析得出程序模型,將程序模型和需求模 型進行比較分析以發現差異性,如發現差異性則對生成的目標軟體系統程序或需求模型進 行修復;
[0055] 步驟S1中需求模型的建立包括如下步驟:
[0056] 步驟S11劃分子問題域、標識視點,根據自然語言描述的需求,建立相應的場景信 息;
[0057] 步驟S12根據場景信息抽取與行為相關的信息,並利用行為描述語言描述行為相 關的信息,建立行為表達式;
[0058] 步驟S13建立行為描述語言模型,作為檢驗需求模型的各種特性的基礎;
[0059] 步驟S14利用模型檢驗方法檢驗需求模型的一致性及需求模型所對應的系統需 要檢測的可信特性,如發現差異對需求模型進行修復。
[0060] 上述過程可以將系統的需求與該系統的行為有機地結合起來,從而可通過行為來 描述和檢驗待開發的嵌入式軟體系統程序的需求和行為各種可信特性,具體說明如下:
[0061] ①劃分子問題域
[0062] 對於嵌入式軟體系統,由於其對應的問題域繁多,所以在需求分析的開始就需要 將其分解為多個子問題域,然後根據每個子問題域施行需求分析。值得注意的是,問題域的 劃分方法應根據問題域的邏輯特性和問題域內部各成分間的邏輯關係進行。
[0063] ②標識視點
[0064] 根據相應的子問題域,從中找出所有的視點源及其關注點,並將它們標識為視點, 然後建立視點模板以及在該模板中填寫部分視點信息。
[0065] ③描述需求
[0066] 從每個視點源獲取相關的需求信息,經過分析整理,以自然語言的形式填入視點 模板的"需求描述"視點項中。
[0067] ④建立場景
[0068] 一個場景(也稱作腳本)是可以被行為者感受到的系統的一個完整的功能。場景 的描述主要用自然語言,而且根據已獲取的所有的有效行為並按它們的執行順序構成有序 的行為系列,從而構建出每一個場景。
[0069] ⑤使用行為描述語言建立行為表達式
[0070] 根據場景信息抽取與行為相關的信息,並利用行為描述語言描述行為相關的信 息,建立行為表達式。使用行為描述語言(BDL)來描述每個場景信息,並用行為表達式來表 示場景中的內容,在描述過程中可以採用逐步細化的方式來描述一個場景的行為模型,與 所有場景對應的多個行為表達式就構成系統的行為模型或需求模型,需求建模的流程圖如 圖2所示。
[0071] 本發明還提供了在此步驟形成的行為描述語言的需求模型實施例以供參考:
[0072] 該步驟中不採用自然語言,主要利用行為描述語言(BDL,Behaviors Description Language)表達行為模型。本發明採用行為描述語言這種形式化語言作為描述手段之一,其 主要用於嚴格地描述待開發軟體系統的行為模型,可以為以後自動檢驗待開發軟體系統的 各種特性奠定良好的基礎。行為描述語言對行為、場景到視點的描述表達都給出了嚴格的 表現形式,即設某個場景中包含η個有效行為,描述所得η個原子行為表達為
[0073] 原子行為標識1 :原子行為定義1 ;
[0074] 原子行為標識2 :原子行為定義2 ;
[0075] ......
[0076] 原子行為標識η :原子行為定義η ;
[0077] 場景行為表達式=場景中所有的η個原子行為及其原子行為間的關係;
[0078] 視點行為表達式=視點中所有場景行為表達式及其場景間的關係。
[0079] 具體實施時,按照這種確定的行為描述語言語法,計算機可以自動完成從自然語 言描述的需求到建立初始系統需求模型的全過程,然後通過修改和檢測最終形成正確的系 統需求模型。
[0080] 為了便於管理,本發明進一步提供了模型表達方式:系統行為模型可以表示為Μ =(V,R0, Rl,R2),其中V表示與待開發軟體系統相關的視點的集合,且V中每個視點對應 一個視點行為模型,R0、R1、R2分別表示V中視點間的重疊、順序和無關關係;視點行為模型 表示為Ml = (B,+,If,| |,;),其中B表示視點內所有場景行為表達式的集合。+,If,| |,; 分別表示B中場景間的非確定、確定選擇、並行和順序關係。這種形式化表示,可以保證視 點行為模型和系統行為模型在表達方面的正確性,以及防止視點間需求信息可能會發生重 疊從而導致行為模型間出現行為衝突和不一致。
[0081] 本發明還提供了實施例在此步驟形成的行為描述語言文本以供參考:
[0082] 令ABehID為原子行為標識,BehID為行為標識。
[0083] (1)原子行為:
[0084] 1)原子行為表達式
[0085] ABehID :f (sub, obj)
[0086] [When前置條件]
[0087] [INFrom(ID) (u1; ···.., un)]
[0088] [OUTTo (ID) (v" ...··,vj ] ·
[0089] 其中:f為主體sub施用於客體obj的服務、操作或動作。When,INFrom和OUTTo 分別為行為執行的前置條件,行為的輸入和輸出。
[0090] 2)空動作:ABehID :Idel.
[0091] 3)複合行為結束動作:ABehID :Return (ABehID)或 Return .
[0092] 其中:Return表示正常退出系統。
[0093] (2)簡單行為:| 一ABehID ;(原子行為構成簡單行為)
【權利要求】
1. 一種嵌入式軟體系統程序的開發方法,其特徵在於包括以下步驟: S1根據嵌入式軟體系統程序的需求分析建立待開發嵌入式系統程序的需求模型; S2對步驟S1所述需求模型進行分析和檢測,同時生成目標軟體系統程序所需要的源 代碼,進而生成目標軟體系統程序; S3對目標軟體系統程序進行程序分析得出程序模型,將程序模型和需求模型進行比較 分析以發現差異性,如發現差異性則對生成的目標軟體系統程序或需求模型進行修復; 其中步驟S1所述需求模型的建立包括如下步驟: S11劃分子問題域、標識視點,根據自然語言描述的需求,建立相應的場景信息; S12根據場景信息抽取與行為相關的信息,並利用行為描述語言描述行為相關的信息, 建立行為表達式; S13建立行為描述語言模型,作為檢驗需求模型的各種特性的基礎; S14利用模型檢驗方法檢測需求模型的一致性及需求模型所對應的系統需要檢測的可 信特性,如發現差異對需求模型進行修復。
2. 根據權利要求1所述嵌入式軟體系統程序的開發方法,其特徵在於步驟S14所述對 需求模型的分析和檢測包括如下步驟: S141視點建模,生成視點行為模型; S142檢查視點行為模型內的行為表達合法性、輸入/輸出行為的一致性和行為連續 性; S143修改視點行為模型,直到每個視點都滿足行為表達合法性、輸入/輸出行為的一 致性和行為連續性要求; S144根據視點的相關關係檢測視點行為模型間的一致性; S145修改視點行為模型,直到所有相關視點行為模型間一致; S146合併視點行為模型,得到系統行為模型; S147檢測系統行為模型的行為有效性; S148檢測系統行為模型的系統安全特性。
3. 根據權利要求1或2任一所述嵌入式軟體系統程序的開發方法,其特徵在於步驟S2 所述生成目標軟體系統程序所需要的原始碼包括如下步驟; S21確定場景之間的關係; S22依據場景內的輸入/輸出行為,得出功能模塊; S23對視點內的參數池的參數進行定義; S24編碼、調試和生成所需要的原始碼。
4. 根據權利要求1所述嵌入式軟體系統程序的開發方法,其特徵在於步驟S3包括如下 步驟: S31編譯行為描述語言文本和目標軟體系統程序,建立行為描述語言文本和目標軟體 系統程序的元素表,為元素對應做準備; S32對行為描述語言文本元素表中的行為和操作數據與目標軟體系統程序元素表中的 符號,包括函數、常量和變量進行人工對應; S33參照建立的對應關係從目標軟體系統程序對應的中間語言中提取程序模型,而行 為描述語言模型由行為描述語言直接生成; S34將行為描述語言模型和程序模型輸入到模型比較檢測工具中進行檢測,得到檢測 結果; S35對檢測結果進行分析並查找可能存在的問題及其原因; S36如果存在問題,則對行為描述語言或目標軟體系統程序進行修改以修復問題; S37重複步驟S31至S36。
【文檔編號】G06F9/44GK104216703SQ201410284639
【公開日】2014年12月17日 申請日期:2014年6月23日 優先權日:2014年6月23日
【發明者】毋國慶, 黃勃 申請人:武漢大學深圳研究院