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

一種基于元模型的工作流流程定義轉(zhuǎn)換的方法及系統(tǒng)的制作方法

文檔序號:6611022閱讀:161來源:國知局
專利名稱:一種基于元模型的工作流流程定義轉(zhuǎn)換的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及工作流流程定義轉(zhuǎn)換技術(shù),尤指 一種基于元模型的對遵
循XML語法表示的工作流流程定義轉(zhuǎn)換的方法及系統(tǒng)。
背景技術(shù)
工作流技術(shù)是一項快速發(fā)展的技術(shù),并在各個行業(yè)得到廣泛應(yīng)用, 其主要特征是業(yè)務(wù)流程的自動化。工作流是一類能夠完全或者部分自動 執(zhí)行的經(jīng)營過程,它根據(jù)一系列的過程規(guī)則、文檔、信息或任務(wù)在不同 4丸行者之間進行傳遞和執(zhí)行。
關(guān)于工作流過程定義,已有很多流行的規(guī)范,常用的有由BEA、 《設(shè)4欠和IBM耳關(guān)合4,出的BPEL ( Business Process Execution Language For Web Services ),它提供了 一種XML注釋和語義,用于指定基于Web服 務(wù)的業(yè)務(wù)流程行為;由工作流管理聯(lián)盟(Workflow Management Coalition, 簡稱WfMC )提出的XPDL ( XML Process Definition Language ),是一種 廣泛使用的國際性工作流過程定義標準,用于描述工作流參考模型中的 才妄口 一 4卩分;由商業(yè)過禾呈管J里i十戈'J ( Business Process Management Initiative , 簡稱BPMI )才是出的 BPML(Business Process Modeling Language),它是一個XML才莫式的過程才莫型定義語言,它為表達由事務(wù) 處理、數(shù)據(jù)管理、并行操作、異常處理和操作語義等一系列企業(yè)活動組 成的業(yè)務(wù)過程定義形式模型;還有BPML(Business Process Model Language) 、 WSDL(Web Services Description Language)等其他語言。但是, 現(xiàn)在的工作流系統(tǒng)幾乎彼此都不兼容,不同的系統(tǒng)之間缺乏互操作的接 口 。近年來為了解決互操作問題,發(fā)布了一些過程定義語言標準,如WfMC 發(fā)布的WPDL ( Workflow Process Definition Language )和XPDL,美國國 家標準4支術(shù)石開究所(National Institute of Standards and Technology,簡稱 NIST)提出的過程定義語言PSL (Process Specification Language)以及 對象管理組織(Obj ect Management Group ,簡稱OMG )提出的統(tǒng) 一 建模 語言(Unified Modeling Language,簡稱UML)等,但這些語言都沒有提 供設(shè)計階段互操作問題的解決方案。
現(xiàn)在已經(jīng)有一些用于流程轉(zhuǎn)換的工具。如清華的CIMFlow工作流是 在XPDL基礎(chǔ)上進行改進,它自帶一個CIMFlow與XPDL之間基于元模 型的轉(zhuǎn)換工具。由于這兩種語言比較相似,所以轉(zhuǎn)換時很容易找到對應(yīng) 節(jié)點,并增刪相應(yīng)節(jié)點達到目標轉(zhuǎn)換。IBM^^司的ETTK實現(xiàn)了由UML 到BPEL和WSDL的轉(zhuǎn)換。ETTK能夠獲得用UML工具(例如IBM Rational的XDE或Rose )開發(fā)的流程模型,并且能將它們轉(zhuǎn)換為正確的 BPEL和WSDL文檔來實現(xiàn)該流程。但是這些工具僅僅4是供兩種語言的 轉(zhuǎn)換,為每兩種語言開發(fā)一個工具,需要大量的人力物力。

