欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法

文檔序號:6546666閱讀:238來源:國知局
基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法
【專利摘要】一種基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法,包括客戶端的可視化建模和服務(wù)器端的設(shè)計流程引擎。客戶端的可視化建模是指設(shè)計人員采用可視化圖元拖拽方式,將AUV設(shè)計流程以圖形化形式顯示在客戶端瀏覽器上,實現(xiàn)AUV復(fù)雜設(shè)計流程建模。服務(wù)器端的設(shè)計流程引擎與Web服務(wù)層、RMI中間件、移動Agent層以及數(shù)據(jù)庫整合在一起,通過令牌技術(shù)驅(qū)動流程的運轉(zhuǎn)。本發(fā)明能夠提高平臺的易用性和可視化程度,增強設(shè)計人員對于設(shè)計流程的管理控制能力,方便流程的設(shè)計、修改、復(fù)用和監(jiān)控。同時,由于流程可視化,不同部門在進(jìn)行協(xié)同設(shè)計時可節(jié)約溝通成本。本發(fā)明的方法不僅適用于AUV設(shè)計流程的可視化建模,對其它裝備制造業(yè)的設(shè)計流程可視化建模也具有借鑒價值。
【專利說明】基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法,屬于計算機軟件領(lǐng)域。
【背景技術(shù)】
[0002]Flex指Adobe Flex,最初由Macromedia公司在2004年3月發(fā)布,基于其專有的Macromedia Flash平臺。Flex是一個高效、免費的開源框架,可用于構(gòu)建具有表現(xiàn)力的Web應(yīng)用程序,這些應(yīng)用程序利用Adobe Flash Player和Adobe AIR,可以實現(xiàn)跨瀏覽器、桌面和操作系統(tǒng)。
[0003]自治水下機器人(Autonomous Underwater Vehicle,AUV)設(shè)計是一項復(fù)雜的系統(tǒng)工程,各個子系統(tǒng)涉及多個學(xué)科領(lǐng)域,各個組成部分之間互相影響、互相制約,在設(shè)計過程中需要協(xié)調(diào)各個學(xué)科之間的約束關(guān)系,優(yōu)化設(shè)計流程和設(shè)計變量,保證各個子系統(tǒng)之間協(xié)調(diào)統(tǒng)一。利用AUV協(xié)同設(shè)計平臺,可以實現(xiàn)多人異地協(xié)同設(shè)計以及多個設(shè)計流程的并行計算,有效利用平臺的軟硬件資源,提高設(shè)計效率,縮短設(shè)計周期。
[0004]由于對設(shè)計流程的定義、修改、提交等操作是面向用戶的,要求較高的易用性,因此,核心問題是解決設(shè)計流程的可視化建模問題。采用可視化建模的方法,用戶可以自由拖拽控件設(shè)計流程,圖形化的流程結(jié)構(gòu)可以轉(zhuǎn)化成對應(yīng)的XML文件結(jié)構(gòu)來存儲。當(dāng)用戶再次查看流程,系統(tǒng)能夠?qū)ML流程文件直接轉(zhuǎn)化成圖形化的流程結(jié)構(gòu),用戶可以在此基礎(chǔ)上繼續(xù)修改。此外,可視化建模系統(tǒng)還能夠帶給用戶實時的流程運行狀態(tài)監(jiān)控信息,通過圖形化的界面顯示流程中各個任務(wù)的執(zhí)行情況。
[0005]分析當(dāng)前基于B/S模式的流程建模工具的實現(xiàn)方式,概括來說可以分為三大類:
[0006](I)采用JavaScript技術(shù)實現(xiàn)的建模工具,由于JavaScript對于各個瀏覽器的支持程度不一樣,導(dǎo)致兼容性很低。這種技術(shù)實現(xiàn)的建模工具在進(jìn)行流程建模的時候,對于復(fù)雜操作會導(dǎo)致整個瀏覽器會變得相當(dāng)緩慢,用戶體驗差。
[0007](2)采用嵌入瀏覽器運行的插件來實現(xiàn),比如Applet, SilverStream這些插件等,這類產(chǎn)品的特點是可以繪制比較復(fù)雜的流程,運行效率比較高,缺點是用戶必須安裝一個插件,導(dǎo)致瀏覽器支持程度較低,兼容性不高。
[0008](3)采用Flex技術(shù)實現(xiàn)的建模工具,F(xiàn)lex本身就是基于B/S模式開發(fā)富客戶端應(yīng)用的有效工具,它的瀏覽器兼容性好,界面用戶體驗好,在進(jìn)行建模設(shè)計時,反應(yīng)靈敏,可視化效果比較好,且運行效率比較高,后臺通信技術(shù)強大。
[0009]總結(jié)以上三種類型的優(yōu)缺點,本發(fā)明采用Flex技術(shù)實現(xiàn)AUV設(shè)計流程的可視化建模。采用基于Flex技術(shù)的設(shè)計流程可視化建模方法,可以提供一種嵌入瀏覽器的AUV設(shè)計流程可視化建模工具,能將AUV設(shè)計流程以圖形化形式顯示在瀏覽器上,提高AUV協(xié)同設(shè)計平臺的可視化程度,簡單易用,具有良好的用戶體驗??梢暬慕缑孢€能夠方便AUV設(shè)計流程的復(fù)用和狀態(tài)監(jiān)控,能提高AUV設(shè)計人員的工作效率。
【發(fā)明內(nèi)容】

