唐朝勝,劉世洪,程杰仁
(1.中國(guó)農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)信息研究所,北京 100081; 2.海南大學(xué) 信息科學(xué)技術(shù)學(xué)院,???570228)
(*通信作者電子郵箱liushihong@caas.cn)
狀態(tài)和數(shù)據(jù)雙因素驅(qū)動(dòng)的決策支持系統(tǒng)模型復(fù)合方法
唐朝勝1,2,劉世洪1*,程杰仁2
(1.中國(guó)農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)信息研究所,北京 100081; 2.海南大學(xué) 信息科學(xué)技術(shù)學(xué)院,???570228)
(*通信作者電子郵箱liushihong@caas.cn)
針對(duì)決策支持系統(tǒng)(DSS)模型復(fù)合工程中存在著單一因素驅(qū)動(dòng)方法適用范圍窄、效率低以及多因素驅(qū)動(dòng)方法缺乏對(duì)算法或子模型層次的邏輯關(guān)系的描述、黑盒抽象程度低等不足,提出了狀態(tài)和數(shù)據(jù)雙因素共同驅(qū)動(dòng)的模型復(fù)合方法。該方法首先定義工作流過(guò)程模型,將DSS子模型生成為一個(gè)可移植的、邏輯獨(dú)立的工作流活動(dòng),該活動(dòng)內(nèi)部包含了模型的求解算法,對(duì)外提供了參數(shù)接口;其次根據(jù)活動(dòng)執(zhí)行的依賴關(guān)系,制定相應(yīng)的事件-條件-動(dòng)作(ECA)規(guī)則來(lái)動(dòng)態(tài)地綁定它們之間的復(fù)合關(guān)系;最后將規(guī)則轉(zhuǎn)換為網(wǎng)絡(luò)活動(dòng)圖, 并借助自定義工作流平臺(tái)進(jìn)行復(fù)合。實(shí)驗(yàn)過(guò)程表明,該方法能解決一般性模型復(fù)合問(wèn)題,具備較好的通用性及可擴(kuò)展性。
決策支持系統(tǒng);模型復(fù)合;工作流過(guò)程模型;活動(dòng);事件-條件-動(dòng)作規(guī)則;工作流平臺(tái)
決策支持系統(tǒng)(Decision Support System, DSS)模型復(fù)合集成一直是模型驅(qū)動(dòng)工程中重點(diǎn)考慮的問(wèn)題。目前,實(shí)現(xiàn)模型復(fù)合主要有兩種途徑:一種是預(yù)先設(shè)計(jì)具備復(fù)合能力的模型結(jié)構(gòu),采用模型庫(kù)[1-2]、面向?qū)ο笾械念?lèi)[3]、面向Agent[4-6]等方式表達(dá),系統(tǒng)再根據(jù)具體問(wèn)題,以參數(shù)驅(qū)動(dòng)的方式進(jìn)行模型的復(fù)合、集成以及實(shí)例化,如采用模型分類(lèi)驅(qū)動(dòng)技術(shù)產(chǎn)生模型鏈,并利用黑板結(jié)構(gòu)參數(shù)匹配算法實(shí)現(xiàn)復(fù)合模型的求解[7];另一種是提供專(zhuān)用的建模環(huán)境,如用于構(gòu)建各種面向問(wèn)題的可執(zhí)行模型環(huán)境[8],或面向本體的模型構(gòu)建環(huán)境[9]。然而這兩種方法均存在著不足:1)專(zhuān)用的建模環(huán)境因?yàn)橥ㄓ靡?guī)則少、高層解釋器構(gòu)建代價(jià)高,使得模型復(fù)合不易實(shí)現(xiàn)和推廣;2)單一參數(shù)因素驅(qū)動(dòng)下的模型復(fù)合方法適用范圍窄、建模效率低,還可能出現(xiàn)遞歸循環(huán)的問(wèn)題[10]。為提高DSS模型的復(fù)用性,文獻(xiàn)[11]將DSS中的模型分為過(guò)程模型、復(fù)合模型和元模型。其中元模型(注:為避免與工作流過(guò)程元模型概念混淆,本文后面統(tǒng)一稱之為子模型)是具有某種獨(dú)立功能的、不能再分解的底層模型,可重用程度最高;復(fù)合模型或過(guò)程模型則根據(jù)具體問(wèn)題,由子模型集成得到。該文獻(xiàn)還利用了ESP(Event-State-Process)工作流控制規(guī)則,提出了基于事件和參數(shù)多因素共同驅(qū)動(dòng)的模型復(fù)合集成機(jī)制。該規(guī)則主要以邏輯單元的狀態(tài)為基礎(chǔ),適用于高層的復(fù)合模型及過(guò)程模型的控制,但因其表達(dá)形式不能將求解方法和求解邏輯分離,所以不適合對(duì)低層求解單元的邏輯關(guān)系進(jìn)行描述和控制。若將其應(yīng)用于那些需明事先確子模型執(zhí)行的依賴關(guān)系之后才能進(jìn)行復(fù)合的DSS模型,例如作物模型,則顯得力不從心。
為尋求可適用于底層邏輯關(guān)系表達(dá)的規(guī)則來(lái)解決這類(lèi)模型的復(fù)合問(wèn)題,本文引入了另一種描述工作流程的控制規(guī)則,即事件-條件-動(dòng)作(Event-Condition-Action, ECA)規(guī)則。與ESP規(guī)則相比,ECA規(guī)則側(cè)重于描述觸發(fā)活動(dòng)的事件和內(nèi)部條件,規(guī)定活動(dòng)執(zhí)行的依賴關(guān)系,更適合描述算法或子模型層次之間的邏輯關(guān)系,但目前尚未發(fā)現(xiàn)有將ECA規(guī)則應(yīng)用于模型復(fù)合的報(bào)道。ECA規(guī)則已經(jīng)在工作流管理[12]、工作流資源調(diào)度[13]、Web Service復(fù)合[14]、業(yè)務(wù)過(guò)程執(zhí)行語(yǔ)言(Business Process Execution Language, BPEL)過(guò)程控制[15]、科學(xué)工作流程規(guī)劃和計(jì)算[16-17]等方面得到了廣泛的應(yīng)用。此外ECA規(guī)則可以與其他圖形化方法或工具相結(jié)合以彌補(bǔ)其表達(dá)形式不夠直觀的劣勢(shì),如文獻(xiàn)[18]在研究柔性工作流建模方案中,基于ECA 規(guī)則開(kāi)發(fā)了一種圖形化的工作流建模工具,說(shuō)明了ECA規(guī)則在工作流建模過(guò)程中的靈活性。
本文提出基于ECA規(guī)則的狀態(tài)和數(shù)據(jù)雙因素驅(qū)動(dòng)的DSS模型復(fù)合方法。該方法對(duì)工作流管理聯(lián)盟(Workflow Management Coalition, WfMC)所提出的工作流過(guò)程元模型進(jìn)行了定義,將子模型生成為可移植的、獨(dú)立的工作流活動(dòng)單元(即子模型活動(dòng)),動(dòng)態(tài)構(gòu)建ECA規(guī)則,利用狀態(tài)及數(shù)據(jù)雙因素共同驅(qū)動(dòng)模型的復(fù)合。其中狀態(tài)因素通過(guò)引入可表征子模型活動(dòng)運(yùn)行狀態(tài)的狀態(tài)參數(shù)體現(xiàn);數(shù)據(jù)因素則通過(guò)表征子模型之間數(shù)據(jù)依賴關(guān)系的數(shù)據(jù)參數(shù)來(lái)體現(xiàn)。最后以蘋(píng)果葉片生長(zhǎng)模型[19]的復(fù)合過(guò)程為例,對(duì)該方法進(jìn)行驗(yàn)證。多次實(shí)驗(yàn)表明該方法可適用于一般性DSS模型,尤其是作物模型的復(fù)合問(wèn)題,同時(shí)也為解決模型復(fù)合過(guò)程中的黑盒抽象及自動(dòng)化問(wèn)題提供了新的思路。
為提供一個(gè)訪問(wèn)和描述工作流定義的公共方法以及提高工作流建模的可靠性,WfMC專(zhuān)門(mén)定義了一個(gè)工作流過(guò)程元模型,如圖1所示。該模型描述了工作流定義中的對(duì)象、對(duì)象關(guān)系和屬性,并以此來(lái)確立工作流信息交換的格式。由圖1可以看出,元模型中除了包含活動(dòng)(Activity)、相關(guān)數(shù)據(jù)(Workflow relevant data)、角色(Role)、遷移條件(Transition condition)、被調(diào)應(yīng)用(Invoked application)等元素外,還包含了它們之間的相互關(guān)系:1)活動(dòng)使用了工作流相關(guān)數(shù)據(jù);2)遷移條件影響活動(dòng)之間的關(guān)系;3)活動(dòng)的執(zhí)行通過(guò)角色完成,期間會(huì)調(diào)用一些應(yīng)用來(lái)輔助完成。因WfMC工作流元模型是參考模型,因此可以借助各種方法修改該元模型以達(dá)到應(yīng)用研究的目的。如文獻(xiàn)[20]對(duì)工作流元模型及工作流定義語(yǔ)言作了適當(dāng)?shù)母倪M(jìn)和擴(kuò)展,以適應(yīng)日益增長(zhǎng)的業(yè)務(wù)過(guò)程的變化和新技術(shù)的應(yīng)用;文獻(xiàn)[21]則建立了一種基于ECA規(guī)則和活動(dòng)分解的工作流模型,以利于企業(yè)業(yè)務(wù)過(guò)程的重組。
圖1 WfMC定義的工作流過(guò)程元模型
由于WfMC提出的工作流元模型僅僅反映了工作流定義中所包含的基本元素之間的關(guān)系,應(yīng)用時(shí)需要對(duì)此模型中的各個(gè)元素進(jìn)行形式化的定義并予以解釋。下面結(jié)合復(fù)合應(yīng)用對(duì)DSS模型的復(fù)合過(guò)程、活動(dòng)內(nèi)容、活動(dòng)狀態(tài)、ECA規(guī)則進(jìn)行定義,并對(duì)工作流模型進(jìn)行解釋。
2.1 基于元模型和ECA規(guī)則的工作流定義
定義1 DSS模型復(fù)合過(guò)程是一項(xiàng)業(yè)務(wù)工程,其工作流過(guò)程可描述為F=〈I, N, As, E, C, D, R〉。其中:I(Id)、N(Name)分別代表業(yè)務(wù)過(guò)程標(biāo)識(shí)及名稱;As(Activity set)是原子活動(dòng)Activity構(gòu)成的集合;E(Events)、C(Conditions)代表事件集和條件集;D(Data set)為數(shù)據(jù)類(lèi)型集,包含了工作流所涉及的各種數(shù)據(jù)類(lèi)型,如活動(dòng)中包含的內(nèi)部變量類(lèi)型、XML對(duì)象類(lèi)型、各種文檔格式類(lèi)型等;R(Rules)是ECA規(guī)則集,每條ECA規(guī)則包含了活動(dòng)之間的遷移條件和依賴關(guān)系,反映了活動(dòng)之間的變遷規(guī)則。在基于依賴關(guān)系描述的工作流過(guò)程模型中,事件通常是某個(gè)活動(dòng)節(jié)點(diǎn)的開(kāi)始、完成、中止等;條件是對(duì)工作流相關(guān)數(shù)據(jù)(如工作流實(shí)例數(shù)據(jù))和工作流控制數(shù)據(jù)的斷言;動(dòng)作則為相關(guān)活動(dòng)的開(kāi)始、取消或狀態(tài)參數(shù)更新等。
定義2 構(gòu)成DSS模型復(fù)合活動(dòng)的最小單位是原子活動(dòng),它是工作流模型的核心,不能再分解??捎昧MAt=〈Id, Name, O, Rd, S, Rs〉來(lái)表示。其中:Id、Name分別代表活動(dòng)標(biāo)識(shí)及名稱;O(Operation)代表活動(dòng)的內(nèi)容, 即活動(dòng)應(yīng)完成的操作,包括操作類(lèi)型(自動(dòng)、手工),輸入及輸出參數(shù),與相關(guān)變量的映射關(guān)系等;Rd(Relation data)代表與此活動(dòng)相關(guān)的工作流相關(guān)數(shù)據(jù),包括輸入和輸出數(shù)據(jù);S(State)為活動(dòng)當(dāng)前狀態(tài);Rs(Rules)為活動(dòng)內(nèi)部狀態(tài)轉(zhuǎn)換規(guī)則集合,它也為一組ECA規(guī)則(見(jiàn)定義3)。具體實(shí)現(xiàn)過(guò)程中的活動(dòng)內(nèi)部結(jié)構(gòu)如圖2所示。由圖2可知,原子活動(dòng)作為工作流模型中相對(duì)獨(dú)立的單元,不僅包含了模型的算法求解等內(nèi)容,也提供了輸入和輸出參數(shù)的接口。
圖2 活動(dòng)的內(nèi)部結(jié)構(gòu)示意圖
定義3 活動(dòng)內(nèi)部一般有七種狀態(tài)S=〈Wai, Beg, Exe, Com, Sus, Fai, Abo〉, 分別代表等待(Waiting)、準(zhǔn)備(Beginning)、執(zhí)行(Executing)、完成(Completed)、掛起(Suspend)、失敗(Failure)、取消(Abort)。狀態(tài)轉(zhuǎn)換規(guī)則為Rs=〈e1, e2, e3, e4, e5〉,轉(zhuǎn)換過(guò)程如圖3所示(為方便,將Suspend作為所有不成功的代表)。其中e1:
定義4 基于ECA規(guī)則的工作流模型具有較強(qiáng)的表達(dá)能力,可以表達(dá)WfMC提出的六種工作流基本模式,即與匯聚(AND-join)、與匯出(AND-split)、或匯聚(OR-join)、或匯出(OR-split)、循環(huán)(Iteration) 和因果順序(Causality)。此外,還可以根據(jù)需求組合成更加復(fù)雜的形式。ECA規(guī)則的基本形式可描述為:
例1 一個(gè)工作流定義中的活動(dòng)集合為{A,B,C},可構(gòu)建如下規(guī)則:
圖3 活動(dòng)狀態(tài)轉(zhuǎn)換圖
2.2 工作流模型解釋
工作流模型的解釋實(shí)際上是指解析執(zhí)行該工作流模型,其核心部分是對(duì)ECA規(guī)則的解釋。因ECA規(guī)則描述了觸發(fā)活動(dòng)的事件和內(nèi)部條件, 實(shí)際上也描述了活動(dòng)的執(zhí)行依賴關(guān)系。因此對(duì)工作流的解釋主要是對(duì)與活動(dòng)相關(guān)的事件的響應(yīng)和對(duì)條件表達(dá)式的解析。這里主要關(guān)注活動(dòng)之間ECA規(guī)則的解釋?zhuān)罱K由所承載的底層工作流引擎解析執(zhí)行??疾鞂?duì)例1中規(guī)則的解釋?zhuān)?dāng)A和B活動(dòng)完成這一事件發(fā)生時(shí),如果條件是A和B的狀態(tài)為完成時(shí),且C活動(dòng)開(kāi)始前所需的數(shù)據(jù)準(zhǔn)備好了,則開(kāi)始C活動(dòng)。
3.1 雙因素驅(qū)動(dòng)的基本原理
ECA規(guī)則反映了對(duì)子模型活動(dòng)復(fù)合過(guò)程的控制,其核心是依賴關(guān)系的確立。依賴類(lèi)型主要有數(shù)據(jù)依賴和控制依賴。其中數(shù)據(jù)依賴關(guān)系體現(xiàn)了子模型活動(dòng)之間是否存在內(nèi)在的數(shù)據(jù)關(guān)聯(lián),控制依賴則體現(xiàn)了模型活動(dòng)當(dāng)前內(nèi)部運(yùn)行狀態(tài)是否影響了后續(xù)活動(dòng)的正常運(yùn)行。活動(dòng)之間的數(shù)據(jù)依賴關(guān)系,具體體現(xiàn)為一個(gè)活動(dòng)的輸出(數(shù)據(jù))參數(shù)是另一個(gè)活動(dòng)的輸入(數(shù)據(jù))參數(shù)。若A和B為工作流活動(dòng)對(duì)象,A.out表示活動(dòng)對(duì)象A的輸出參數(shù),B.in表示活動(dòng)對(duì)象B的輸入?yún)?shù), 當(dāng)B的輸入?yún)?shù)與A的輸出參數(shù)構(gòu)成某個(gè)函數(shù)映射關(guān)系時(shí),則稱它們存在數(shù)據(jù)依賴關(guān)系?;顒?dòng)之間的控制依賴關(guān)系通過(guò)狀態(tài)消息傳遞來(lái)完成,即一個(gè)活動(dòng)A的結(jié)束(狀態(tài)為完成)意味著另一個(gè)活動(dòng)B的開(kāi)始。因WF(Windows Workflow)引擎支持運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建新的中間參數(shù)(狀態(tài)和數(shù)據(jù)參數(shù)),這樣將原本運(yùn)行于不同活動(dòng)之間、相互隔離的模型參數(shù)通過(guò)中間參數(shù)串接起來(lái),實(shí)現(xiàn)了狀態(tài)和數(shù)據(jù)的傳遞,以此共同驅(qū)動(dòng)活動(dòng)的觸發(fā)順序,從而保證了模型的復(fù)合過(guò)程順利進(jìn)行。
3.2 模型復(fù)合方法
雙因素驅(qū)動(dòng)的DSS模型復(fù)合方法基本步驟為:1)生成工作流活動(dòng)對(duì)象;2)根據(jù)規(guī)則內(nèi)部構(gòu)成要素及依賴關(guān)系,制定相應(yīng)的ECA規(guī)則;3)將ECA規(guī)則轉(zhuǎn)化為活動(dòng)網(wǎng)絡(luò)圖并移植至工作流平臺(tái)進(jìn)行復(fù)合。
3.2.1 生成工作流活動(dòng)對(duì)象
工作流模型中的基本單位是活動(dòng)。本文重構(gòu)了工作流中的活動(dòng),其核心內(nèi)容為DSS子模型的求解算子。由于微軟的WF是符合WfMC標(biāo)準(zhǔn)的工作流框架,提供了良好的工作流建模環(huán)境,可以在此框架上進(jìn)行二次開(kāi)發(fā),構(gòu)建自定義工作流平臺(tái),內(nèi)嵌的WF引擎可完成工作流的解析。為實(shí)現(xiàn)將DSS模型的求解算子轉(zhuǎn)化為微軟的WF活動(dòng),同時(shí)滿足面向模型構(gòu)建者的黑盒抽象,最大限度提高模型轉(zhuǎn)換及復(fù)合過(guò)程的自動(dòng)化能力,依照模型驅(qū)動(dòng)的思想,筆者設(shè)計(jì)了一個(gè)建模系統(tǒng)(限于篇幅,另文詳述)。系統(tǒng)包含兩個(gè)子系統(tǒng),一個(gè)為建模子系統(tǒng),其基本功能包含:1)提供一個(gè)DSS數(shù)學(xué)模型構(gòu)建環(huán)境;2)完成模型運(yùn)算的自動(dòng)解析和可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言(eXtensible Application Markup Language, XAML)文件的生成及存儲(chǔ)。其中每個(gè)XAML文件(即為活動(dòng))都包含了一個(gè)初始值為T(mén)rue的狀態(tài)參數(shù),以此作為活動(dòng)之間控制依賴的判斷依據(jù)。另一個(gè)為模型復(fù)合子系統(tǒng),提供基于WF引擎的自定義工作流平臺(tái),可將XAML文件動(dòng)態(tài)編譯生成DSS模型的程序集,并能以自定義活動(dòng)集的方式導(dǎo)入至平臺(tái)中。
3.2.2 制定ECA規(guī)則
根據(jù)子模型活動(dòng)的執(zhí)行依賴關(guān)系,利用活動(dòng)單元的參數(shù)接口以及WF引擎對(duì)中間參數(shù)的支持,參照定義4中的六種工作流模式,結(jié)合具體應(yīng)用,構(gòu)建相應(yīng)的ECA規(guī)則。
3.2.3 執(zhí)行ECA規(guī)則
規(guī)則確定后,工作流的執(zhí)行過(guò)程即為處理ECA規(guī)則的過(guò)程。一方面可在工作流應(yīng)用程序中構(gòu)建規(guī)則引擎,利用解釋或編譯的方式進(jìn)行解析,處理過(guò)程可簡(jiǎn)單地描述為:接收事件,匹配ECA規(guī)則,執(zhí)行ECA規(guī)則中的操作。其優(yōu)點(diǎn)是可以解析規(guī)則中復(fù)雜的事件運(yùn)算、條件表達(dá)式以及較強(qiáng)的語(yǔ)義表達(dá)能力,方便執(zhí)行;缺點(diǎn)是難以圖形化,不易理解,不方便用戶直觀地使用。另一方面可以將規(guī)則模型轉(zhuǎn)換為其他表達(dá)形式的工作流模型,如本文首先將其轉(zhuǎn)換為基于活動(dòng)網(wǎng)絡(luò)的過(guò)程模型,然后將模型移植至工作流平臺(tái)執(zhí)行。
基于活動(dòng)網(wǎng)絡(luò)的工作流模型組成元素主要包括過(guò)程、活動(dòng)、連接弧和條件。模型過(guò)程可看作是一個(gè)有向無(wú)環(huán)圖,圖中的節(jié)點(diǎn)元素表示可執(zhí)行的活動(dòng)任務(wù)和邏輯,節(jié)點(diǎn)間的連接弧代表了過(guò)程中的控制流和數(shù)據(jù)流。節(jié)點(diǎn)類(lèi)型分為標(biāo)志節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)和邏輯節(jié)點(diǎn)。根據(jù)ECA規(guī)則中的活動(dòng)類(lèi)型及依賴關(guān)系的特點(diǎn),對(duì)照活動(dòng)網(wǎng)絡(luò)中的組成要素進(jìn)行如下轉(zhuǎn)換:
1)標(biāo)志節(jié)點(diǎn)的轉(zhuǎn)換和生成。標(biāo)志節(jié)點(diǎn)包含開(kāi)始和結(jié)束節(jié)點(diǎn),任何一個(gè)工作流模型必須有唯一開(kāi)始節(jié)點(diǎn)(無(wú)前驅(qū))。一個(gè)流程開(kāi)始執(zhí)行時(shí),最先被激活的就是“開(kāi)始節(jié)點(diǎn)”;而結(jié)束節(jié)點(diǎn)(可有多個(gè),但無(wú)后繼)被激活意味著過(guò)程實(shí)例中所有的活動(dòng)都處于完成狀態(tài),整個(gè)流程結(jié)束。因此,將ECA規(guī)則中的開(kāi)始活動(dòng)AS(Activity Start)和結(jié)束活動(dòng)AE(Activity End)轉(zhuǎn)換為標(biāo)志節(jié)點(diǎn)。
2)任務(wù)節(jié)點(diǎn)的轉(zhuǎn)換和生成。任務(wù)節(jié)點(diǎn)代表了組成一個(gè)過(guò)程實(shí)例所需的各種類(lèi)型的活動(dòng)與任務(wù),包括人工參與的交互活動(dòng)、 自動(dòng)活動(dòng)以及非原子級(jí)的子過(guò)程活動(dòng)。對(duì)活動(dòng)初始參數(shù)(包括數(shù)據(jù)參數(shù)和狀態(tài)參數(shù))的賦值操作視為人工參與的交互活動(dòng),因此將新增一個(gè)賦值交互活動(dòng)。由于DSS子模型求解算子已經(jīng)生成為工作流活動(dòng),將其直接轉(zhuǎn)換為自動(dòng)活動(dòng)。規(guī)則中的與匯出分支活動(dòng)中包含多個(gè)原子活動(dòng),可視為非原子級(jí)的子過(guò)程活動(dòng)的一部分。
3)邏輯節(jié)點(diǎn)的轉(zhuǎn)換和生成。邏輯節(jié)點(diǎn)并不代表真正需要執(zhí)行的活動(dòng),它是為了表示任務(wù)節(jié)點(diǎn)之間的邏輯關(guān)系而設(shè)立的,對(duì)應(yīng)ECA規(guī)則中出現(xiàn)的與或分支,可相應(yīng)轉(zhuǎn)換或增加節(jié)點(diǎn)。由于或匯出節(jié)點(diǎn)需根據(jù)條件選擇一個(gè)符合條件的后繼節(jié)點(diǎn)執(zhí)行,因此將ECA規(guī)則中的狀態(tài)參數(shù)判斷這一過(guò)程轉(zhuǎn)換為或匯出節(jié)點(diǎn);而與匯出節(jié)點(diǎn)、與匯聚節(jié)點(diǎn)無(wú)需條件的判斷,直接增加即可。
4)連接弧的生成。邏輯節(jié)點(diǎn)體現(xiàn)了控制流和數(shù)據(jù)流的分離,而ECA規(guī)則中通過(guò)依賴關(guān)系也已實(shí)現(xiàn)了數(shù)據(jù)和控制狀態(tài)的分離,因此將控制連接弧、數(shù)據(jù)連接弧合二為一。
前述的建模系統(tǒng)包含了自定義工作流設(shè)計(jì)平臺(tái),它提供:1)圖形化的建模環(huán)境,可快速構(gòu)建或?qū)牍ぷ髁髂P停?)基本的流程元素,如流程圖的開(kāi)始節(jié)點(diǎn)、條件分支節(jié)點(diǎn)等,提供基本的邏輯控制路由,包含順序、并行、選擇以及異常處理等;3)能導(dǎo)入自定義的DSS模型活動(dòng);4)提供活動(dòng)參數(shù)設(shè)置窗口,可對(duì)數(shù)據(jù)參數(shù)及狀態(tài)參數(shù)設(shè)置初值以及建立依賴關(guān)系;5)內(nèi)嵌的工作流引擎完成流程的解析和執(zhí)行。因此移植圖形化的活動(dòng)網(wǎng)絡(luò)圖將變得非常簡(jiǎn)單,通過(guò)拖拽的方式將各個(gè)元素節(jié)點(diǎn)進(jìn)行組合,參數(shù)賦值則通過(guò)參數(shù)屬性窗口設(shè)置。一旦工作流模型構(gòu)造完畢,輸入必要的參數(shù)值,流程將自動(dòng)執(zhí)行。
已知DSS模型被廣泛應(yīng)用于作物生長(zhǎng)模擬模型的構(gòu)建。以蘋(píng)果葉片生長(zhǎng)模型的復(fù)合過(guò)程為例,根據(jù)工作流活動(dòng)對(duì)象及依賴關(guān)系,構(gòu)建相應(yīng)的ECA規(guī)則,利用工作流平臺(tái)對(duì)模型的復(fù)合求解過(guò)程進(jìn)行驗(yàn)證和分析。
4.1 實(shí)驗(yàn)?zāi)P?/p>
蘋(píng)果葉片生長(zhǎng)模型主要包括7個(gè)子模型:
1)有效積溫子模型:
ATM=1 790.236+1 876.935 cos(0.015D+3.472)
(1)
2)單枝葉面積子模型:
(2)
3)單枝葉片日齡子模型:
(3)
4)單枝葉片數(shù)量子模型:
NL=15.494-14.671e-0.000 1ATM1.466
(4)
5)單樹(shù)葉片總面積模型:
St=N×Sz
(5)
6)單樹(shù)葉片數(shù)量模型:
Qt=N×NL
(6)
7)單樹(shù)葉片日齡模型
At=AL
(7)
以上模型中,D為自變量,e、N為常量,計(jì)算目標(biāo)是求出單樹(shù)葉片的總面積、數(shù)量以及日齡。
4.2 ECA規(guī)則
由于模型變量之間存在著清晰的輸入/輸出關(guān)系,因此根據(jù)依賴關(guān)系,構(gòu)建參數(shù)傳遞表1(注:參數(shù)名后面的數(shù)字1和2僅代表該參數(shù)的輸出和輸入兩種身份狀態(tài),其實(shí)質(zhì)為同一個(gè)參數(shù))。表1中包含了各類(lèi)參數(shù)的名稱以及傳遞的方向。
表1 蘋(píng)果葉片生長(zhǎng)模型參數(shù)傳遞表
將表1中的數(shù)據(jù)和狀態(tài)參數(shù)的流轉(zhuǎn)融入到ECA規(guī)則中去,并將每個(gè)子模型活動(dòng)命名為ATM、Sz、AL、NL、St、Qt和At;同時(shí)增加一個(gè)開(kāi)始AS和結(jié)束活動(dòng)AE(下同)。每個(gè)活動(dòng)的結(jié)束意味著下一活動(dòng)的開(kāi)始,由此構(gòu)造相應(yīng)的ECA規(guī)則集合為{ECA1,ECA2,ECA3,ECA4},具體內(nèi)容如下:
ECA1規(guī)則內(nèi)容為:
即Causality規(guī)則。當(dāng)開(kāi)始活動(dòng)結(jié)束后,執(zhí)行ATM活動(dòng)。
ECA2規(guī)則內(nèi)容為:
①
②
該規(guī)則是OR-Split和And-split組成的混合路由規(guī)則。根據(jù)狀態(tài)參數(shù)ATM_T的值進(jìn)行或匯出,當(dāng)其值為False時(shí),表明ATM活動(dòng)執(zhí)行有問(wèn)題,重新執(zhí)行ATM一遍。當(dāng)值為T(mén)rue時(shí),進(jìn)入與匯出,將數(shù)據(jù)參數(shù)傳遞給Sz、AL、NL,同時(shí)開(kāi)始Sz,AL,NL活動(dòng)。
ECA3規(guī)則內(nèi)容為:
①
②
該規(guī)則是And-join、OR-Split、And-split混合路由規(guī)則。根據(jù)Sz_T、AL_T、NL_T的狀態(tài)進(jìn)行與匯聚以及或匯出。當(dāng)它們的值為False時(shí),重新執(zhí)行Sz、AL、NL一遍;否則進(jìn)入與分支,將數(shù)據(jù)參數(shù)傳遞給St、Qt、At,同時(shí)執(zhí)行這些活動(dòng)。
ECA4規(guī)則內(nèi)容為:
①
該規(guī)則是And-join和OR-Split組成的混合路由規(guī)則,根據(jù)St_T、Qt_T、At_T的狀態(tài)進(jìn)行與匯聚以及或匯出,值為False時(shí),重新執(zhí)行St、At、Qt,若值為T(mén)rue,整個(gè)活動(dòng)結(jié)束。
4.3 規(guī)則轉(zhuǎn)換
以蘋(píng)果葉片生長(zhǎng)模型復(fù)合的ECA規(guī)則為例,根據(jù)3.2.3節(jié)提供的方式轉(zhuǎn)換,最后得到活動(dòng)網(wǎng)絡(luò)圖如圖4所示。其中:P1和P2分別代表開(kāi)始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn);T1代表賦值操作的人工活動(dòng)節(jié)點(diǎn),T2、T7、T8、T9、T14、T15、T16分別代表7個(gè)葉片生長(zhǎng)子模型的自動(dòng)活動(dòng)節(jié)點(diǎn),T5、T12代表其中兩個(gè)與分支活動(dòng)節(jié)點(diǎn);T4、T11、T18分別代表三個(gè)或匯出節(jié)點(diǎn),T6、T13代表兩個(gè)與匯出節(jié)點(diǎn),T10、T17代表兩個(gè)與匯聚節(jié)點(diǎn)。
圖4 蘋(píng)果葉片生長(zhǎng)模型活動(dòng)網(wǎng)絡(luò)圖
4.4 規(guī)則執(zhí)行及結(jié)果分析
最后一步是在工作流平臺(tái)中創(chuàng)建相應(yīng)的流程圖,并由內(nèi)嵌的工作流引擎完成解析執(zhí)行。基本過(guò)程如下:
1)平臺(tái)把由模型創(chuàng)建子系統(tǒng)所生成的各個(gè)子模型活動(dòng)(如模型ATM,模型Sz等)加載至活動(dòng)窗口。
2)根據(jù)圖4,將各類(lèi)活動(dòng)節(jié)點(diǎn)拖拽至復(fù)合窗口形成流程圖(圖5),流程圖主要由開(kāi)始活動(dòng),基本活動(dòng)(如條件IF分支、并行Parallel、輸出WriteLine等),子模型活動(dòng)以及流程箭頭線構(gòu)成。
圖5 蘋(píng)果葉片生長(zhǎng)模型復(fù)合流程
3)根據(jù)參數(shù)傳遞表,在參數(shù)窗口中創(chuàng)建數(shù)據(jù)和狀態(tài)中間參數(shù),并在參數(shù)屬性窗口中構(gòu)建它們之間的相互依賴關(guān)系(例如依據(jù)ECA2,ATM和Sz活動(dòng)對(duì)應(yīng)的輸出和輸入?yún)?shù)之間的傳遞關(guān)系通過(guò)中間參數(shù)TE_ATM橋聯(lián)起來(lái))。分別將參數(shù)數(shù)據(jù)輸入至對(duì)應(yīng)的參數(shù)變量中,運(yùn)行流程可得結(jié)果。
蘋(píng)果葉片生長(zhǎng)模型的復(fù)合過(guò)程中的數(shù)據(jù)參數(shù)值、實(shí)測(cè)值均來(lái)源于文獻(xiàn)[19],模擬時(shí)間跨度保持一致,即以4月10日為有效積溫的日期起點(diǎn),每隔10d,至7月20日對(duì)該模型進(jìn)行了模擬。本文選取了其中蘋(píng)果單樹(shù)葉片數(shù)量模型Qt至5月20日的模擬結(jié)果與文獻(xiàn)中的模擬值及實(shí)測(cè)值進(jìn)行對(duì)比,并采用檢驗(yàn)?zāi)P蜁r(shí)常用的統(tǒng)計(jì)方法均方根誤差(RootMeanSquaredError,RMSE)對(duì)三個(gè)值之間的符合度進(jìn)行統(tǒng)計(jì)分析。從表2結(jié)果可以看出,本文的模擬值與文獻(xiàn)模擬值、實(shí)際測(cè)試值的標(biāo)準(zhǔn)誤差分別為3.62和22.28。分析其誤差主要源于數(shù)據(jù)精度以及模型自身的擬合程度,但均在合理范圍內(nèi), 且隨著模擬時(shí)間的推移,模擬值與另外兩種值之間的偏差并沒(méi)有擴(kuò)大,表明了模擬過(guò)程比較穩(wěn)定。此外還對(duì)另一作物生長(zhǎng)率模型[22]進(jìn)行了模擬,結(jié)果同樣符合要求,說(shuō)明該方法完全可行。與文獻(xiàn)采用傳統(tǒng)的面向?qū)ο蠓椒?、僅依賴特定的模型復(fù)合環(huán)境(無(wú)可視化建模界面、靜態(tài)編譯、高耦合,不易移植)相比,本文方法及復(fù)合環(huán)境具備如下優(yōu)點(diǎn):
1)模型活動(dòng)與ECA規(guī)則、復(fù)合環(huán)境之間耦合程度低。活動(dòng)的構(gòu)建、規(guī)則的制定、模型的復(fù)合這三個(gè)過(guò)程相分離,模型活動(dòng)可根據(jù)規(guī)則中狀態(tài)和數(shù)據(jù)之間的依賴關(guān)系動(dòng)態(tài)組合。
2)通用性強(qiáng),可復(fù)用程度高。模型活動(dòng)作為獨(dú)立的構(gòu)件,既可以是符合XML標(biāo)準(zhǔn)的文件,也能動(dòng)態(tài)編譯成程序集,方便移植。
3)自動(dòng)化程度較高,可擴(kuò)展性強(qiáng)。模型參數(shù)類(lèi)型及個(gè)數(shù)自動(dòng)識(shí)別,能在復(fù)合階段動(dòng)態(tài)地創(chuàng)建輔助參數(shù),而且稍加改進(jìn)即可與面向本體或Agent方法相結(jié)合。
4)模型活動(dòng)構(gòu)建和復(fù)合的實(shí)現(xiàn)細(xì)節(jié)對(duì)建模者而言是透明的,使得他們能更多地關(guān)注于規(guī)則的制定以及模型復(fù)合的意義,提高了復(fù)合效率。因此本文方法具備一定的通用性,能解決一般性模型的復(fù)合問(wèn)題。
表2 單樹(shù)葉片數(shù)量模擬值、文獻(xiàn)模擬值、實(shí)測(cè)值及預(yù)測(cè)誤差
本文針對(duì)DSS模型的復(fù)合問(wèn)題,提出了一種狀態(tài)和數(shù)據(jù)雙因素驅(qū)動(dòng),并采用ECA規(guī)則來(lái)定義復(fù)合流程的方法。該方法側(cè)重底層模型活動(dòng)的構(gòu)建和復(fù)合,每個(gè)子模型活動(dòng)即為一個(gè)可移植的獨(dú)立單元,內(nèi)部包含模型的求解算法,對(duì)外提供了參數(shù)的接口,模型之間的復(fù)合過(guò)程就是構(gòu)建活動(dòng)之間依賴關(guān)系的過(guò)程。此外ECA規(guī)則容易構(gòu)建復(fù)雜的事件運(yùn)算和條件表達(dá)式,能表達(dá)更強(qiáng)的語(yǔ)義以及活動(dòng)之間的同步關(guān)系。所描述的觸發(fā)活動(dòng)的事件和內(nèi)部條件, 對(duì)應(yīng)著活動(dòng)的執(zhí)行依賴關(guān)系。模型實(shí)驗(yàn)表明ECA規(guī)則易于擴(kuò)展,且容易轉(zhuǎn)化為網(wǎng)絡(luò)活動(dòng)圖等其他方式。
進(jìn)一步思考及改進(jìn):1)結(jié)合Agent的思想,完善模型內(nèi)部的求解算法,提高效率;2)引入回調(diào)、暫停等機(jī)制,尤其是考慮ECA規(guī)則與模糊Petri網(wǎng)結(jié)合,使異常處理更靈活并考慮引入對(duì)條件代數(shù)表達(dá)式[23]和實(shí)時(shí)系統(tǒng)[24]的處理,讓模型的復(fù)合流程控制更加完善和智能;3)引入數(shù)據(jù)庫(kù)存取機(jī)制,滿足大規(guī)模數(shù)據(jù)的處理和Web應(yīng)用,或進(jìn)一步對(duì)數(shù)據(jù)庫(kù)進(jìn)行知識(shí)挖掘[25],滿足動(dòng)態(tài)DSS的需要。
)
[1]MUZAFFARZ,AHMEDMA.Softwaredevelopmenteffortprediction:astudyonthefactorsimpactingtheaccuracyoffuzzylogicsystems[J].InformationandSoftwareTechnology, 2010, 52(1): 92-109.
[2] 劉東玉,唐忠,邱超,等.雷達(dá)電子戰(zhàn)仿真模型庫(kù)構(gòu)建方法研究[J].艦船電子工程,2009,29(5):32-34.(LIUDY,TANGZ,QIUC,etal.StudyonconstructionmethodofradarEWsimulationmodel-base[J].ShipElectronicEngineering, 2009, 29(5): 32-34.)
[3] 黃宏勝,岳天祥.基于流程圖的資源環(huán)境模型復(fù)合方法[J].計(jì)算機(jī)工程,2008,34(3):72-74.(HUANGHS,YUETX.Resourceandenvironmentalmodelcompositionmethodbasedonflowchart[J].ComputerEngineering, 2008, 34(3): 72-74.)
[4] 李牧南,彭宏.基于Agent的模型表示與模型復(fù)合[J].計(jì)算機(jī)應(yīng)用,2006,26(4):891-894.(LIMN,PENGH.ModelrepresentationandmodelcompositebasedonAgent[J].JournalofComputerApplications, 2006, 26(4): 891-894.)
[5]LIM-N,XIONGJ-X.Anovelmethodofmodelcompositeindecisionsupportsystem[J].AdvancesinInformationSciences&ServiceSciences, 2012, 4(15): 317-324.
[6]DOTOLIM,HAMMADIS,JERIBIK,etal.Amulti-Agentdecisionsupportsystemforoptimizationofco-modaltransportationrouteplanningservices[C]//CDC2013:Proceedingsofthe2013IEEEConferenceonDecisionandControl.Piscataway,NJ:IEEE, 2013: 911-916.
[7] 楊滿喜,賈樂(lè)朋,柳少軍.一種新的DSS中模型復(fù)合方法研究[J].科學(xué)技術(shù)與工程,2009(10):2793-2797.(YANGMX,JIALP,LIUSJ.ResearchonakindofnewmethodaboutmodelcombinationinDSS[J].ScienceTechnologyandEngineering, 2009(10): 2793-2797.)
[8]CHIUN-H,HUANGS-J.Theadjustedanalogy-basedsoftwareeffortestimationbasedonsimilaritydistances[J].TheJournalofSystemsandSoftware, 2007, 80(4): 628-640.
[9]BECKH,MORGANK,JUNGY,etal.Ontology-basedsimulationinagriculturalsystemsmodeling[J].AgriculturalSystems, 2010, 103(7): 463-477.
[10]LIYF,XIEM,GOHTN.Astudyofmutualinformationbasedfeatureselectionforcasebasedreasoninginsoftwarecostestimation[J].ExpertSystemswithApplications, 2009, 36(3,Part2): 5921-5931.
[11] 劉松.事件和參數(shù)雙因素驅(qū)動(dòng)的智能模型集成機(jī)制[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(8):28-31.(LIUS.Intelligentmodelintegrationmechanismdrovebydoublefactorsofeventsandparameters[J].ComputerEngineeringandApplications, 2012, 48(8): 28-31.)
[12]YEY,JIANGZ,DIAOX,etal.Extendedevent-condition-actionrulesandfuzzyPetrinetsbasedexceptionhandlingforworkflowmanagement[J].ExpertSystemswithApplications, 2011, 38(9): 10847-10861.
[13]LALIT,SINGHH.Advancereservationofresourcesinworkflowsystem[J].InternationalJournalofComputerScience&MobileComputing, 2014, 3(12): 140-145.
[14] 賀春林,滕云,彭仁明.一種基于ECA規(guī)則的WebService工作流模型的研究[J].計(jì)算機(jī)科學(xué),2009,36(8):112-115.(HECL,TENGY,PENGRM.WebserviceorientedworkflowmodelbasedonECArules[J].ComputerScience, 2009, 36(8): 112-115.)
[15]OUYANGB,ZHONGF,LIUH.AnECA-basedcontrol-ruleformalismfortheBPELprocessmodularization[J].ProcediaEnvironmentalSciences, 2011, 11(PartA): 511-517.
[16]ZHAOZ,PASCHKEA.Arule-basedAgentframeworkforweakly-structuredscientificworkflows[C]//BIS2013:Proceedingsofthe2013InternationalWorkshopsonBusinessInformationSystemsWorkshops,Volume160oftheSeriesLectureNotesinBusinessInformationProcessing.Berlin:Springer-Verlag, 2013: 290-301.
[17]ZHAOZ,PASCHKEA.Event-drivenscientificworkflowexecution[C]//BPM2012:Proceedingsofthe2012InternationalWorkshopsonBusinessProcessManagement,Volume132oftheSeriesLectureNotesinBusinessInformationProcessing.Berlin:Springer-Verlag, 2013: 390-401.
[18]WANGS,ZHANGY,PENGY.FlexiblemechanismresearchofworkflowsystembasedonSOA[C]//ISCTCS2013:Proceedingsofthe2013InternationalConferenceonTrustworthyComputingandServices,Volume426oftheSeriesCommunicationsinComputerandInformationScience.Berlin:Springer-Verlag, 2013: 86-92.
[19] 田雪亮,胡小平,楊家榮.蘋(píng)果葉片生長(zhǎng)模擬模型的建立[J].西北農(nóng)林科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,34(4):105-109.(TIANXL,HUXP,YANGJR.Developmentofsimulativemodelforgrowthofappleleaf[J].JournalofNorthwestSci-TechUniversityofAgricultureandForestry(NaturalScienceEdition), 2006, 34(4): 105-109.)
[20] 趙文,胡文蕙,張世琨,等.工作流元模型的研究與應(yīng)用[J].軟件學(xué)報(bào),2003,14(6):1052-1059.(ZHAOW,HUWH,ZHANGSK,etal.Studyandapplicationofaworkflowmeta-model[J].JournalofSoftware, 2003, 14(6): 1052-1059.)
[21] 胡錦敏,張申生,余新穎.基于ECA規(guī)則和活動(dòng)分解的工作流模型[J].軟件學(xué)報(bào),2002,13(4):761-767.(HUJM,ZHANGSS,YUXY.AworkflowmodelbasedonECArulesandactivitydecomposition[J].JournalofSoftware, 2002, 13(4): 761-767.)
[22]LIUF,LIUX,DINGC,etal.Thedynamicsimulationofricegrowthparametersundercadmiumstresswiththeassimilationofmulti-periodspectralindicesandcropmodel[J].FieldCropsResearch, 2015, 183: 225-234.
[23]WEDEMEIJERL.Transformationofimperativeworkflowstodeclarativebusinessrules[C]//BMSD2013:Proceedingsofthe2013ThirdInternationalSymposiumonBusinessModelingandSoftwareDesign,Volume173oftheSeriesLectureNotesinBusinessInformationProcessing.Berlin:Springer-Verlag, 2013: 106-127.
[24]LALIT,Dr.SINGHH.Advancereservationofresourcesinworkflowsystem[J].InternationalJournalofComputerScience&MobileComputing, 2014, 3(12): 140-145.
[25]LTIFIH,KOLSKIC,AYEDMB.CombinationofcognitiveandHCImodelingforthedesignofKDD-basedDSSusedindynamicsituations[J].DecisionSupportSystems, 2015, 78: 51-64.
ThisworkispartiallysupportedbytheNationalNaturalScienceFoundationofChina(61363071, 61379145),theNaturalScienceFoundationofHainanProvince(20156247).
TANG Chaosheng, born in 1975, Ph.D.candidate, associate professor.His research interests include crop information, numerical simulation.
LIU Shihong, born in 1960, Ph.D., research fellow.His research interests include computer agricultural application, agricultural information standard.
CHENG Jieren, born in 1974, Ph.D., professor.His research interests include cloud computing, network security.
Model composition method of decision support system driven by double factors of state and data
TANG Chaosheng1,2, LIU Shihong1*, CHENG Jieren2
(1.InstituteofAgriculturalInformation,ChineseAcademyofAgriculturalSciences,Beijing100081,China;2.CollegeofInformationScienceandTechnology,HainanUniversity,HaikouHainan570228,China)
In the Decision Support System (DSS) model composition project, the single factor-driven method has a narrow range of application and low efficiency; the multi-factor-driven method lacks the description of the logical relationship between the algorithm and sub-model level and has low level of abstraction of the black box.Therefore, a composition method driven by the double factors of state and data was proposed.Based on the definition of workflow process model, the DSS submodel was generated as a workflow activity firstly, which was used as a portable and independent unit, containing the algorithm for solving the model inside and providing the external interface parameters.Secondly, according to the dependencies of activities performed, the corresponding Event-Condition-Action (ECA) rules were formulated to bind the composition relation between them dynamically.Finally, with the network activity diagram converted, combined work was completed by the aid of workflow platform.Experimental results show that the proposed method can solve the general problems of the model composition and has good generality and expansibility compared with other methods.
Decision Support System (DSS); model composition; workflow process model; activity; Event-Condition-Action (ECA) rule; workflow platform
2016- 07- 21;
2016- 09- 17。
國(guó)家自然科學(xué)基金資助項(xiàng)目(61363071, 61379145);海南省自然科學(xué)基金資助項(xiàng)目(20156247)。
唐朝勝(1975—),男,湖南資興人,副教授,博士研究生,主要研究方向:作物信息、數(shù)值模擬; 劉世洪(1960—),男,山東臨朐人,研究員,博士,主要研究方向:計(jì)算機(jī)農(nóng)業(yè)應(yīng)用、農(nóng)業(yè)信息標(biāo)準(zhǔn); 程杰仁(1974—),男,湖南資興人,教授,博士, CCF會(huì)員,主要研究方向:云計(jì)算、網(wǎng)絡(luò)安全。
1001- 9081(2017)02- 0581- 06
10.11772/j.issn.1001- 9081.2017.02.0581
TP311.52
A