發(fā)明內(nèi)容
鑒于現(xiàn)有流程轉(zhuǎn)換工具的缺陷,本發(fā)明的目的是提出一種通用的基 于元模型及規(guī)則的針對符合XML規(guī)范的工作流流程定義之間的轉(zhuǎn)換方法 以及實現(xiàn)該方法的系統(tǒng)。該方法4是供了 乂人源工作流流禾呈定義到目標工作 流流程定義的轉(zhuǎn)換步驟和算法,該系統(tǒng)實現(xiàn)了源工作流流程定義到相應(yīng) 目標工作流流程定義的轉(zhuǎn)換。
為了實現(xiàn)上述目的,基于元模型的工作流流程定義轉(zhuǎn)換的方法包括5 個步驟
1) 將源工作流流程定義文件讀入內(nèi)存,將其轉(zhuǎn)化成基于XML語法 規(guī)則的源文檔內(nèi)存結(jié)構(gòu);
2) 將轉(zhuǎn)化后的基于XML語法規(guī)則的源文檔內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于元 模型的源內(nèi)存結(jié)構(gòu);
3) 根據(jù)預(yù)定義的工作流定義語言之間的轉(zhuǎn)換規(guī)則,將基于元模型的
源內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于元模型的目標內(nèi)存結(jié)構(gòu);
4) 將基于元模型的目標內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于XML語法規(guī)則的目標 文檔內(nèi)存結(jié)構(gòu);
5) 將基于XML語法規(guī)則的目標文檔內(nèi)存結(jié)構(gòu)轉(zhuǎn)化成目標工作流流 程定義文件。
其中,源工作流流程定義文件只能是由符合XML語法規(guī)則的語言定 義的文件。
其中,步驟1 )的具體轉(zhuǎn)化過程是將源流程定義文件按照定義的關(guān)鍵 字提取節(jié)點信息,并根據(jù)節(jié)點的層次關(guān)系把源文件存儲成基于XML的帶 節(jié)點的有向樹形式的結(jié)構(gòu)。
其中,步驟2)的轉(zhuǎn)換過程是首先利用schema建立類的結(jié)構(gòu)圖, 由schema得到頂層節(jié)點,然后從頂層節(jié)點遍歷有向樹形式的XML內(nèi)存 結(jié)構(gòu),并根據(jù)類的結(jié)構(gòu)圖建立類的實例,轉(zhuǎn)換成元模型形式的結(jié)構(gòu)。
其中,步驟3)中,轉(zhuǎn)換規(guī)則為判斷語義形式,即若輸入源節(jié)點信息 A,則將輸出B,其中B表示應(yīng)執(zhí)行的動作,該動作包括建立對應(yīng)A的 目標節(jié)點和更新其他目標模型數(shù)據(jù)。
本發(fā)明的基于元模型的工作流流程定義轉(zhuǎn)換的系統(tǒng)包括XML文件讀 寫器、XML-元模型轉(zhuǎn)換器、規(guī)則管理模塊和轉(zhuǎn)換引擎四部分。其中,該 XML文件讀寫器將XML文件讀入內(nèi)存,保存為XML形式的內(nèi)存結(jié)構(gòu)或 將XML形式的內(nèi)存結(jié)構(gòu)寫出到XML文件;所述XML-元模型轉(zhuǎn)換器將 以XML形式的內(nèi)存結(jié)構(gòu)存儲的流程定義轉(zhuǎn)換為基于元模型的內(nèi)存結(jié)構(gòu)或 將基于元模型形式的內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為XML形式的內(nèi)存結(jié)構(gòu);該規(guī)則管理 模塊包括規(guī)則錄入模塊、規(guī)則維護模塊和規(guī)則查詢模塊,其中錄入模塊 和規(guī)則維護模塊將生成一個轉(zhuǎn)換規(guī)則庫,為轉(zhuǎn)換引擎提供轉(zhuǎn)換規(guī)則;該 轉(zhuǎn)換引擎是對源模型基于元模型的內(nèi)存結(jié)構(gòu)進行遍歷,并在轉(zhuǎn)換規(guī)則的
指導(dǎo)下生成目標模型的元模型。
本發(fā)明的技術(shù)效果是,為基于XML規(guī)范的流程定義語言定義的工作
流模型之間提供了 一種通用的相互轉(zhuǎn)換的方法,有效地彌補了現(xiàn)有工作 流模型轉(zhuǎn)換工具只能完成特定的兩種模型定向轉(zhuǎn)換的缺點,減少了重復(fù) 開發(fā)轉(zhuǎn)換工具所帶來的時間和成本支出。