[0010]本發(fā)明提供了一種基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法,克服了現(xiàn)有AUV協(xié)同設(shè)計平臺中可視化程度低的缺陷。
[0011]本發(fā)明的技術(shù)方案如下:
[0012]一種基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法,包括客戶端的可視化建模和服務(wù)器端的設(shè)計流程引擎。
[0013]客戶端的可視化建模是指設(shè)計人員能通過客戶端瀏覽器,采用可視化圖元拖拽方式,將AUV設(shè)計流程以圖形化形式顯示在瀏覽器上,實現(xiàn)AUV復(fù)雜設(shè)計流程的創(chuàng)建、修改、復(fù)用和監(jiān)控等。客戶端的設(shè)計人員通過瀏覽器輸入URL地址訪問服務(wù)器資源,服務(wù)器根據(jù)URL請求返回Flex編譯生成的SWF文件給客戶端??蛻舳私缑嫣峁┻M(jìn)行流程設(shè)計的菜單欄、工具欄、圖元控件、文件管理目錄、設(shè)計流程編輯區(qū)等,設(shè)計人員通過客戶端界面進(jìn)行設(shè)計流程的可視化建模。具體步驟如下:
[0014](I)設(shè)計圖元:定義一套符合工作流管理聯(lián)盟(WfMC)標(biāo)準(zhǔn)的基本圖元,包括:開始圖元、結(jié)束圖元、分支圖元、合并圖元、選擇圖元、循環(huán)圖元和流程路由遷移線。此外,還定義了一套能支持AUV設(shè)計流程涉及到的多種不同計算任務(wù)的任務(wù)圖元,如CFX-Pre、CFX-Solver> CFX-Post> Gridgen、Solidworks、CATIA、ANSYS 等等,任務(wù)圖兀可以隨著設(shè)計軟件的更新隨時調(diào)整,比如平臺中新加入了一款設(shè)計軟件,則管理員可以很方便地添加一個新的任務(wù)圖元并設(shè)置相應(yīng)的圖片作為該圖元的顯示圖標(biāo)。系統(tǒng)能夠支持基本圖元和任務(wù)圖元的選擇、拖拽、新增、修改、復(fù)制和刪除等操作。
[0015](2)設(shè)計任務(wù)節(jié)點:拖拽任務(wù)圖元到流程編輯區(qū)即創(chuàng)建了一個任務(wù)節(jié)點,每個設(shè)計流程均由多個任務(wù)節(jié)點組成,AUV設(shè)計流程可視化建模的最終目的是將多人異地、不同時刻提交的設(shè)計流程中的多個任務(wù),調(diào)度到合適的工作站上執(zhí)行。在流程創(chuàng)建階段,通過圖形化的方式,將任務(wù)節(jié)點組合成需要的流程結(jié)構(gòu),并且每個任務(wù)節(jié)點都需要人工配置輸入輸出文件、啟動命令等屬性信息。任務(wù)節(jié)點的狀態(tài)隨著設(shè)計流程的創(chuàng)建、提交、解析、調(diào)度執(zhí)行而發(fā)生改變。
[0016](3)設(shè)計流程復(fù)用:流程復(fù)用包括設(shè)計員創(chuàng)建的歷史流程的復(fù)用、同組設(shè)計員創(chuàng)建的流程復(fù)用和所有人可見的流程復(fù)用三個方面。設(shè)計員可以從以前的歷史流程中復(fù)制流程的全部或者部分元素添加到新的設(shè)計流程里面。流程一共有三級共享權(quán)限,分別是私有的,組內(nèi)共享,所有人可見。若流程屬性設(shè)置為組內(nèi)共享級別,則同組的其他設(shè)計員就可以在共享文件夾下面看到該流程并復(fù)用;若流程屬性設(shè)置為所有人可見,則所有人都可以在共享文件夾下面看到該流程并復(fù)用。
[0017](4)設(shè)計流程監(jiān)控:對正在執(zhí)行的流程狀態(tài)進(jìn)行監(jiān)控,通過改變?nèi)蝿?wù)節(jié)點的圖標(biāo)顏色標(biāo)識任務(wù)的不同狀態(tài),包括等待執(zhí)行、正在執(zhí)行、執(zhí)行故障和執(zhí)行完成。在界面上提示各個任務(wù)節(jié)點的開始時間、結(jié)束時間、執(zhí)行時間和被分配在哪個工作站上執(zhí)行。若任務(wù)節(jié)點長時間不響應(yīng),則說明發(fā)生故障,在監(jiān)控界面可以對故障節(jié)點進(jìn)行跟蹤記錄,方便設(shè)計人員恢復(fù)執(zhí)行失敗的流程。
[0018]服務(wù)器端的設(shè)計流程引擎是設(shè)計流程執(zhí)行的核心驅(qū)動。設(shè)計流程引擎與服務(wù)器端的Web服務(wù)層、RMI中間件、移動Agent層以及數(shù)據(jù)庫整合在一起。客戶端設(shè)計流程可視化建模完成后,將設(shè)計流程的模型文件及其配置文件提交給服務(wù)器端的Web服務(wù)層,再通過RMI中間件提交給服務(wù)器的移動Agent層,由移動Agent層的Aglet平臺調(diào)用設(shè)計流程引擎執(zhí)行。本發(fā)明的設(shè)計流程引擎遵循工作流管理系統(tǒng)的規(guī)范,利用令牌(Token)技術(shù)驅(qū)動流程的運轉(zhuǎn),通過定義并實現(xiàn)令牌執(zhí)行的上下文環(huán)境以及令牌流轉(zhuǎn)的條件,整合設(shè)計出了適合AUV設(shè)計流程的引擎。包括以下設(shè)計方案:
[0019](I)設(shè)計流程引擎與服務(wù)器的整合。設(shè)計流程引擎主要負(fù)責(zé)流程的解析以及對流程中任務(wù)的管理調(diào)度。設(shè)計流程引擎整合在服務(wù)器端,與服務(wù)器端的Web服務(wù)層、RMI中間件、移動Agent層以及數(shù)據(jù)庫相關(guān)聯(lián)。
[0020]所述的Web服務(wù)層,主要處理來自三個方面的請求與響應(yīng)。第一是瀏覽器請求資源和提交信息;第二是根據(jù)用戶請求向數(shù)據(jù)庫讀寫數(shù)據(jù);第三是響應(yīng)Aglet平臺的推送信息實現(xiàn)流程監(jiān)控功能。
[0021]所述的RMI中間件,作為Web服務(wù)器和Aglet平臺之間的通信機制而存在。由于平臺異構(gòu),所以需要使用RMI遠(yuǎn)程過程調(diào)用技術(shù)將兩者融合在一起。其中Web服務(wù)器作為RMI服務(wù)的客戶端,而Aglet平臺作為RMI服務(wù)的服務(wù)器供應(yīng)端。
[0022]所述的移動Agent層主要包含Aglet平臺和設(shè)計流程引擎。因為Aglet平臺和設(shè)計流程引擎之間不存在異構(gòu)性,所以可以整合在一個服務(wù)層,且流程引擎解析執(zhí)行后需要Aglet平臺調(diào)度任務(wù),整合在一起可以減少了兩個組件之間的信息傳遞,提高效率。Aglet平臺處理來自Web服務(wù)器的RMI請求,然后調(diào)用設(shè)計流程引擎,引擎根據(jù)提交的流程ID從數(shù)據(jù)庫中獲取流程模型信息并驗證,對流程進(jìn)行解析,并將解析后的任務(wù)集合提交給Aglet平臺。Aglet平臺中的調(diào)度Agent根據(jù)調(diào)度算法將任務(wù)分配給合適的工作站執(zhí)行。執(zhí)行完成后Aglet通過URL請求將執(zhí)行完的信息推送給Web服務(wù)器,Web服務(wù)器更改數(shù)據(jù)庫信息并向客戶端反饋流程的實時狀態(tài)。
[0023]所述的數(shù)據(jù)庫作為系統(tǒng)的信息中心,承擔(dān)著系統(tǒng)I/O的讀寫任務(wù)。數(shù)據(jù)庫需要保存工作站資源信息,用戶基本信息和設(shè)計流程信息,由于基于Flex技術(shù)的可視化建模底層是由XML文檔來支持的,所以本系統(tǒng)采用XML文件存儲流程模型信息,數(shù)據(jù)庫表中存放XML文件的地址信息。
[0024](2)設(shè)計流程引擎的令牌。設(shè)計流程引擎的執(zhí)行過程是由本系統(tǒng)自定義的一套令牌機制驅(qū)動的。引擎執(zhí)行涉及四個類,包括令牌類、流程類、任務(wù)類和執(zhí)行上下文類。每個類的實例將在引擎執(zhí)行過程中起到不同的作用。
[0025]所述的令牌實例:流程建模階段形成的流程模型實例化之后會生成一個令牌,該令牌全局唯一,隨流程的生命周期開始而開始,消亡而消亡,當(dāng)遇到分支節(jié)點的時候令牌會根據(jù)分支數(shù)分裂,每個子令牌會在子分支結(jié)構(gòu)里面運作,直到遇到合并節(jié)點會等待所有子分支的子令牌回收,此時銷毀子令牌重組父令牌。
[0026]所述的流程實例:流程模型在提交之后會生成一個流程實例,該實例保存流程定義的信息,引擎解析流程并裝配文件,然后由令牌驅(qū)動執(zhí)行。
[0027]所述的任務(wù)實例:每次從流程實例里面生成一個當(dāng)前待分配的任務(wù)實例,該任務(wù)經(jīng)Aglet平臺調(diào)度交給工作站執(zhí)行。
[0028]所述的執(zhí)行上下文實例:執(zhí)行上下文里面存儲了流程執(zhí)行的參數(shù),如流程的引用,令牌的引用,任務(wù)節(jié)點集合,遷移等。令牌從執(zhí)行上下文中獲取需要的變量信息,驅(qū)動流程的運轉(zhuǎn)。[0029]本發(fā)明的有益效果是:
[0030]利用Flex技術(shù)實現(xiàn)嵌入瀏覽器的可視化建模,能夠提高平臺的易用性和可視化程度,增強設(shè)計人員對于設(shè)計流程的管理控制能力,方便流程的設(shè)計、修改、復(fù)用和監(jiān)控。同時,由于流程可視化,不同部門在進(jìn)行協(xié)同設(shè)計時可節(jié)約溝通成本??梢暬5谋O(jiān)控功能,有利于設(shè)計人員掌握整個流程的運行狀態(tài),從而保證了復(fù)雜流程信息的正確存儲、快速傳輸和解析執(zhí)行,提升用戶設(shè)計體驗,提高設(shè)計人員的工作效率,縮短設(shè)計周期。本發(fā)明提出的可視化建模方法不僅適用于AUV設(shè)計流程的可視化建模,對其它裝備制造業(yè)的設(shè)計流程可視化建模也具有借鑒價值。
【專利附圖】

