專利名稱:基于增量線性規劃的動態系統在線增量式快速驗證系統及方法
技術領域:
本發明涉及一種動態系統的快速驗證方法,且特別是有關于一種基于增量線性規劃的動態系統在線增量式快速驗證系統及方法。
背景技術:
動態系統在現代社會中有著越來越廣泛的應用,廣泛應用于軌道交通、航空航天等領域,并且這些系統對安全性有著極高的要求。混成自動機是一種形式化的動態系統描述模型。動態系統的大多數性質包括安全性、活性等都可以歸結為相應混成自動機的可達性問題。混成自動機的可達性分析非常困難,即使是它的子集線性混成自動機的可達性都是不可判定的。現有的混成自動機可達性分析方法主要有兩種:一是符號模型檢驗(SymbolicModel Checking), 它的主要思想是采用諸如多面體計算的方法來處理整個狀態空間;另一個是有界模型檢驗,它的主要思想是將有界可達性問題轉化為由線性約束和命題變元的布爾組合構成的可滿足性問題,然后用相應的SMT求解器求解。上述兩種方法要對整個或者有限步數內的全部狀態空間,所以他們都面對著狀態空間爆炸的問題,這嚴重限制了他們能夠求解的問題規模,使得他們無法應用于工業級的需求。此前,業界又提出了一種基于線性規劃的線性混成自動機可達性分析方法,該方法通過遍歷一定長度內到達目標節點的所有路徑,驗證每一條路徑的可達性從而得到目標節點是否可達。該方法顯著降低了每次求解的問題規模,大大提高了求解效率和問題規模。但是這種方法并不能滿足動態系統的實時驗證需求。
發明內容
本發明目的在于提供一種更加高效的持續驗證系統方法、以滿足動態系統的實時快速驗證。為達成上述目的,本發明首先提出一種基于增量線性規劃的動態系統在線增量式快速驗證系統,包括:問題模型加載模塊、求解模型修改模塊和模型復用求解模塊;其中,問題模型加載模塊輸入問題模型文件,并得到新的問題模型,求解模型修改模塊根據新的問題模型、原線性規劃求解模型和編碼規則修改線性規劃求解模型,模型復用求解模塊調用修改后的線性規劃求解新的問題模型,并給出求解結果。其中,動態系統的問題模型文件包括單個自動機文件和動態系統模型文件。其中,問題模型加載模塊得到新的問題模型的步驟具體如下:先判斷是否為初次求解,若為初次求解,則首先創建Vector容器存儲模型內容,其中元素為單個自動機文件信息,包括文件地址、路徑和參數集;若不是初次求解,則在加載問題模型的同時,查看Vector容器中是否已存在相應的自動機,從而得到問題模型的修改策略,根據標記結果加載新加入的自動機,并修改Vector容器的問題模型,得新的問題模型。
其中,求解模型修改模塊修改線性規劃求解模型的具體步驟如下:先判斷是否為初次求解,若為初次求解,需要創建線性規劃求解模型并將問題模型編碼為線性規劃約束集;若不是初次求解,則根據已經得到的問題模型修改策略修改求解模型,從而得到與新的問題模型對應的求解模型。
其中,模型復用求解模塊求解新的問題模型的具體步驟如下:設置模型復用求解參數,使底層線性規劃求解器可以復用上次求解結果,調用復用求解器,返回求解結果。
為達上述目的,本發明另提出一種動態系統在線增量式快速驗證方法,包括下列步驟:
步驟1:加載動態系統的問題模型;
步驟2:修改原問題模型,得新的問題模型;
步驟3:使用新的問題模型、原線性規劃求解模型并根據編碼規則修改原線性規劃求解模型,從而得到修改后的線性規劃求解模型;
步驟4:利用修改后的線性規劃求解模型求解修改后的問題模型,并給出求解結果O
進一步,步驟I的內容具體如下:若為初次求解,則建立Vector容器以存儲模型內容;否則,對比中Vector容器的內容,標記應該刪除的自動機、應該添加的自動機和保持不變的自動機。
進一步,步驟2的內容具體如下:具體為根據標記結果移除應該刪除的自動機,力口載新添加的自動機并加入到Vector容器中。
進一步,步驟3的內容具體如下:
I)對于已被移除的自動機,則移除其相對應的求解模型編碼;同時移除與它相關的自動機編碼;
2)對于保持的自動機模型,則根據新的路徑和參數集對其編碼;保留相同路徑段的編碼,刪除原路徑不同部分的編碼,加入新路徑不同部分的編碼;根據參數集修改相應的編碼;
3)對于新添加的自動機模型,根據編碼規則對其進行編碼并加入到求解模型,同時編碼其相關約束并加入到求解 模型;
進一步,步驟4的內容具體如下:設置復用求解參數,使修改后的求解模型可以使用上次求解結果;調用復用求解器進行求解,并給出求解結果。
本發明大大提高了動態系統在線增量式驗證的效率,使該技術可以應用于實際動態系統的在線驗證。具體來說,本發明所述具有如下的有益效果:
(I)有效消除了狀態空間爆炸的影響,求解效率已經可求解問題規模顯著提高。
(2)有效利用了動態系統實時驗證模型變化有限的特點,利用線性規劃的求解復用技術,大大提高了求解效率,很好的滿足了動態系統的增量式快速驗證。
圖1為本發明實施例的動態系統在線增量式快速驗證系統的示意圖。
圖2為本發明實施例的動態系統在線增量式快速驗證方法的流程圖。
具體實施例方式為了更了解本發明的技術內容,特通過具體實施實例并配合所附圖式說明如下。圖1為本發明實施例的動態系統在線增量式快速驗證系統的示意圖。如圖1所示,動態系統在線增量式快速驗證系統包括:問題模型加載模塊、求解模型修改模塊和模型復用求解 模塊。整個求解過程的開始,進入問題模型加載模塊,接收問題模型文件,加載動態系統的問題模型并得到問題模型的修改策略,從而得到新的問題模型。該模塊輸入為問題模型文件。若為初次求解,則首先創建容器存儲模型內容,其中元素為單個自動機文件信息,包括文件地址、路徑和參數集;若不是初次求解,則在加載問題模型的同時,查看容器中是否已存在相應的自動機,從而得到模型修改策略。根據標記結果加載新加入的自動機,并修改容器模型。以上得到的模型修改策略指相對于原問題模型,新的問題模型應該添加、刪除和保留的自動機信息。對于每一個保留的自動機,還要求解其路徑的變化,從而確定相應編碼約束的添加、刪除和保留。具體規則是對于新舊路徑的相同部分保留,舊路徑的不同部分標記刪除,新路徑的不同部分標記添加。求解模型修改模塊使用新的問題模型、原線性規劃求解模型并根據編碼規則修改原線性規劃求解模型,從而得到新的線性規劃求解模型。若為初次求解,需要創建線性規劃求解模型并將問題模型編碼為線性規劃約束集;若不是初次求解,則根據已經得到的模型修改策略修改求解模型,從而得到與新的問題模型對應的求解模型。具體規則是對于新加入的自動機,對其進行編碼并加入約束集;對于保留的自動機修改其路徑的相應約束,并根據新的參數集合修改相應的約束。模型復用求解模塊利用線性規劃的增量求解技術,調用修改后的線性規劃求解模型求解新的問題模型,并給出求解結果。具體為:設置模型復用求解參數,使底層線性規劃求解器可以復用上次求解結果。調用復用求解器,返回求解結果。其中,問題模型文件包括單個自動機文件和動態系統模型文件。單個自動機文件采用XML格式定義,描述了完整的線性混成自動機信息。這些信息有助于重構相應的自動機對象;動態系統模型文件描述了待驗證的動態系統特性,該文件包括一組該動態系統所包含的單個自動機文件地址已經相應自動機的待驗證路徑信息。其中,單個自動機文件地址是指該自動機文件的存儲路徑,待驗證路徑信息指相應自動機上的一條路徑,對應于一個待驗證的狀態轉移軌跡。本發明另提出一種動態系統在線增量式快速驗證方法,包括下列步驟,請參考圖2:步驟1:加載動態系統的問題模型,若為初次求解,則建立Vector容器以存儲模型內容;否則,對比中Vector容器的內容,標記應該刪除的自動機、應該添加的自動機和保持不變的自動機。步驟2:修改原問題模型,得新的問題模型,根據標記結果移除應該刪除的自動機,加載新添加的自動機并加入到Vector容器中;步驟3:使用新的問題模型、原線性規劃求解模型并根據編碼規則修改原線性規劃求解模型,從而得到修改后的線性規劃求解模型,具體如下:
1)對于已被移除的自動機,則移除其相對應的求解模型編碼;同時移除與它相關的自動機編碼;
2)對于保持的自動機模型,則根據新的路徑和參數集對其編碼;保留相同路徑段的編碼,刪除原路徑不同部分的編碼,加入新路徑不同部分的編碼;根據參數集修改相應的編碼;
3)對于新加入的自動機模型,根據編碼規則對其進行編碼并加入到求解模型,同時編碼其相關約束并加入到求解模型。
步驟4:設置復用求解參數,使修改后的線性規劃求解模型可以使用上次求解結果;調用復用求解器進行求解,并給出求解結果。
綜上所述,本發明所提出的方法和系統首先加載動態系統的問題模型,然后將其與原問題模型進行對比,根據對比結果修改原問題模型;然后使用新的問題模型、原線性規劃求解模型根據編碼規則修改原線性規劃求解模型,從而得到新的線性規劃求解模型;最后使用線性規劃的增量求解技術,利用修改后的線性規劃求解模型求解新的問題模型,并給出求解結果。該方法在基于線性規劃的線性混成自動機可達性分析方法的基礎上,提出了動態的問題模型修改策略,并復用原問題的求解結果來加速新問題的求解,以達到動態系統的在線增量式快速驗證。該方法的主要特點是增量式的模型創建和驗證,顯著提高了問題的求解速度,可以滿足動態系統的實時性要求。
雖然本發明已以較佳實施例揭露如上,然其并非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明的精神和范圍內,當可作各種的更動與潤飾。因此,本發明的保護范圍當視權利要求書所界定者為準。
權利要求
1.一種基于增量線性規劃的動態系統在線增量式快速驗證系統,其特征在于,包括:問題模型加載模塊、求解模型修改模塊和模型復用求解模塊;其中,問題模型加載模塊輸入問題模型文件,并得到新的問題模型,求解模型修改模塊根據新的問題模型、原線性規劃求解模型和編碼規則修改線性規劃求解模型,模型復用求解模塊調用修改后的線性規劃求解新的問題模型,并給出求解結果;動態系統的問題模型文件包括單個自動機文件和動態系統模型文件; 其中問題模型加載模塊得到新的問題模型的步驟具體如下: 先判斷是否為初次求解,若為初次求解,則首先創建Vector容器存儲模型內容,其中元素為單個自動機文件信息,包括文件地址、路徑和參數集;若不是初次求解,則在加載問題模型的同時,查看Vector容器中是否已存在相應的自動機,從而得到問題模型的修改策略,根據標記結果加載新加入的自動機,并修改Vector容器的問題模型,得新的問題模型; 其中求解模型修改模塊修改線性規劃求解模型的具體步驟如下: 先判斷是否為初次求解,若為初次求解,需要創建線性規劃求解模型并將問題模型編碼為求解模型;若不是初次求解,則根據已經得到的問題模型修改策略修改求解模型,從而得到與新的問題模型對應的求解模型。
2.根據權利要求1所述的動態系統在線增量式快速驗證系統,其特征在于,其中模型復用求解模塊求解新的問題模型的具體步驟如下: 設置模型復用求解參數,使底層線性規劃求解器可以復用上次求解結果,調用復用求解器,返回求解結果。
3.一種基于增量線性規劃的動態系統在線增量式快速驗證方法,其特征在于,包括下列步驟: 步驟1:加載動態系統的問題模型; 步驟2:修改原問題模型,得新的問題模型; 步驟3:使用新的問題模型、原線性規劃求解模型并根據編碼規則修改原線性規劃求解模型,從而得到修改后的線性規劃求解模型; 步驟4:利用修改后的線性規劃求解模型求解新的問題模型,并給出求解結果。
4.根據權利要求3所述的動態系統在線增量式快速驗證方法,其特征在于,步驟I的內容具體如下:若為初次求解,則建立Vector容器以存儲模型內容;否則,對比中Vector容器的內容,標記應該刪除的自動機、應該添加的自動機和保持不變的自動機。
5.根據權利要求3所述的基于增量線性規劃的動態系統在線增量式快速驗證方法,其特征在于,步驟2的內容具體如下:具體為根據標記結果移除應該刪除的自動機,加載新添加的自動機并加入到Vector容器中。
6.根據權利要求3所述的動態系統在線增量式快速驗證方法,其特征在于,步驟3的內容具體如下: 1)對于已被移除的自動機,則移除其相對應的求解模型編碼;同時移除與它相關的自動機編碼; 2)對于保持的自動機模型,則根據新的路徑和參數集對其編碼;保留相同路徑段的編碼,刪除原路徑不同部分的編碼,加入新路徑不同部分的編碼;根據參數集修改相應的編碼;3)對于新添加的自動機模型,根據編碼規則對其進行編碼并加入到新的求解模型,同時編碼其相關的同步事件并加入到新的求解模型。
7.根據權利要求3所述的基于增量線性規劃的動態系統在線增量式快速驗證方法,其特征在于,步驟4的內容具體如下: 設置復用求解參數 ,使修改后的求解模型可以使用上次求解結果;調用復用求解器進行求解,并給出求解結果。
全文摘要
本發明提供一種基于增量線性規劃的動態系統在線增量式快速驗證系統及方法。所述方法是首先加載動態系統的問題模型,然后將其與原問題模型進行對比,根據對比結果修改原問題模型;然后使用新的問題模型、原線性規劃求解模型根據編碼規則修改原線性規劃求解模型,從而得到修改后的線性規劃求解模型;最后使用線性規劃的增量求解技術,利用修改后的線性規劃求解模型求解新的問題模型,并給出求解結果。該方法在基于線性規劃的線性混成自動機可達性分析方法的基礎上,提出了動態的問題模型修改策略,并復用原問題的求解結果來加速新問題的求解,以達到動態系統的在線增量式快速驗證,顯著提高了問題的求解速度,可以滿足動態系統驗證的實時性要求。
文檔編號G06F17/50GK103218497SQ201310146928
公開日2013年7月24日 申請日期2013年4月24日 優先權日2013年4月24日
發明者卜磊, 楊陽, 李宣東 申請人:南京大學