圖1為工作流模型之間轉(zhuǎn)換系統(tǒng)的架構(gòu)示意圖; 圖2為XML文件讀寫器模塊流程圖。
具體實施例方式
為使本發(fā)明的特征及優(yōu)點得到更清楚的了解,以下結(jié)合附圖,作詳 細說明如下如圖1所示,描述了本發(fā)明的模型轉(zhuǎn)換系統(tǒng)的架構(gòu),其中 箭頭方向表示實現(xiàn)轉(zhuǎn)換方法的流程。當有源模型文件輸入到轉(zhuǎn)換系統(tǒng)時, 于本實施例中的具體轉(zhuǎn)換步驟是
1 ) XML文件讀寫器將源模型文件讀入內(nèi)存,將其轉(zhuǎn)化成基于XML 語法規(guī)則的源文檔內(nèi)存結(jié)構(gòu),即源模型文件的xml形式;
2 )XML-元模型轉(zhuǎn)換器將步驟1得到的基于XML的內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為 基于元模型的內(nèi)存結(jié)構(gòu),即源模型文件的元模型形式;
3) 轉(zhuǎn)換引擎將步驟2得到的基于元模型的內(nèi)存結(jié)構(gòu)根據(jù)轉(zhuǎn)換規(guī)則庫 中預(yù)定義的規(guī)則,轉(zhuǎn)換為相應(yīng)的基于元模型目標模型的內(nèi)存結(jié)構(gòu),即目 標模型文件的元模型形式;
4) XML-元模型轉(zhuǎn)換器將步驟3得到的目標模型的元模型內(nèi)存結(jié)構(gòu) 轉(zhuǎn)換為基于XML的目標內(nèi)存結(jié)構(gòu),即目標模型文件的xml形式;
5 ) XML文件讀寫器將4得到的基于XML的目標內(nèi)存寫成相應(yīng)的目 標模型文件。
其中,步驟1如圖2所示,檢查源模型文件是否符合XML語法規(guī)范,
如果不符合,返回處理失敗消息,如果符合,XML文件讀寫器將從源模
型文件中提取節(jié)點信息,并根據(jù)節(jié)點的層次關(guān)系把源文件存儲成基于
XML的帶節(jié)點的有向樹形式的結(jié)構(gòu)。
其中,步驟2用于將XML形式的流程定義以元模型的形式保存起來, 這需要源元模型的schema文檔。每個流程定義語言都有一份schema文 檔來定義XML文檔的合法組件群。Schema文檔里定義了可以出現(xiàn)在 XML文檔里的元素、可以出現(xiàn)在文檔里的屬性、哪些元素是子元素、子 元素的順序、子元素的數(shù)量、 一個元素是否能包含文本或應(yīng)該是空、元 素和屬性的數(shù)據(jù)類型、元素和屬性的默認值和固定值等。根據(jù)schema按 照以下原則可以生成模型節(jié)點的類的結(jié)構(gòu)圖對于文檔中的元素、子元 素、屬性按照表1生成類的數(shù)據(jù)成員,再為每個數(shù)據(jù)成員生成存取方法。 這里的子元素是相對概念,在建立子元素對應(yīng)的類時,子元素被認為是 元素。
編號文檔數(shù)據(jù)類型生成類的成員
1元素類
2單個同類型子元素類的引用
3多個同類型子元素類的引用的數(shù)組
4屬性String型變量
表1 XML文檔元素與基于元模型的類成員的對應(yīng)關(guān)系 然后,再將XML形式的流程定義文件按照上述類的結(jié)構(gòu)圖生成類的 實現(xiàn),生成算法為對XML形式的內(nèi)存表示進行深度優(yōu)先遍歷,對遍歷 路徑中的每個元素或子元素按上一步得到的類的結(jié)構(gòu)圖生成類的實例, 以后就可以通過這些類的實現(xiàn)來獲取源流程定義文件中的數(shù)據(jù)。
其中,步驟3的轉(zhuǎn)換規(guī)則庫由規(guī)則管理模塊生成。規(guī)則管理模塊完 成對規(guī)則的錄入和維護以生成一個轉(zhuǎn)換規(guī)則庫,為轉(zhuǎn)換引擎提供轉(zhuǎn)換規(guī) 則。轉(zhuǎn)換規(guī)則庫中的規(guī)則用于為工作流流程定義語言元模型之間建立映
射關(guān)系,為每兩種流程定義語言編寫規(guī)則,比如XPDL到BPEL的規(guī)則、 BPEL到XPDL的規(guī)則等。轉(zhuǎn)換規(guī)則需要描述源元模型和目標元模型的節(jié) 點之間的對應(yīng)關(guān)系,及目標模型中必需而源模型不包含的信息的填充辦 法。所以,本發(fā)明的規(guī)則形式為判斷語義。為了以正確的順序生成目標 模型,每條規(guī)則都有優(yōu)先級。下面舉例說明規(guī)則的格式 rule "namc" "saliance " when
"source—node " then
"action "
end
其中,saliance為優(yōu)先級,是一個數(shù)字,值大的優(yōu)先;source—node 為源模型里的節(jié)點;action為執(zhí)行的動作。 一般情況下,action為建立對 應(yīng)source—node的目標節(jié)點,也可以是更新其他目標模型數(shù)據(jù),比如目標 模型必需而源模型不包含的信息。轉(zhuǎn)換規(guī)則也可以有其他的格式。
其中,步驟3由轉(zhuǎn)換引擎對源模型在元模型下的內(nèi)存表示進行遍歷, 并在規(guī)則的指導(dǎo)下生成目標模型。主要算法為
1. 讀入頂層模型節(jié)點;
2. 在規(guī)則引擎里查找適用該節(jié)點的規(guī)則,返回應(yīng)執(zhí)行的動作;
3. 根據(jù)返回,將對應(yīng)節(jié)點寫入目標模型,或同時更新其它目標模型數(shù)
據(jù);
4. 如有下級節(jié)點,以該節(jié)點調(diào)用2,否則到5;
5. 如有尚未處理的同層次同上級節(jié)點的節(jié)點(頂層節(jié)點認為是同上 級),以該節(jié)點調(diào)用2,否則到6;
6. 如有上級節(jié)點則返回上級節(jié)點,并到5,否則算法結(jié)束。
其中,步驟4用于將以元模型形式存儲的流程定義轉(zhuǎn)換為XML形式 的內(nèi)存結(jié)構(gòu),需要借助schema文檔得到頂層節(jié)點,并設(shè)置object類型的 堆棧stackClass,將所有頂層節(jié)點入棧,然后執(zhí)行以下算法
1、 將當前類的實例生成元素;
2、 對于當前類的String型變量,變量名生成屬性名,變量值為屬性
值;
3、 如有類的引用或引用數(shù)組,則由后向前將引用及引用數(shù)組里的引 用入棧;
4、 如棧為空,則返回,如棧不為空則出棧,并將當前出棧元素作為 當前類跳轉(zhuǎn)至1。
但是本發(fā)明的具體實現(xiàn)形式并不局限于此,對于本技術(shù)領(lǐng)域的 一般技術(shù) 人員來說,在不背離本發(fā)明所述方法的精神和權(quán)利要求范圍的情況下對 它進行的各種顯而易見的改變都在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于元模型的工作流流程定義轉(zhuǎn)換的方法,其特征在于其包括以下步驟1)將源工作流流程定義文件讀入內(nèi)存,將其轉(zhuǎn)化成基于XML語法規(guī)則的源文檔內(nèi)存結(jié)構(gòu);2)將轉(zhuǎn)化后的基于XML語法規(guī)則的源文檔內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于元模型的源內(nèi)存結(jié)構(gòu);3)根據(jù)預(yù)定義的工作流定義語言之間的轉(zhuǎn)換規(guī)則,將基于元模型的源內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于元模型的目標內(nèi)存結(jié)構(gòu);4)將基于元模型的目標內(nèi)存結(jié)構(gòu)轉(zhuǎn)換為基于XML語法規(guī)則的目標文檔內(nèi)存結(jié)構(gòu);5)將基于XML語法規(guī)則的目標文檔內(nèi)存結(jié)構(gòu)轉(zhuǎn)化成目標工作流流程定義文件。
2. 如權(quán)利要求1所述的方法,其特征在于在所述步驟l)中,源工 作流流程定義文件只能是由符合XML語法規(guī)則的語言定義的文件。
3. 如權(quán)利要求1所述的方法,其特征在于所述的步驟1 )的具體轉(zhuǎn) 化過程是將源流程定義文件按照定義的關(guān)鍵字提取節(jié)點信息,并根據(jù)節(jié) 點的層次關(guān)系把源文件存儲成基于XML的帶節(jié)點的有向樹形式的結(jié)構(gòu)。
4. 如權(quán)利要求1所述的方法,其特征在于所述的步驟2)的轉(zhuǎn)換過 程是首先利用schema建立類的結(jié)構(gòu)圖,由schema得到頂層節(jié)點,然 后從頂層節(jié)點遍歷有向樹形式的XML內(nèi)存結(jié)構(gòu),并#4居類的結(jié)構(gòu)圖建立 類的實例,轉(zhuǎn)換成元模型形式的結(jié)構(gòu)。
5. 如權(quán)利要求1所述的方法,其特征在于在所述步驟3)中,轉(zhuǎn)換 規(guī)則為判斷語義形式,即若輸入源節(jié)點信息A,則將輸出B,其中B表 示應(yīng)執(zhí)行的動作,該動作包括建立對應(yīng)A的目標節(jié)點和更新其他目標模 型數(shù)據(jù)。
6.—種基于元模型的工作流流程定義轉(zhuǎn)換的系統(tǒng),其特征在于所述 的應(yīng)用系統(tǒng)包4舌以下部分XML文件讀寫器將XML文件讀入內(nèi)存,保存為XML形式的內(nèi)存 結(jié)構(gòu)或?qū)ML形式的內(nèi)存結(jié)構(gòu)寫出到XML文件;XML-元模型轉(zhuǎn)換器將以XML形式的內(nèi)存結(jié)構(gòu)存儲的流程定義轉(zhuǎn) 換為基于元模型的內(nèi)存結(jié)構(gòu)或?qū)⒒谠P托问降膬?nèi)存結(jié)構(gòu)轉(zhuǎn)換為XML 形式的內(nèi)存結(jié)構(gòu);規(guī)則管理模塊對轉(zhuǎn)換規(guī)則進行錄入、維護和向轉(zhuǎn)換引擎提供轉(zhuǎn)換 規(guī)則;轉(zhuǎn)換引擎轉(zhuǎn)換引擎對源模型基于元模型的內(nèi)存結(jié)構(gòu)進行遍歷,并 在轉(zhuǎn)換規(guī)則的指導(dǎo)下生成目標模型。
全文摘要
本發(fā)明公開了一種基于元模型的對符合XML規(guī)范的工作流流程定義進行相互轉(zhuǎn)換的方法,本發(fā)明還涉及一種實現(xiàn)該方法的系統(tǒng),本發(fā)明的系統(tǒng)由規(guī)則管理模塊、轉(zhuǎn)換引擎、XML讀寫器和XML-元模型轉(zhuǎn)換器四部分組成,通過對XML體現(xiàn)的元模型間建立映射關(guān)系來實現(xiàn)工作流模型的轉(zhuǎn)換。本方法具有通用性,解決了現(xiàn)有的用于流程轉(zhuǎn)換的工具僅僅能保證兩種流程定義語言的轉(zhuǎn)換問題,減少了重復(fù)開發(fā)轉(zhuǎn)換工具而帶來的時間和成本支出。
文檔編號G06F17/30GK101354759SQ20071013013
公開日2009年1月28日 申請日期2007年7月23日 優(yōu)先權(quán)日2007年7月23日
發(fā)明者蘭雨晴, 李紅娟, 林 楊, 郭樹行, 靜 高 申請人:蘭雨晴
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1