【附圖說明】
[0031]圖1是支持基于Flex的AUV可視化建模的AUV協(xié)同設(shè)計平臺軟件架構(gòu)圖。
[0032]圖2是本發(fā)明可視化建模包含的圖元的類圖。
[0033]圖3是本發(fā)明可視化建模包含的任務(wù)節(jié)點在流程設(shè)計不同階段的狀態(tài)圖。
[0034]圖4是本發(fā)明可視化建模包含的流程監(jiān)控的序列圖。
[0035]圖5是本發(fā)明中設(shè)計流程引擎與服務(wù)器的整合關(guān)系圖。
【具體實施方式】
[0036]下面結(jié)合具體實施例對本發(fā)明所述技術(shù)方案作進(jìn)一步的詳細(xì)描述,以使本領(lǐng)域的技術(shù)人員可以更好的理解本發(fā)明并能予以實施,但所舉實施例不作為對本發(fā)明的限定。 [0037]圖1為支持基于Flex的AUV可視化建模的AUV協(xié)同設(shè)計平臺軟件架構(gòu)圖。該系統(tǒng)的軟件架構(gòu)主要由運行在客戶端瀏覽器的建模顯示層,運行在服務(wù)器端的Web服務(wù)層、RMI中間件、移動Agent層和數(shù)據(jù)層,以及運行在工作站端的移動Agent層所組成。其中設(shè)計流程引擎整合在服務(wù)器端的移動Agent層中??蛻舳颂峤坏脑O(shè)計流程中的任務(wù)經(jīng)過服務(wù)器的解析和調(diào)度,被分配到合適的工作站上執(zhí)行。
[0038]本發(fā)明中基于Flex技術(shù)實現(xiàn)AUV可視化建模的方法包括客戶端的可視化建模和服務(wù)器端的設(shè)計流程引擎兩部分。
[0039]客戶端可視化建模的實施方式如下:
[0040](I)設(shè)計圖元,圖2為本發(fā)明可視化建模包含的圖元的類圖?;驹谹bstractElement類繼承自Flex組件里面的可視組件UIComponent,里面包含了名稱、ID、縱橫坐標(biāo)、長寬等基本信息。Node節(jié)點類繼承自AbstractElement類,是進(jìn)行流程設(shè)計所使用的圖元的父類,實現(xiàn)了一些節(jié)點的基本功能,包含DrawO , reDrawO , FigureToXMLO和XMLToFigure O函數(shù)等。Node節(jié)點類的子類包括:
[0041](a)開始節(jié)點StartNode類::每個流程都有一個開始節(jié)點作為ProcessDefinition解析流程的節(jié)點索引。每個流程有且僅有一個開始節(jié)點。
[0042](b)結(jié)束節(jié)點EndNode類::每個開始節(jié)點都對應(yīng)一個結(jié)束節(jié)點,標(biāo)志著一個流程狀態(tài)有始有終。這兩個節(jié)點屬于自動執(zhí)行活動,不帶任何任務(wù)和執(zhí)行動作。
[0043](c)分支節(jié)點ForkNode類:對于并行的流程,需要添加分支節(jié)點標(biāo)志著流程從分支節(jié)點開始并行執(zhí)行。分支節(jié)點也是令牌從這里分出子令牌的起點。
[0044](d)合并節(jié)點JoinNode類:每個分支節(jié)點對應(yīng)一個合并節(jié)點,兩者同時存在,在合并節(jié)點處等待每個分支執(zhí)行完任務(wù),各個分支的子令牌在該節(jié)點合并為父令牌。
[0045](e)選擇節(jié)點DecisionNode類:屬于決策性節(jié)點,節(jié)點設(shè)置邊界,計算機會自動根據(jù)上下文變量與邊界值決定流程的走向。
[0046](f)循環(huán)節(jié)點LoopNode類:AUV設(shè)計流程經(jīng)常需要將一段流程單元循環(huán)多次執(zhí)行,就要使用循環(huán)節(jié)點,配置循環(huán)結(jié)束條件,以及每次循環(huán)變量的保存等。
[0047](g)任務(wù)節(jié)點TaskNode類:任務(wù)節(jié)點是可視化設(shè)計流程建模里面的關(guān)鍵節(jié)點,所有的計算任務(wù)都是在任務(wù)節(jié)點的組織下完成。任務(wù)節(jié)點包含任務(wù)屬性,屬性里面配置輸入輸出文件及啟動命令等。任務(wù)節(jié)點里面的參數(shù)依賴上一節(jié)點的參數(shù),往往上一節(jié)點的輸出文件需要作為下一節(jié)點的輸入文件。
[0048]比如,AUV水動力設(shè)計流程是一個典型的循環(huán)結(jié)構(gòu)設(shè)計流程,該流程除了具有一個開始節(jié)點和一個結(jié)束節(jié)點之外,還包括Gridgen、CFX-Pre、CFX-Solver、CFX-Post四個任務(wù)節(jié)點,此外,還需要一個循環(huán)節(jié)點,因為,該流程為了做不同速度下的阻力預(yù)報,需要針對不同的速度,通過Gridgen修正網(wǎng)格參數(shù),流程從Gridgen處開始循環(huán)。
[0049](2)設(shè)計任務(wù)節(jié)點,圖3為任務(wù)節(jié)點整個生命周期的狀態(tài)圖。AUV設(shè)計流程可視化建模的主要任務(wù)是將任務(wù)節(jié)點通過圖形化的方式,根據(jù)需要設(shè)計成合適的流程結(jié)構(gòu),然后提交給服務(wù)器的移動Agent層調(diào)度執(zhí)行。具體步驟如下:
[0050]步驟1:流程建模階段,設(shè)計員通過拖拽任務(wù)圖元的方式將任務(wù)節(jié)點放置在流程設(shè)計區(qū),然后對節(jié)點的輸入輸出文件、啟動命令等屬性進(jìn)行配置。
[0051]步驟2:流程提交階段,Web服務(wù)層在接收到客戶端提交的流程信息之后,調(diào)用RMI客戶端組件,RMI再調(diào)用移動Agent層提供的遠(yuǎn)程調(diào)用接口,流程將由Web服務(wù)層轉(zhuǎn)移到移動Agent層。在移動Agent層實現(xiàn)遠(yuǎn)程調(diào)用接口的具體實現(xiàn)類,該類實例化將流程信息發(fā)送給設(shè)計流程引擎,設(shè)計流程引擎的解析組件對流程進(jìn)行解析,驗證提交流程的正確性和完整性,并根據(jù)每個任務(wù)節(jié)點的屬性裝配需要的文件,流程解析后,生成任務(wù)集合交給Aglet平臺調(diào)度。
[0052]步驟3:調(diào)度就緒階段,等待移動Agent層中負(fù)責(zé)調(diào)度的Agent進(jìn)行任務(wù)調(diào)度,一旦找到合適的工作站,任務(wù)就進(jìn)入執(zhí)行階段,此時任務(wù)轉(zhuǎn)移到合適的工作站執(zhí)行。
[0053]步驟4:執(zhí)行完成階段,移動Agent層中的主控Agent收到任務(wù)完成的消息,調(diào)用設(shè)計流程引擎的消息處理函數(shù),該函數(shù)通過URL請求將任務(wù)執(zhí)行完成的消息傳遞給Web服務(wù)層。
[0054](3)設(shè)計流程復(fù)用,流程復(fù)用的實現(xiàn)過程如下:
[0055]步驟1:設(shè)計員右鍵選擇共享菜單會彈出共享級別設(shè)置窗口,包括“私有的”,“組內(nèi)共享”和“所有人可見”。
[0056]步驟2:設(shè)計員選擇共享級別后,點擊“確定”,系統(tǒng)會在服務(wù)器的共享文件里面添加如下信息:<share id =”2” name = ” flow2” from =,,yzw,,path =,,/AUV 第一次海試 /AUV水動力計算/flow2.xml^level =”1”>,其中Name屬性的含義是顯示在其他用戶的共享文件列表里面的名稱,from是來自于哪個用戶共享的文件,path屬性的含義是該文件的保存路徑,level =” I”代表是部門內(nèi)可見。
[0057]步驟3:當(dāng)其他同部門的設(shè)計員進(jìn)入系統(tǒng)之后,可以在共享文件下面看到該文件的信息,選擇添加到自 己的目錄就可以實現(xiàn)復(fù)用。[0058](4)設(shè)計流程監(jiān)控,圖4為流程監(jiān)控的序列圖,圖中詳細(xì)描述了從流程設(shè)計之初到流程運行階段的各個調(diào)用接口,以及接口對應(yīng)的調(diào)用對象,具體實現(xiàn)過程如下:
[0059]步驟1:用戶通過拖拽鼠標(biāo)進(jìn)行流程設(shè)計;
[0060]步驟2:客戶端負(fù)責(zé)對用戶請求進(jìn)行響應(yīng),調(diào)用DrawO繪制圖元;
[0061]步驟3:對任務(wù)節(jié)點中用到的配置文件進(jìn)行上傳;
[0062]步驟4:將設(shè)計好的流程提交給Web服務(wù)器;
[0063]步驟5 =Web服務(wù)器將流程信息保存到數(shù)據(jù)庫;
[0064]步驟6:ffeb服務(wù)器通過RMI調(diào)用將流程提交到Agent服務(wù)器;
[0065]步驟7 =Agent服務(wù)器啟動設(shè)計流程引擎解析流程;
[0066]步驟8:設(shè)計流程引擎將解析好的流程提交給Agent服務(wù)器調(diào)度;
[0067]步驟9 =Agent服務(wù)器中負(fù)責(zé)調(diào)度的Agent根據(jù)調(diào)度算法進(jìn)行任務(wù)調(diào)度;
[0068]步驟10 =Agent服務(wù)器將任務(wù)封裝到任務(wù)Agent并轉(zhuǎn)移到工作站執(zhí)行;
[0069]步驟11:工作站任務(wù)Agent在任務(wù)執(zhí)行完畢后返回Agent服務(wù)器;
[0070]步驟12 =Agent服務(wù)器調(diào)用設(shè)計流程引擎的消息處理組件;
[0071]步驟13:設(shè)計流程引擎的消息處理組件通過URL調(diào)用通知Web服務(wù)器消息類型;
[0072]步驟14 =Web服務(wù)器更新流程實例對應(yīng)的XML文件信息及數(shù)據(jù)庫信息;
[0073]步驟15 =Web服務(wù)器將更新的消息推送到客戶端,客戶端根據(jù)消息訂閱的類型更新對應(yīng)的視圖組件,從而能看到界面實時變化的監(jiān)控信息,顯示各個任務(wù)節(jié)點的不同狀態(tài)。
[0074]例如,步驟13中的UML調(diào)用可以向
[0075]http://localhost: 8080/Designer/flow_name/task_id/executing 這個 URL 地址發(fā)送請求,地址里面的flow_name/task_id/executing代表了當(dāng)前流程的第幾個任務(wù)處于正在執(zhí)行狀態(tài),步驟14中的Web服務(wù)層會解析這個字段,步驟15中Web服務(wù)器與客戶端之間通過BlazeDS組件消息推送機制,將實時監(jiān)控信息反饋給客戶端。這一過程是不斷循環(huán)的,直到整個流程的任務(wù)執(zhí)行完畢。
[0076]客戶端的監(jiān)控界面中綁定了消息訂閱Consumer組件,另有Publish組件負(fù)責(zé)監(jiān)聽Web服務(wù)層推送的消息,Publish組件和Consumer組件之間實現(xiàn)了消息訂閱模式,一旦Publish有消息,Consumer就會同步顯示出來。而Web服務(wù)器的調(diào)用函數(shù)會綁定BlazeDS配置文件Message-proxy.xml中定義的endPoint消息通道,endPoint通過Source屬性和Destination屬性為客戶端和Web服務(wù)器開辟一條消息通道。這樣就實現(xiàn)了本系統(tǒng)流程監(jiān)控的功能。
[0077]服務(wù)器端設(shè)計流程引擎的實施方式如下:
[0078](I)設(shè)計流程引擎與服務(wù)器的整合,圖5為設(shè)計流程引擎與服務(wù)器的整合圖,整合的具體步驟如下:
[0079]步驟1:設(shè)計員通過可視化建模生成流程定義文件并保存到數(shù)據(jù)庫中;
[0080]步驟2:用戶通過Web頁面提交流程后,Web服務(wù)器調(diào)用RMI組件,將流程實例提交給Aglet平臺的主控Agent ;
[0081]步驟3:主控Agent將流程提交給設(shè)計流程引擎;
[0082]步驟4:設(shè)計流程引擎調(diào)用流程解析組件,該組件從數(shù)據(jù)庫中查詢流程定義文件進(jìn)行流程解析;[0083]步驟5:設(shè)計流程引擎通過令牌信息,依據(jù)流程定義結(jié)構(gòu)將流程當(dāng)前待執(zhí)行任務(wù)加入到任務(wù)管理集合;
[0084]步驟6:設(shè)計流程引擎從任務(wù)管理集合中選擇優(yōu)先級最高的任務(wù)提交給Aglet平臺的調(diào)度Agent,此時控制權(quán)轉(zhuǎn)移到移動Agent層的Aglet平臺。
[0085](2)設(shè)計流程弓I擎令牌設(shè)計,設(shè)計流程弓I擎執(zhí)行涉及四個類,包括令牌類、流程類、任務(wù)類和執(zhí)行上下文類。每個類的實例將在引擎執(zhí)行過程中起到不同的作用。具體實施時,在執(zhí)行上下文實例中將保存當(dāng)前的流程實例,在流程實例中會初始化令牌實例,令牌實例在驅(qū)動流程運轉(zhuǎn)過程中會根據(jù)執(zhí)行上下文實例中提供的變量信息,判斷任務(wù)節(jié)點的走向。
[0086]在此說明書中,本發(fā)明已參照其特定的實施例做了描述。但是,很顯然仍可以做出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限制性的。
【權(quán)利要求】
1.一種基于Flex技術(shù)的AUV設(shè)計流程可視化建模方法,其特征在于,該AUV設(shè)計流程可視化建模方法包括客戶端的可視化建模和服務(wù)器端的設(shè)計流程引擎; (一)客戶端的可視化建模 (1)設(shè)計圖元:定義一套符合工作流管理聯(lián)盟標(biāo)準(zhǔn)的基本圖元,包括:開始圖元、結(jié)束圖元、分支圖元、合并圖元、選擇圖元、循環(huán)圖元和流程路由遷移線;此外,還定義了一套能支持AUV設(shè)計流程涉及到的多種不同計算任務(wù)的任務(wù)圖元,任務(wù)圖元可以隨著設(shè)計軟件的更新隨時調(diào)整;系統(tǒng)能夠支持基本圖元和任務(wù)圖元的選擇、拖拽、新增、修改、復(fù)制和刪除; (2)設(shè)計任務(wù)節(jié)點:拖拽任務(wù)圖元到流程編輯區(qū)即創(chuàng)建了一個任務(wù)節(jié)點,設(shè)計流程由多個任務(wù)節(jié)點組成,AUV設(shè)計流程可視化建模的最終目的是將多人異地、不同時刻提交的設(shè)計流程中的多個任務(wù),調(diào)度到合適的工作站上執(zhí)行;在流程創(chuàng)建階段,通過圖形化的方式,將任務(wù)節(jié)點組合成需要的流程結(jié)構(gòu),并且每個任務(wù)節(jié)點都需要人工配置輸入輸出文件、啟動命令等屬性信息;任務(wù)節(jié)點的狀態(tài)隨著設(shè)計流程的創(chuàng)建、提交、解析、調(diào)度執(zhí)行而發(fā)生改變; (3)設(shè)計流程復(fù)用:流程復(fù)用包括設(shè)計員創(chuàng)建的歷史流程的復(fù)用、同組設(shè)計員創(chuàng)建的流程復(fù)用和所有人可見的流程復(fù)用三個方面,一共有三級共享權(quán)限,分別是私有的,組內(nèi)共享,所有人可見;若流程屬性設(shè)置為組內(nèi)共享級別,則同組的其他設(shè)計員就可以在共享文件夾下面看到該流程并復(fù)用;若流程屬性設(shè)置為所有人可見,則所有人都在共享文件夾下面看到該流程并復(fù)用; (4)設(shè)計流程監(jiān)控:對正在執(zhí)行的流程狀態(tài)進(jìn)行監(jiān)控,通過改變?nèi)蝿?wù)節(jié)點的圖標(biāo)顏色標(biāo)識任務(wù)的不同狀態(tài),包括等待執(zhí)行、正在執(zhí)行、執(zhí)行故障和執(zhí)行完成;在界面上提示各個任務(wù)節(jié)點的開始時間、結(jié) 束時間、執(zhí)行時間和被分配在哪個工作站上執(zhí)行;此外,若任務(wù)節(jié)點長時間不響應(yīng),則說明發(fā)生故障,在監(jiān)控界面對故障節(jié)點進(jìn)行跟蹤記錄,方便設(shè)計人員恢復(fù)執(zhí)行失敗的流程; (二)設(shè)計服務(wù)器端的流程引擎 (I)設(shè)計流程引擎與服務(wù)器的整合;設(shè)計流程引擎主要負(fù)責(zé)流程的解析以及對流程中任務(wù)的管理調(diào)度;設(shè)計流程引擎與服務(wù)器端的Web服務(wù)層、RMI中間件、移動Agent層以及數(shù)據(jù)庫整合在一起; 所述的Web服務(wù)層,主要處理來自三個方面的請求與響應(yīng);第一是瀏覽器請求資源和提交信息;第二是根據(jù)用戶請求向數(shù)據(jù)庫讀寫數(shù)據(jù);第三是響應(yīng)Aglet平臺的推送信息實現(xiàn)流程監(jiān)控功能; 所述的RMI中間件,作為Web服務(wù)器和Aglet平臺之間的通信機制而存在;由于平臺異構(gòu),所以需要使用RMI遠(yuǎn)程過程調(diào)用技術(shù)將兩者融合在一起;其中Web服務(wù)器作為RMI服務(wù)的客戶端,而Aglet平臺作為RMI服務(wù)的服務(wù)器供應(yīng)端; 所述的移動Agent層主要包含Aglet平臺和設(shè)計流程引擎;因為Aglet平臺和設(shè)計流程引擎之間不存在異構(gòu)性,所以可以整合在一個服務(wù)層,且流程引擎解析執(zhí)行后需要Aglet平臺調(diào)度任務(wù),整合在一起可以減少了兩個組件之間的信息傳遞,提高效率;Aglet平臺處理來自Web服務(wù)器的RMI請求,然后調(diào)用設(shè)計流程引擎,引擎根據(jù)提交的流程ID從數(shù)據(jù)庫中獲取流程模型信息并驗證,對流程進(jìn)行解析,并將解析后的任務(wù)集合提交給Aglet平臺;Aglet平臺中的調(diào)度Agent根據(jù)調(diào)度算法將任務(wù)分配給合適的工作站執(zhí)行;執(zhí)行完成后Aglet通過URL請求將執(zhí)行完的信息推送給Web服務(wù)器,Web服務(wù)器更改數(shù)據(jù)庫信息并向客戶端反饋流程的實時狀態(tài); 所述的數(shù)據(jù)庫作為系統(tǒng)的信息中心,承擔(dān)著系統(tǒng)I/O的讀寫任務(wù);數(shù)據(jù)庫需要保存工作站資源信息,用戶基本信息和設(shè)計流程信息;由于基于Flex技術(shù)的可視化建模底層是由XML文檔來支持的,所以本系統(tǒng)采用XML文件存儲流程模型信息,數(shù)據(jù)庫表中存放XML文件的地址信息; (2)設(shè)計流程引擎的令牌;設(shè)計流程引擎的執(zhí)行過程是由本系統(tǒng)自定義的一套令牌機制驅(qū)動的;引擎執(zhí)行涉及四個類,包括令牌類、流程類、任務(wù)類和執(zhí)行上下文類;每個類的實例將在引擎執(zhí)行過程中起到不同的作用; 所述的令牌實例:流程建模階段形成的流程模型實例化之后會生成一個令牌,該令牌全局唯一,隨流程的生命周期開始而開始,消亡而消亡,當(dāng)遇到分支節(jié)點的時候令牌會根據(jù)分支數(shù)分裂,每個子令牌會在子分支結(jié)構(gòu)里面運作,直到遇到合并節(jié)點會等待所有子分支的子令牌回收,此時銷毀子令牌重組父令牌; 所述的流程實例:流程模型在提交之后會生成一個流程實例,該實例保存流程定義的信息,引擎解析流程并裝配文件,然后由令牌驅(qū)動執(zhí)行; 所述的任務(wù)實例:每次從流程實例里面生成一個待執(zhí)行的任務(wù)實例,該任務(wù)經(jīng)Aglet平臺調(diào)度交給工作站執(zhí)行; 所述的執(zhí)行上下文實例:執(zhí)行上下文里面存儲了流程執(zhí)行的參數(shù),如流程的引用,令牌的引用,任務(wù)節(jié)點集合 ,遷移等;令牌從執(zhí)行上下文中獲取需要的變量信息,驅(qū)動流程的運轉(zhuǎn)。
【文檔編號】G06F17/50GK103984818SQ201410206634
【公開日】2014年8月13日 申請日期:2014年5月16日 優(yōu)先權(quán)日:2014年5月16日
【發(fā)明者】許真珍, 夏鋒, 孔祥杰, 徐秀娟, 楊宗偉 申請人:大連理工大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
兴文县| 光泽县| 舒兰市| 抚州市| 连平县| 大关县| 望谟县| 平远县| 苏尼特右旗| 西宁市| 武功县| 普兰店市| 友谊县| 凤翔县| 罗山县| 修文县| 柯坪县| 阿拉善左旗| 塔河县| 阿克| 福贡县| 苍梧县| 旅游| 九寨沟县| 定陶县| 石阡县| 承德县| 衡东县| 昌宁县| 绥德县| 汤原县| 蕲春县| 什邡市| 罗城| 平邑县| 汝南县| 清水县| 马山县| 大同县| 久治县| 屏东县|