亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于形式化描述和狀態(tài)遷移的xml轉換方法

文檔序號:6463046閱讀:290來源:國知局

專利名稱::一種基于形式化描述和狀態(tài)遷移的xml轉換方法
技術領域
:本發(fā)明涉及一種基于形式化描述和狀態(tài)遷移的XML轉換方法。
背景技術
:XML(extensibleMarkupLanguage)是互聯(lián)網聯(lián)合組織創(chuàng)建的一組規(guī)范,其目的是幫助軟件開發(fā)人員和內容創(chuàng)建者通過網絡方式組織和傳遞信息。它不僅能滿足不斷增長的網絡應用需求,同時能夠確保在通過網絡進行交互合作時,具有良好的可靠性和互操作性。XML是一種自我描述的定義語言,使用者可以定義標記來描述內容中的任何數(shù)據元素,從而突破了諸如HTML等固定標記語言的束縛,使得越來越多更豐富更復雜的內容得以在網絡中傳輸并進而組合成一個完整的信息體系。由于這些優(yōu)點,XML已經進化成一個信息交互的全球平臺。特別是隨著新的網絡通信協(xié)議與規(guī)范的不斷涌現(xiàn),XML在協(xié)議規(guī)范的設計、描述和實現(xiàn)過程中也發(fā)揮著越來越重要的作用。盡管如此,現(xiàn)有網絡協(xié)議的設計與描述方法仍然存在著許多不足之處,其主要表現(xiàn)在一方面,協(xié)議和規(guī)范的開發(fā)常常是由不同的人員或組織進行的,由于協(xié)議文本的主體仍是采用自然語言描述,而二義性是自然語言的一個固有缺陷,因此,不同的人對同一個協(xié)議往往有著不同的理解,從而導致不同的協(xié)議實現(xiàn),使得按同一標準協(xié)議實現(xiàn)的系統(tǒng)在進行互聯(lián)和互操作時仍然有可能產生新的問題。另一方面,軟件測試的原理和方法雖然能夠在相當程度上確保系統(tǒng)在實際運行過程中的可靠性,但并不能從根本上為系統(tǒng)行為乃至協(xié)議本身的正確性給出理論推導和證明。因此,從協(xié)議語義的嚴密性和一致性的角度出發(fā),需要將基于XML的網絡協(xié)議語義采用一種無二義性的形式化方法進行描述,進而使協(xié)議的自動實現(xiàn)成為可能,并且由于基于這種協(xié)議描述的實現(xiàn)是一致的,所以它們也是可互操作的。因此,隨著各種協(xié)議的標準化,人們開始積極地研究形式化的協(xié)議描述技術,并相繼提出了一系列方法。如有限狀態(tài)機(FSA)、形式語言、PETRI網絡及其擴展型、代數(shù)法、抽象數(shù)據類型、高級程序設計語言和時序邏輯等。這些方法可以歸為兩類①基于狀態(tài)(機)的類型。這種模型認為協(xié)議總是由一系列接收輸入然后響應(輸出),并轉換到新狀態(tài)的動作組成,于是有限狀態(tài)機、形式語法、PETRI網絡、代數(shù)法,甚至時序邏輯等方法都屬于這一類。②程序設計語言類型。這種模型認為協(xié)議本身就是一種程序設計語言形式,而協(xié)議的實現(xiàn)無非是從一種程序到另一種程序設計語言的轉換。這兩類方法都在某些方面較好地達到了形式化描述協(xié)議語義的目的,但也在另一些方面有所缺陷。通過比較分析可知,現(xiàn)有方法主要存在以下一些問題。基于狀態(tài)(機)的模型非常便于描述狀態(tài),在狀態(tài)較少時易于理解,但隨著協(xié)議復雜性的增加,會產生"狀態(tài)空間爆炸"的問題,也不利于精確描述數(shù)據;而基于程序設計語言的模型則可以精確地描述數(shù)據,易于實現(xiàn),但是這種方法描述直觀性差,且不利于狀態(tài)的描述。因此,如何有效地采用形式化的手段將現(xiàn)有基于XML形式的協(xié)議以及由協(xié)議提供的服務準確而嚴格地描述出來是協(xié)議各方需要解決的一個重要問題。
發(fā)明內容鑒于上述原因,本發(fā)明的目的是為采用XML作為主要數(shù)據格式的網絡協(xié)議提供一種基于形式化描述和狀態(tài)遷移的XML轉換方法。該方法規(guī)定了一組形式化地操作XML數(shù)據的方式和規(guī)則,可以用于對協(xié)議語義進行準確嚴格的表示以及對協(xié)議所提供的服務進行統(tǒng)一的描述,進而為協(xié)議的自動實現(xiàn)提供一種新的解決方案。為實現(xiàn)上述目的,本發(fā)明采用以下技術方案-一種基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于將網絡協(xié)議按照其邏輯功能劃分為不同的協(xié)議狀態(tài),每個狀態(tài)用唯一的一個XML片斷表示,進而給出這些狀態(tài)之間的遷移規(guī)則和狀態(tài)的輸入輸出關系,將網絡協(xié)議的語義過程通過XML轉換的方式實現(xiàn).包括以下步驟(1)分析網絡協(xié)議的邏輯功能,將協(xié)議劃分為不同的狀態(tài),每個狀態(tài)用唯一的一個XML片斷表示;(2)按照協(xié)議語義為上述各狀態(tài)建立狀態(tài)遷移規(guī)則;(3)執(zhí)行該遷移規(guī)則,實現(xiàn)XML數(shù)據之間的轉換,從而完成協(xié)議的自動實現(xiàn)。本發(fā)明是一種基于形式化描述和狀態(tài)遷移的XML轉換方法,可以作為對采XML作為主要數(shù)據表示形式的用網絡協(xié)議語義進行形式化描述的一種有效手段,與現(xiàn)有的協(xié)議形式化方法比較,本發(fā)明的優(yōu)點在于綜合考慮了單基于狀態(tài)的形式化方法和單純基于程序設計語言方法各自的優(yōu)勢和不足,即避免了單純基于狀態(tài)方法的"狀態(tài)空間爆炸"問題,也發(fā)揮了程序設計語言方法對于靜態(tài)數(shù)據結構和操作過程描述的優(yōu)勢。圖1為本發(fā)明實現(xiàn)的基于形式化描述和狀態(tài)遷移的XML轉換方法流程圖;圖2為本發(fā)明定義的狀態(tài)遷移規(guī)則中的語句處理流程圖;圖3為本發(fā)明定義的狀態(tài)遷移規(guī)則中的表達式處理流程圖。具體實施方式本發(fā)明中公開的一種基于形式化描述和狀態(tài)遷移的XML轉換方法主要分為如下三個步驟第一步分析網絡協(xié)議的邏輯功能,將協(xié)議劃分為不同的狀態(tài),每個狀態(tài)用唯一的一個XML片斷表示。1.網絡協(xié)議是對通信雙方實現(xiàn)特定功能或完成特定操作的規(guī)范化表述,通常按照這些功能和操作的實現(xiàn)過程可以將協(xié)議語義劃分為不同的狀態(tài)。狀態(tài)是協(xié)議在不同的邏輯階段所完成的操作效果的抽象表示。通??梢园凑諈f(xié)議接收輸入,進行相應的處理,然后返回響應結果的邏輯順序將網絡協(xié)議劃分為一系列狀態(tài),每種狀態(tài)包含各自的狀態(tài)變量,這些狀態(tài)變量以XML片段的元素或者屬性的形式出現(xiàn)在該狀態(tài)中。對于簡單協(xié)議而言,可以直接將其劃分為輸入狀態(tài),內部處理狀態(tài)和輸出狀態(tài);對于復雜協(xié)議,其內部處理過程通常又可以進一步劃分為不同的子過程,這些子過程分別對應于不同的子狀態(tài),從而在更細節(jié)的層面上對協(xié)議語義進行精確地刻劃。例如在Web服務處理流程中,可以將Web服務容器段對服務請求報文的處理過程分為傳輸層狀態(tài)、消息層狀態(tài)、服務層狀態(tài)和適配層狀態(tài),這些狀態(tài)組成了Web服務處理流程的狀態(tài)集合,其相互配合共同完成了Web服務從請求、處理到響應的全過程。每個狀態(tài)分別實現(xiàn)了從報文中提取或填寫特定字段的任務,因此,每個狀態(tài)也都可以用一個含有特定元素和屬性的XML文檔片斷來唯一地表示。2.為了后續(xù)過程能夠按照統(tǒng)一的方式對上述狀態(tài)進行表示和處理,本發(fā)明進而引入了"元集"的概念。元集是一種采用集合論的方式對XML文檔內容進行形式化描述的方法。一個元集中可以包含其他元集。如果一個元集中包含有其他元集,那么這個元集稱為其他元集的父元集,其他元集稱為這個元集的子元集。一個元集中可以包含多個屬性。屬性就對應著XML文檔中元素的屬性。元集的操作包括創(chuàng)建、添加、刪除、選擇、過濾、取頭、取尾、序列化、反序列化、設置父親、獲取父親、設置元集值等方法。創(chuàng)建元集方法等效于程序語言中的構造函數(shù),它的輸入是一個字符串,該字符串作為元集的名字。方法的參數(shù)是一個字符串,該字符串就是元集的特定名字。添加屬性方法向元集中添加一個屬性。元集中維護一個列表來存儲它的屬性名值對,添加屬性就是向該列表中添加一個新屬性。添加子元集方法向當前元集中添加一個子元集。每個元集維護一個列表來存儲它的子元集,添加子元集就是向該列表中添加一個新元集。刪除子元集方法從當前元集中刪除一個子元集。此方法用于從當前元集的子元集列表中把相應子元集刪去。刪除屬性方法從當前元集中刪一個屬性。此方法用于從當前元集的屬性名值對列表中把相應屬性刪去。選擇子元集方法從當前元集中查找滿足條件的子元集。此方法用于從當前元集的子元集列表中查找相應的子元集。過濾屬性方法從當前元集中査找滿足條件的屬性值。此方法用于從當前元集的屬性名值對列表中過濾出相應屬性的值。取頭方法從當前元集中查找第一個子元集。此方法用于從當前元集的子元集列表中取出第一個元集。取尾方法此方法返回從當前元集的子元集列表中刪去第一個元集后的其余元集的集合。序列化方法將一個元集對象轉換為一個XML片段。反序列化方法將一個XML片段轉換為一個元集對象。輸入為XML文檔片段,可以利用SAX解析器解析該片段并將其還原成一個元集對象。設置父親方法設置一個元集的父元集。這個方法可以保證元集之間的從屬關系與XML文檔中元素間的關系相一致。獲取父親方法如果該元集有父元集,返回父元集;否則,返回空。設置元集值方法元集的值對應于XML文檔中元素值的概念。此方法等價于為XML文檔中的指定元素設置元素值。通過上述操作,可以將元集作為刻劃狀態(tài)特征的基本數(shù)據結構,使得協(xié)議的各個狀態(tài)能夠按照統(tǒng)一的方式進行表示,為狀態(tài)之間的轉換過程提供了保障。第二步按照協(xié)議語義為上述各狀態(tài)建立狀態(tài)遷移規(guī)則。遷移規(guī)則主要包括表達式、語句和處理環(huán)境三部分(1)表達式所述表達式是代表操作功能或用來求值的實體。一般說來,表達式由表達式標識符和參數(shù)集合構成。表達式標識符用于標識表達式的目的和功能;參數(shù)集合用于對相應的功能提供輸入數(shù)據。通過表達式的組合可以為協(xié)議狀態(tài)遷移提供操作接口,從而在輸入狀態(tài)和輸出狀態(tài)之間建立起映射關系。本發(fā)明種定義的表達式類型包括空表達式、字符串表達式、選擇表達式、過濾表達式、取頭表達式、取尾表達式、取元集值表達式、設置元集值表達式、構建表達式、刪除表達式、壓棧表達式、彈棧表達式和調用表達式,如表1所示-<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>(表l:本方法中定義的表達式及其說明)所述空表達式空表達式表示空操作,可以用于創(chuàng)建一個新的不含任何內容的元集。空表達式的表達式標識符是<t。所述字符串表達式字符串表達式用于表示字符串,一般作為其他表達式的參數(shù)。字符串表達式沒有表達式標識符,字符串本身也是表達式。所述選擇表達式選擇表達式的目的用于從給定的元集中按照給定的路徑選擇給定的屬性名的屬性值。選擇表達式的標識符為a。所述過濾表達式過濾表達式的目的用于從給定的元集中根據條件過濾出合適的元集,條件可以是給定的路徑、給定的路徑和屬性名或者給定的路徑和給定的屬性名和給定的屬性值。過濾表達式的標識符為入。所述取頭表達式:,取頭表達式的目的用于從給定的元集中獲取其第一個子元集。取頭表達式的標識符為s。所述取尾表達式取尾表達式的目的用于從給定的元集中獲取其除去第一個子元集的所有子元集構成的元集。取尾表達式的標識符為兀。所述取元集值表達式取元集值表達式的作用是返回給定的元集的第一個子元集的元集值。取元集值表達式的標識符為e。所述設置元集值表達式設元集值表達式的作用是為給定路徑上的元集設置元集值。設元集值表達式的標識符為W。所述構建表達式派生表達式用于按照給定的要求構造新的元集,包括設置元集名和屬性值兩種操作。派生表達式的標識符為W。所述刪除表達式用于刪除給定路徑上的元集或從屬性列表中刪除滿足條件的屬性。刪除表達式的標識符為9。所述壓棧表達式壓棧表達式將某對象壓入堆棧頂部。壓棧表達式的標識符為a。所述彈棧表達式彈棧表達式從堆棧頂部彈出對象,彈棧表達式的標識符為曰。所述調用表達式此表達式是適應通信傳輸層與應用層需要而設置的,主要通過將從底層協(xié)獲取的參數(shù)傳遞給上層協(xié)議,并進行方法調用。調用表達式的標識符為P。(2)語句所述語句提供了一種針對XML元素的處理方式。包括選擇語句、函數(shù)語句、輸出語句、輸入語句、文件調用語句、描述語句、主語句和缺省語句等,如表2所示<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>(表2:本方法中定義的語句及其說明)所述選擇語句選擇語句所處理的元集的元集名稱為switch。Switch語句包含choice屬性,此屬性的值是表達式,用于提供判斷的條件。Switch語句包含任意個子語句,子語句的語句名稱任意,但是這些子語句都必須包含case屬性,如果子語句不含case屬性,此子語句在任何情況下都不會被處理。選擇語句類似程序設計語言中的switch,在一次執(zhí)行過程中,只會執(zhí)行在switch語句中的某個滿足判斷條件的子語句。在所有的條件都不滿足的情況下,選擇語句將執(zhí)行defauU分支作為其默認處理。選擇語句主要用于以下兩種環(huán)境a)判斷某集合或某對象是否為空。b)判斷clioice屬性值中的字符串和case屬性值中的字符串是不是相等。所述函數(shù)語句函數(shù)語句所處理的元集的元集名稱為fimc。元集值是表達式,函數(shù)語句對該元集值進行計算,獲得返回值,返回值必須為String類型。所述輸出語句函數(shù)語句所處理的元集的元集名稱為output。元集屬性target標識其輸出位置。語句值表示待計算的表達式。輸出語句將在制定位置輸出表達式的計算結果。所述輸入語句函數(shù)語句所處理的元集的元集名稱為input。用于從外界輸入一個文件,輸入語句通常用于為XML轉換過程提供初始上下文。所述文件調用語句函數(shù)語句所處理的元集的元集名稱為invoke。元集屬性i叩ut標識其調用的文件的位置。文件調用語句通常用于調用其他規(guī)則文件。所述描述語句描述語句所處理的元集的元集名稱為description。description語句應作為XML跟語句出現(xiàn)在待處理的文檔中,并可以包含任意個子語句,其第一個子語句名必須為main。所述主語句主語句所處理的元集的元集名稱為main,主語句將作為所有規(guī)則處理過程的起始點。所述缺省語句缺省語句所處理的元集的元集名稱為除上述已定義的語句名稱以外的其他有效的XML元素名稱。在沒有任何特殊的語句被選中的情況下,將通過缺省語句進行處理。缺省語句將按照如下的規(guī)則進行處理如果此語句存在子語句,則對每個子語句調用相應的語句進行處理。如果此語句不存在子語句,且其語句值不為空,則將語句值輸出到輸出文檔即可。如果此語句不存在子語句,且其語句值為空,則通過其語句名稱在description元集中選擇與之名稱相對應的元集,并對此對應的元集調用相應的語句進行處理。此處規(guī)定在description元集中,與語句名稱相對應的元集只能是零個或者一個。(3)處理環(huán)境處理環(huán)境指與外界交互的實體,由用戶的輸入、輸出、錯誤處理及變量聲明等組成。處理環(huán)境可以作為任何語句的子語句,描敘處理此語句時的上下文環(huán)境。利用上述三部分建立的協(xié)議狀態(tài)遷移規(guī)則具有以下特征a)協(xié)議狀態(tài)遷移規(guī)則序列以規(guī)則文件的形式存在,該文件遵循XML規(guī)范。b)規(guī)則序列中的語句名稱應該為上述形式化描述中已定義的各種語句名稱,每種語句的格式應符合該語句的語法定義。c)狀態(tài)是基于XML的數(shù)據或對象在本發(fā)明公布的處理方法給出的操作過程中的一種中間形態(tài)。狀態(tài)以狀態(tài)變量的形式存在,可以作為屬性名、屬性值或者語句值參與表達式運算。新的狀態(tài)可以派生自既有狀態(tài),也可以由處理過程創(chuàng)建。當某個狀態(tài)S1作為表達式的輸入參數(shù)參與運算并得到一個新的狀態(tài)S2時,稱本方法在S1和S2之間進行了一次狀態(tài)遷移。d)表達式作為一種可求值的計算單元指明了具體的操作過程,表達式以屬性值或者語句值的形式出現(xiàn)在規(guī)則序列中,每種表達式的使用應符合該語句的語法定義。第三步執(zhí)行該遷移規(guī)則,實現(xiàn)XML數(shù)據之間的轉換,從而完成協(xié)議的自動實現(xiàn)。本方法將按照以下方式執(zhí)行規(guī)則序列1.規(guī)則文件的根語句是規(guī)則執(zhí)行的入口點,從根語句開始按照深度優(yōu)先搜索方式對main語句下的所有子語句進行依次執(zhí)行;2.對于main語句下的每個子語句,本方法將按照以下方式進行處理若語句名稱等于input,則調用輸入語句的處理邏輯進行處理;若語句名稱等于output,則調用輸出語句的處理邏輯進行處理;若語句名稱等于switch,則調用選擇語句的處理邏輯進行處理;若語句名稱等于func,則調用函數(shù)語句的處理邏輯進行處理;若語句名稱等于invoke,則調用文件調用語句的處理邏輯進行處理;若語句名稱為其他合法形式,則調用缺省語句的處理邏輯進行處理。3.對于規(guī)則文件中的每個屬性,本方法將按照以下方式進行處理(1)獲得當前屬性的屬性名稱和屬性值的字符串表示。(2)將代表屬性值的字符串按照以下規(guī)則進行計算求值,若字符串中包含9關鍵字,則利用該關鍵字之后的參數(shù)按照空表達式的邏輯定義進行求值;若字符串中包含a關鍵字,則利用該關鍵字之后的參數(shù)按照選擇表達式的邏輯定義進行求值;若字符串中包含X關鍵字,則利用該關鍵字之后的參數(shù)按照過濾表達式的邏輯定義進行求值;若字符串中包含S關鍵字,則利用該關鍵字之后的參數(shù)按照取尾表達式的邏輯定義進行求值;若字符串中包含7T關鍵字,則利用該關鍵字之后的參數(shù)按照空表達式的邏輯定義進行求值;若字符串中包含s關鍵字,則利用該關鍵字之后的參數(shù)按照取元集值表達式的邏輯定義進行求值;若字符串中包含H關鍵字,則利用該關鍵字之后的參數(shù)按照設置元集值表達式的邏輯定義進行求值;若字符串中包含平關鍵字,則利用該關鍵字之后的參數(shù)按照構建表達式的邏輯定義進行求值;,若字符串中包含e關鍵字,則利用該關鍵字之后的參數(shù)按照刪除表達式的邏輯定義進行求值;若字符串中包含a關鍵字,則利用該關鍵字之后的參數(shù)按照壓棧表達式的邏輯定義進行求值;若字符串中包含P關鍵字,則利用該關鍵字之后的參數(shù)按照彈棧表迖式的邏輯定義進行求值;若字符串中包含p關鍵字,則利用該關鍵字之后的參數(shù)按照調用表達式的邏輯定義進行求值;(3)將計算結果賦值給當前屬性名代表的狀態(tài)變量。.4.在執(zhí)行的過程中,若在根語句下存在與當前缺省語句同名的語句,則跳轉到該同名語句,并以該語句為根繼續(xù)按照深度優(yōu)先搜索的方式遍歷其下的所有語句,完成后再返回原跳轉處繼續(xù)執(zhí)行。5.當按照深度優(yōu)先搜索方式完成對根語句的第一個子語句下的所有語句的遍歷時,就完成了對當前規(guī)則序列的一次執(zhí)行過程,完成該過程時的結果狀態(tài)即為本方法的輸出結果,通??梢詫⒔Y果保存到本地文件系統(tǒng)中。權利要求1、一種基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于包括以下步驟(1)分析網絡協(xié)議的邏輯功能,將協(xié)議劃分為不同的狀態(tài),每個狀態(tài)用唯一的一個XML片斷表示;(2)按照協(xié)議語義為上述各狀態(tài)建立狀態(tài)遷移規(guī)則;(3)執(zhí)行該遷移規(guī)則,實現(xiàn)XML數(shù)據之間的轉換,從而完成協(xié)議的自動實現(xiàn)。2、根據權利要求1所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于-所述步驟(1)中協(xié)議狀態(tài)的劃分應遵循如下原則a)對于簡單協(xié)議,直接將其劃分為輸入狀態(tài),內部處理狀態(tài)和輸出狀態(tài);b)對于復雜協(xié)議,在上述三個狀態(tài)的基礎上,其內部處理過程進一步劃分為不同的子過程,這些子過程分別對應于不同的子狀態(tài),從而在更細節(jié)的層面上對協(xié)議語義進行精確的刻劃;并采用元集概念對上述狀態(tài)進行統(tǒng)一地表示。3、根據權利要求1所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于所述步驟(2)中建立的協(xié)議狀態(tài)遷移規(guī)則主要包括以下三部分-a)表達式代表操作功能或用來求值的實體,一般說來,表達式由表達式標識符和參數(shù)集合構成,表達式標識符用于標識表達式的目的和功能;參數(shù)集合用于對相應的功能提供輸入數(shù)據,通過表達式的組合可以為協(xié)議狀態(tài)遷移提供操作接口,從而在輸入狀態(tài)和輸出狀態(tài)之間建立起映射關系,本發(fā)明定義的表達式類型包括空表達式、字符串表達式、選擇表達式、過濾表達式、取頭表達式、取尾表達式、取元集值表達式、設置元集值表達式、構建表達式、刪除表達式、壓棧表達式、彈棧表達式和調用表達式;b)語句提供了一種針對XML元素的處理方式,包括選擇語句、函數(shù)語句、輸出語句、輸入語句、文件調用語句、描述語句、主語句和缺省語句;C)處理環(huán)境與外界交互的實體,包括用戶的輸入、輸出、錯誤處理及變量聲明,處理環(huán)境可以作為任何語句的子語句,描敘處理此語句時的上下文環(huán)境。4、根據權利要求3所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于所述三部分建立的協(xié)議狀態(tài)遷移規(guī)則具有以下特征-a)協(xié)議狀態(tài)遷移規(guī)則序列以規(guī)則文件的形式存在,該文件遵循XML規(guī)范;b)規(guī)則序列中的語句名稱應該為上述形式化描述中已定義的各種語句名稱,每種語句的格式應符合該語句的語法定義;c)狀態(tài)是基于XML的數(shù)據或對象在本發(fā)明公布的處理方法給出的操作過程中的一種中間形態(tài),狀態(tài)以狀態(tài)變量的形式存在,可以作為屬性名、屬性值或者語句值參與表達式運算,新的狀態(tài)可以派生自既有狀態(tài),也可以由處理過程創(chuàng)建,當某個狀態(tài)S1作為表達式的輸入參數(shù)參與運算并得到一個新的狀態(tài)S2時,即在S1和S2之間進行了一次狀態(tài)遷移;d)表達式作為一種可求值的計算單元指明了具體的操作過程,表達式以屬性值或者語句值的形式出現(xiàn)在規(guī)則序列中,每種表達式的使用應符合該語句的語法定義。5、根據權利要求1所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于所述步驟(3)中的協(xié)議狀態(tài)遷移規(guī)則將按照以下方式進行處理a)規(guī)則文件的根語句是規(guī)則執(zhí)行的入口點,從根語句開始按照深度優(yōu)先搜索方式對main語句下的所有語句迸行依次執(zhí)行;b)在執(zhí)行的過程中,若在根語句下存在與當前缺省語句同名的語句,則跳轉到該同名語句,并以該語句為根繼續(xù)按照深度優(yōu)先搜索的方式遍歷其下的所有語句,完成后再返回原跳轉處繼續(xù)執(zhí)行;c)當按照深度優(yōu)先搜索方式完成對根語句的第一個子語句下的所有語句的遍歷時,就完成了對當前規(guī)則序列的一次執(zhí)行過程,完成該過程時的結果狀態(tài)即為本發(fā)明的輸出結果,可以將結果保存到本地文件系統(tǒng)中。6、根據權利要求5所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于所述的處理方式,對于main語句的每個子語句,將按照以下方式進行處理若語句名稱等于input,則調用輸入語句的處理邏輯進行處理;若語句名稱等于output,則調用輸出語句的處理邏輯進行處理;若語句名稱等于switch,則調用選擇語句的處理邏輯進行處理;若語句名稱等于func,則調用函數(shù)語句的處理邏輯進行處理;若語句名稱等于invoke,則調用文件調用語句的處理邏輯進行處理;若語句名稱為其他合法形式,則調用缺省語句的處理邏輯進行處理;7、根據權利要求5所述的基于形式化描述和狀態(tài)遷移的XML轉換方法,其特征在于所述處理方式中遇到的每個屬性,將按照以下方式進行處理(1)獲得當前屬性的屬性名稱和屬性值的字符串表示;(2)將代表屬性值的字符串按照以下規(guī)則進行計算求值,若字符串中包含cp關鍵字,則利用該關鍵字之后的參數(shù)按照空表達式的邏輯定義進行求值;若字符串中包含a關鍵字,則利用該關鍵字之后的參數(shù)按照選擇表達式的邏輯定義進行求值;若字符串中包含i關鍵字,則利用該關鍵字之后的參數(shù)按照過濾表達式的邏輯定義進行求值;若字符串中包含S關鍵字,則利用該關鍵字之后的參數(shù)按照取尾表達式的邏輯定義進行求值;若字符串中包含7C關鍵字,則利用該關鍵字之后的參數(shù)按照空表達式的邏輯定義進行求值;若字符串中包含s關鍵字,則利用該關鍵字之后的參數(shù)按照取元集值表達式的邏輯定義進行求值;若字符串中包含p關鍵字,則利用該關鍵字之后的參數(shù)按照設置元集值表達式的邏輯定義進行求值;若字符串中包含V關鍵字,則利用該關鍵字之后的參數(shù)按照構建表達式的邏輯定義進行求值;若字符串中包含e關鍵字,則利用該關鍵字之后的參數(shù)按照刪除表達式的邏輯定義進行求值;若字符串中包含a關鍵字,則利用該關鍵字之后的參數(shù)按照壓棧表達式的邏輯定義進行求值;若字符串中包含P關鍵字,則利用該關鍵字之后的參數(shù)按照彈棧表達式的邏輯定義進行求值;若字符串中包含p關鍵字,則利用該關鍵字之后的參數(shù)按照調用表達式的邏輯定義進行求值;(3)將計算結果賦值給當前屬性名代表的狀態(tài)變量。全文摘要一種基于形式化描述和狀態(tài)遷移的XML轉換方法,此方法對采用XML作為主要數(shù)據表示形式的網絡協(xié)議能夠進行有效的形式化描述,包括以下步驟(1)分析網絡協(xié)議的邏輯功能,將協(xié)議劃分為不同的狀態(tài),每個狀態(tài)用唯一的一個XML片斷表示;(2)按照協(xié)議語義為上述各狀態(tài)建立狀態(tài)遷移規(guī)則;(3)執(zhí)行該遷移規(guī)則,實現(xiàn)XML數(shù)據之間的轉換,從而完成協(xié)議的自動實現(xiàn)。本發(fā)明與現(xiàn)有的協(xié)議形式化方法比較,綜合考慮了單基于狀態(tài)的形式化方法和單純基于程序設計語言方法各自的優(yōu)勢和不足,即避免了單純基于狀態(tài)方法的“狀態(tài)空間爆炸”問題,也發(fā)揮了程序設計語言方法對于靜態(tài)數(shù)據結構和操作過程描述的優(yōu)勢。文檔編號G06F17/22GK101282345SQ20081010124公開日2008年10月8日申請日期2008年3月3日優(yōu)先權日2008年3月3日發(fā)明者建劉,寧李,李竹青,穎王,軍韓,馬殿富申請人:北京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1