專利名稱:一種基于模型庫的模型元素一致性保障方法
技術(shù)領域:
本發(fā)明涉及一種模型庫中模型元素的處理方法,尤其涉及在使用了模型庫的系統(tǒng) 中保持模型庫中的模型元素與系統(tǒng)模型中的模型元素之間一致性的方法,屬于集成開發(fā)環(huán) 境技術(shù)領域。
背景技術(shù):
AUTOSAR(AUTomotive Open System ARchitecture)是一個開放的汽車電子軟件 架構(gòu),由寶馬、博世、大陸等著名汽車公司聯(lián)合推出。自2003年起,各伙伴公司攜手合作,致 力于為汽車工業(yè)開發(fā)一個開放的、標準化的軟件架構(gòu)。AUT0SAR這個架構(gòu)有利于車輛電子系 統(tǒng)軟件的交換與更新,并為高效管理愈來愈復雜的車輛電子、軟件系統(tǒng)提供了一個基礎。在其軟件系統(tǒng)中,軟件組件的可重用是AUT0SAR標準帶來的重大便利,在一般的 針對AUT0SAR標準研發(fā)的基于模型驅(qū)動的集成開發(fā)環(huán)境中,都會設計模型庫來保存用戶建 立的模型,以方便模型的重用。模型庫中可保存組件,接口和數(shù)據(jù)類型等各種模型信息。如 果用戶在建模時要使用模型庫中已存儲的模型元素,可以從模型庫中直接取出該元素,在 建模環(huán)境中生成一個和該模型元素相同的模型元素實體(可稱其為模型庫中元素的副本 元素),從而避免了重復建模。但是,用戶在建模過程中可能會對從模型庫中取出的模型元素進行修改,并依據(jù) 修改后的模型元素建立系統(tǒng)模型,而此時系統(tǒng)模型中的模型元素與模型庫中模型元素就會 有不一致的問題,為后續(xù)工作例如進行系統(tǒng)模型校對時帶來極大的麻煩。因此,能否設計一種方法,能夠確保即便用戶在建立系統(tǒng)模型的過程中修改過副 本元素,仍能與模型庫的模型元素保持一致,為本領域技術(shù)人員開辟了嶄新的思路。
發(fā)明內(nèi)容
為了解決用戶系統(tǒng)模型中的模型元素與模型庫中的模型元素之間一致性的問題, 本發(fā)明旨在提供一種基于模型庫的模型元素一致性保障方法。采用的技術(shù)方案如下該基于模型庫的模型元素一致性保障方法主要包括如下步驟通過標記位來區(qū)分模型元素是從模型庫中取用的還是用戶自己新定義的;通過索引數(shù)組來記錄模型庫中的元素在系統(tǒng)模型中的使用位置;用戶創(chuàng)建或者存儲模型元素時,根據(jù)用戶的動作對所述標記位和索引數(shù)組做出相 應的設置和記錄;用戶保存模型文件時,根據(jù)所述標記位逐一檢查文件中所有從模型庫中取用的模 型元素,并將其與模型庫中的對應的原始描述信息進行比較,判斷該元素是否已被用戶修 改,若被修改,提示用戶是否更新模型庫中保存的模型元素和已經(jīng)在系統(tǒng)模型中其他位置 使用的該模型元素。優(yōu)選地,為所有放到模型庫中的模型元素設置所述標志位,將新建立的模型元素 標記位設為第一標記,將從模型庫中直接取用的模型元素標記位設為第二標記。
優(yōu)選地,用戶用建模工具來創(chuàng)建模型元素時,生成一個原始元素,并設置該元素的 標記位為第一標記。優(yōu)選地,用戶從模型庫中取用模型元素來創(chuàng)建模型元素時,先在系統(tǒng)模型中生成 一個與該元素相同的模型元素實體,再把該模型元素的使用位置記錄在模型庫中該模型元 素的所述索引數(shù)組中。優(yōu)選地,用戶要把一模型元素存入模型庫中時,先把該模型元素標記位的值設為 第二標記,再在模型庫中生成一個與該模型元素相同的模型元素并存放,最后把該模型元 素的位置信息記錄在模型庫中對應該模型元素的所述索引數(shù)組中。優(yōu)選地,用戶保存模型文件時,逐個檢查和處理該模型文件內(nèi)所有所述標記位為 第二標記的模型元素,將該模型元素與模型庫中的原始描述信息進行比較,如果已經(jīng)被修 改,則提示用戶是否修改該元素在模型庫中的原始值,如果用戶選擇否,則置該元素的標記 位為第一標記;如果用戶選擇是,則用該模型元素替換在模型庫中的對應元素,并根據(jù)模 型庫中該元素的索引數(shù)組找到用戶所建的系統(tǒng)模型中該元素所有的復制品,并更新它們的 值;當所有模型元素標記位為第一標記后保存文件。本發(fā)明提供了一種在集成開發(fā)環(huán)境中的模型元素處理方法,其優(yōu)點在于1.既方便了用戶從模型庫中取用模型元素來直接建模,又方便用戶在該模型元素 的基礎上進行修改,形成新的模型元素。2.當用戶需要保存模型文件時,通過提示用戶,并讓用戶選擇自己期望的操作來 保障系統(tǒng)模型中的模型元素與模型庫中相應的模型元素之間保持一致。3.只在模型文件需要被保存前由系統(tǒng)自動執(zhí)行模型元素一致性的檢查,而且檢查 時只檢查那些從模型庫中取用的模型元素,這樣既節(jié)約了系統(tǒng)資源,又避免了人工檢查的 不確定性。
圖1 本發(fā)明基于模型庫的模型元素一致性保障方法中所使用的模型元素創(chuàng)建方 法;圖2 本發(fā)明基于模型庫的模型元素一致性保障方法中所使用的模型元素存儲方 法;圖3 本發(fā)明基于模型庫的模型元素一致性保障方法中所使用的模型文件保存方 法。
具體實施例方式下面結(jié)合附圖和實例對本發(fā)明作進一步說明若要實現(xiàn)本發(fā)明所提出的模型元素一致性保障方法,首先要有數(shù)據(jù)結(jié)構(gòu)上的準 備1.為所有可以放到模型庫中的模型元素(例如組件和接口)設置標志位Flag,該 模型元素是用戶新建立的標記為第一標記(0),該模型元素是從模型庫中直接取用的標記 為第二標記(1);2.為模型庫中的每個模型元素設置一個使用位置索引數(shù)組Index,用來記錄該元素在系統(tǒng)模型中的使用位置信息。下面結(jié)合貫穿整個系統(tǒng)模型建立過程的模型元素創(chuàng)建方法、模型元素存儲方法、 模型文件保存方法,描述該基于模型庫的模型元素一致性保障方法。如圖1所示,本發(fā)明方案中所使用的模型元素創(chuàng)建方法包括如下步驟1.創(chuàng)建開始。2.判斷用戶是否要創(chuàng)建模型元素,如果是,轉(zhuǎn)步驟3 ;如果否,轉(zhuǎn)步驟7。3.判斷用戶是用建模工具創(chuàng)建模型元素還是直接從模型庫中取用,如果是用建模 工具創(chuàng)建,則轉(zhuǎn)步驟4 ;如果是從模型庫中直接取用,則轉(zhuǎn)步驟5。4.從系統(tǒng)模型中生成一個原始元素,置該元素的Flag位為0,轉(zhuǎn)步驟7。5.在系統(tǒng)模型中生成模型庫中元素的復制品。6.把模型元素的使用位置記錄在模型庫中該元素的Index數(shù)組中。7.創(chuàng)建結(jié)束。如圖2所示,本發(fā)明方案中所使用的模型元素存儲方法包括如下步驟1.存儲開始。2.判斷用戶是否要把模型元素導入庫中,如果是,轉(zhuǎn)步驟3 ;如果不是,轉(zhuǎn)步驟6。3.設置該元素的Flag位為1。4.在模型庫中生成一個與該元素相同的模型元素。5.把該模型元素的位置信息記錄在模型庫中該元素的Index數(shù)組中。6.存儲結(jié)束。如圖3所示,本發(fā)明方案中所使用的模型文件保存方法包括如下步驟1.模型文件保存開始。2.判斷已打開的模型文件是否需要保存,如果是,轉(zhuǎn)步驟3 ;如果否,轉(zhuǎn)步驟10。3.判斷所有Flag位為1的模型元素檢查是否完畢,如果是,轉(zhuǎn)步驟9 ;如果否,轉(zhuǎn) 步驟4。4.取一個未被檢查的Flag位為1的模型元素,將該元素與模型庫中模型元素的原 始描述信息進行比較,如果已被修改,則轉(zhuǎn)步驟5 ;如果沒有,則轉(zhuǎn)步驟3。5.提示用戶是否修改該元素在模型庫中的原始值,如果用戶選擇是,則轉(zhuǎn)步驟6 ; 否則轉(zhuǎn)步驟8。6.用該元素替換在模型庫中的對應元素。7.根據(jù)模型庫中該元素的Index數(shù)組找到用戶所建的系統(tǒng)模型中該元素所有的 復制品,并更新它們的值。8.設置該元素的Flag位為0,轉(zhuǎn)步驟3。9.保存文件。如此,對于因用戶修改了從模型庫中直接取用的模型元素而造成的不一致性,系 統(tǒng)都會提示用戶對這種不一致性進行相應處理,從而保障了用戶建立的系統(tǒng)模型中的模型 元素與模型庫中的模型元素之間的一致性。上面以舉例方式對本發(fā)明進行了說明,但本發(fā)明不限于上述具體實施例,凡基于 本發(fā)明所做的任何改動或變型均屬于本發(fā)明要求保護的范圍。
權(quán)利要求
一種基于模型庫的模型元素一致性保障方法,其特征在于,包括如下步驟通過標記位來區(qū)分模型元素是從模型庫中取用的還是用戶自己新定義的;通過索引數(shù)組來記錄模型庫中的元素在系統(tǒng)模型中的使用位置;用戶創(chuàng)建或者存儲模型元素時,根據(jù)用戶的動作對所述標記位和索引數(shù)組做出相應的設置和記錄;用戶保存模型文件時,根據(jù)所述標記位逐一檢查文件中所有從模型庫中取用的模型元素,并將其與模型庫中的對應的原始描述信息進行比較,判斷該元素是否已被用戶修改,若被修改,提示用戶是否更新模型庫中保存的模型元素和已經(jīng)在系統(tǒng)模型中其他位置使用的該模型元素。
2.根據(jù)權(quán)利要求1所述的基于模型庫的模型元素一致性保障方法,其特征在于,為所 有放到模型庫中的模型元素設置所述標志位,將新建立的模型元素標記位設為第一標記, 將從模型庫中直接取用的模型元素標記位設為第二標記。
3.根據(jù)權(quán)利要求1所述的基于模型庫的模型元素一致性保障方法,其特征在于,用戶 用建模工具來創(chuàng)建模型元素時,生成一個原始元素,并設置該元素的標記位為第一標記。
4.根據(jù)權(quán)利要求1所述的基于模型庫的模型元素一致性保障方法,其特征在于,用戶 從模型庫中取用模型元素來創(chuàng)建模型元素時,先在系統(tǒng)模型中生成一個與該元素相同的模 型元素實體,再把該模型元素的使用位置記錄在模型庫中該模型元素的所述索引數(shù)組中。
5.根據(jù)權(quán)利要求1所述的基于模型庫的模型元素一致性保障方法,其特征在于,用戶 要把一模型元素存入模型庫中時,先把該模型元素標記位的值設為第二標記,再在模型庫 中生成一個與該模型元素相同的模型元素并存放,最后把該模型元素的位置信息記錄在模 型庫中對應該模型元素的所述索引數(shù)組中。
6.根據(jù)權(quán)利要求1所述的基于模型庫的模型元素一致性保障方法,其特征在于,用戶 保存模型文件時,逐個檢查和處理該模型文件內(nèi)所有所述標記位為第二標記的模型元素, 將該模型元素與模型庫中的原始描述信息進行比較,如果已經(jīng)被修改,則提示用戶是否修 改該元素在模型庫中的原始值,如果用戶選擇否,則置該元素的標記位為第一標記;如果用 戶選擇是,則用該模型元素替換在模型庫中的對應元素,并根據(jù)模型庫中該元素的索引數(shù) 組找到用戶所建的系統(tǒng)模型中該元素所有的復制品,并更新它們的值;當所有模型元素標 記位為第一標記后保存文件。
全文摘要
本發(fā)明涉及一種模型庫中模型元素的處理方法,屬于集成開發(fā)環(huán)境技術(shù)領域,特指一種基于模型庫的模型元素一致性保障方法,其通過標記位來區(qū)分模型元素是從模型庫中取用的還是用戶自己新定義的,通過索引數(shù)組來記錄模型庫中的元素在哪些位置被使用,用戶創(chuàng)建或者存儲模型元素時,根據(jù)用戶的動作對標記位和索引數(shù)組作出相應的設置;當用戶保存模型文件時,根據(jù)標記位和索引數(shù)組更新模型庫中保存的模型元素。通過這種方法,用戶可以方便地修改從模型庫中取用的模型元素,保障了系統(tǒng)模型與模型庫之間的數(shù)據(jù)一致性,具有廣泛的應用前景。
文檔編號G06F9/44GK101894024SQ20101022735
公開日2010年11月24日 申請日期2010年7月15日 優(yōu)先權(quán)日2010年7月15日
發(fā)明者李紅, 楊玉皓, 汪金波, 王冬冬, 王超, 顧宗華 申請人:浙江大學