计算机应用   2017, Vol. 7 Issue (2): 581-586  DOI: 10.11772/j.issn.1001-9081.2017.02.0581
0

引用本文 

唐朝胜, 刘世洪, 程杰仁. 状态和数据双因素驱动的决策支持系统模型复合方法[J]. 计算机应用, 2017, 7(2): 581-586.DOI: 10.11772/j.issn.1001-9081.2017.02.0581.
TANG Chaosheng, LIU Shihong, CHENG Jieren. Model composition method of decision support system driven by double factors of state and data[J]. JOURNAL OF COMPUTER APPLICATIONS, 2017, 7(2): 581-586. DOI: 10.11772/j.issn.1001-9081.2017.02.0581.

基金项目

国家自然科学基金资助项目(61363071,61379145);海南省自然科学基金资助项目(20156247)

通信作者

刘世洪(1960-),男,山东临朐人,研究员,博士,主要研究方向:计算机农业应用、农业信息标准,liushihong@caas.cn

作者简介

唐朝胜(1975-),男,湖南资兴人,副教授,博士研究生,主要研究方向:作物信息、数值模拟;
程杰仁(1974-),男,湖南资兴人,教授,博士,CCF会员,主要研究方向:云计算、网络安全

文章历史

收稿日期:2016-07-21
修回日期:2016-09-17
状态和数据双因素驱动的决策支持系统模型复合方法
唐朝胜1,2, 刘世洪1, 程杰仁2    
1. 中国农业科学院 农业信息研究所, 北京 100081;
2. 海南大学 信息科学技术学院, 海口 570228
摘要: 针对决策支持系统(DSS)模型复合工程中存在着单一因素驱动方法适用范围窄、效率低以及多因素驱动方法缺乏对算法或子模型层次的逻辑关系的描述、黑盒抽象程度低等不足,提出了状态和数据双因素共同驱动的模型复合方法。该方法首先定义工作流过程模型,将DSS子模型生成为一个可移植的、逻辑独立的工作流活动,该活动内部包含了模型的求解算法,对外提供了参数接口;其次根据活动执行的依赖关系,制定相应的事件-条件-动作(ECA)规则来动态地绑定它们之间的复合关系;最后将规则转换为网络活动图,并借助自定义工作流平台进行复合。实验过程表明,该方法能解决一般性模型复合问题,具备较好的通用性及可扩展性。
关键词: 决策支持系统    模型复合    工作流过程模型    活动    事件-条件-动作规则    工作流平台    
Model composition method of decision support system driven by double factors of state and data
TANG Chaosheng1,2, LIU Shihong1, CHENG Jieren2     
1. Institute of Agricultural Information, Chinese Academy of Agricultural Sciences, Beijing 100081, China;
2. College of Information Science and Technology, Hainan University, Haikou Hainan 570228, China
Abstract: 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.
Key words: Decision Support System (DSS)    model composition    workflow process model    activity    Event-Condition-Action (ECA) rule    workflow platform    
0 引言

决策支持系统(Decision Support System,DSS)模型复合集成一直是模型驱动工程中重点考虑的问题。目前,实现模型复合主要有两种途径:一种是预先设计具备复合能力的模型结构,采用模型库[1-2]、面向对象中的类[3]、面向Agent[4-6]等方式表达,系统再根据具体问题,以参数驱动的方式进行模型的复合、集成以及实例化,如采用模型分类驱动技术产生模型链,并利用黑板结构参数匹配算法实现复合模型的求解[7];另一种是提供专用的建模环境,如用于构建各种面向问题的可执行模型环境[8],或面向本体的模型构建环境[9]。然而这两种方法均存在着不足:1) 专用的建模环境因为通用规则少、高层解释器构建代价高,使得模型复合不易实现和推广;2) 单一参数因素驱动下的模型复合方法适用范围窄、建模效率低,还可能出现递归循环的问题[10]。为提高DSS模型的复用性,文献[11]将DSS中的模型分为过程模型、复合模型和元模型。其中元模型(注:为避免与工作流过程元模型概念混淆,本文后面统一称之为子模型)是具有某种独立功能的、不能再分解的底层模型,可重用程度最高;复合模型或过程模型则根据具体问题,由子模型集成得到。该文献还利用了ESP(Event-State-Process)工作流控制规则,提出了基于事件和参数多因素共同驱动的模型复合集成机制。该规则主要以逻辑单元的状态为基础,适用于高层的复合模型及过程模型的控制,但因其表达形式不能将求解方法和求解逻辑分离,所以不适合对低层求解单元的逻辑关系进行描述和控制。若将其应用于那些需明事先确子模型执行的依赖关系之后才能进行复合的DSS模型,例如作物模型,则显得力不从心。

为寻求可适用于底层逻辑关系表达的规则来解决这类模型的复合问题,本文引入了另一种描述工作流程的控制规则,即事件-条件-动作(Event-Condition-Action,ECA)规则。与ESP规则相比,ECA规则侧重于描述触发活动的事件和内部条件,规定活动执行的依赖关系,更适合描述算法或子模型层次之间的逻辑关系,但目前尚未发现有将ECA规则应用于模型复合的报道。ECA规则已经在工作流管理[12]、工作流资源调度[13]、Web Service复合[14]、业务过程执行语言(Business Process Execution Language,BPEL)过程控制[15]、科学工作流程规划和计算[16-17]等方面得到了广泛的应用。此外ECA规则可以与其他图形化方法或工具相结合以弥补其表达形式不够直观的劣势,如文献[18]在研究柔性工作流建模方案中,基于ECA 规则开发了一种图形化的工作流建模工具,说明了ECA规则在工作流建模过程中的灵活性。

本文提出基于ECA规则的状态和数据双因素驱动的DSS模型复合方法。该方法对工作流管理联盟(Workflow Management Coalition,WfMC)所提出的工作流过程元模型进行了定义,将子模型生成为可移植的、独立的工作流活动单元(即子模型活动),动态构建ECA规则,利用状态及数据双因素共同驱动模型的复合。其中状态因素通过引入可表征子模型活动运行状态的状态参数体现;数据因素则通过表征子模型之间数据依赖关系的数据参数来体现。最后以苹果叶片生长模型[19]的复合过程为例,对该方法进行验证。多次实验表明该方法可适用于一般性DSS模型,尤其是作物模型的复合问题,同时也为解决模型复合过程中的黑盒抽象及自动化问题提供了新的思路。

1 工作流过程元模型

为提供一个访问和描述工作流定义的公共方法以及提高工作流建模的可靠性,WfMC专门定义了一个工作流过程元模型,如图 1所示。该模型描述了工作流定义中的对象、对象关系和属性,并以此来确立工作流信息交换的格式。由图 1可以看出,元模型中除了包含活动(Activity)、相关数据(Workflow relevant data)、角色(Role)、迁移条件(Transition condition)、被调应用(Invoked application)等元素外,还包含了它们之间的相互关系:1) 活动使用了工作流相关数据;2) 迁移条件影响活动之间的关系;3) 活动的执行通过角色完成,期间会调用一些应用来辅助完成。因WfMC工作流元模型是参考模型,因此可以借助各种方法修改该元模型以达到应用研究的目的。如文献[20]对工作流元模型及工作流定义语言作了适当的改进和扩展,以适应日益增长的业务过程的变化和新技术的应用;文献[21]则建立了一种基于ECA规则和活动分解的工作流模型,以利于企业业务过程的重组。

图 1 WfMC定义的工作流过程元模型 Figure 1 Workflow process meta-model defined by WfMC

由于WfMC提出的工作流元模型仅仅反映了工作流定义中所包含的基本元素之间的关系,应用时需要对此模型中的各个元素进行形式化的定义并予以解释。下面结合复合应用对DSS模型的复合过程、活动内容、活动状态、ECA规则进行定义,并对工作流模型进行解释。

2 基于ECA规则的工作流过程模型 2.1 基于元模型和ECA规则的工作流定义

定义1 DSS模型复合过程是一项业务工程,其工作流过程可描述为F=〈I,N,As,E,C,D,R〉。其中:I(Id)、N(Name)分别代表业务过程标识及名称;As(Activity set)是原子活动Activity构成的集合;E(Events)、C(Conditions)代表事件集和条件集;D(Data set)为数据类型集,包含了工作流所涉及的各种数据类型,如活动中包含的内部变量类型、XML对象类型、各种文档格式类型等;R(Rules)是ECA规则集,每条ECA规则包含了活动之间的迁移条件和依赖关系,反映了活动之间的变迁规则。在基于依赖关系描述的工作流过程模型中,事件通常是某个活动节点的开始、完成、中止等;条件是对工作流相关数据(如工作流实例数据)和工作流控制数据的断言;动作则为相关活动的开始、取消或状态参数更新等。

定义2 构成DSS模型复合活动的最小单位是原子活动,它是工作流模型的核心,不能再分解。可用六元组At=〈Id,Name,O,Rd,S,Rs〉来表示。其中:Id、Name分别代表活动标识及名称;O(Operation)代表活动的内容,即活动应完成的操作,包括操作类型(自动、手工),输入及输出参数,与相关变量的映射关系等;Rd(Relation data)代表与此活动相关的工作流相关数据,包括输入和输出数据;S(State)为活动当前状态;Rs(Rules)为活动内部状态转换规则集合,它也为一组ECA规则(见定义3) 。具体实现过程中的活动内部结构如图 2所示。由图 2可知,原子活动作为工作流模型中相对独立的单元,不仅包含了模型的算法求解等内容,也提供了输入和输出参数的接口。

图 2 活动的内部结构示意图 Figure 2 Internal structure diagram of activities

定义3 活动内部一般有七种状态S=〈Wai,Beg,Exe,Com,Sus,Fai,Abo〉,分别代表等待(Waiting)、准备(Beginning)、执行(Executing)、完成(Completed)、挂起(Suspend)、失败(Failure)、取消(Abort)。状态转换规则为Rs=〈e1,e2,e3,e4,e5〉,转换过程如图 3所示(为方便,将Suspend作为所有不成功的代表)。其中e1:<On initialize (Act) if Act.state==Waiting Do Act.setstate (Beginning)>(Act为活动),其他规则类似,这里不再赘述。

图 3 活动状态转换图 Figure 3 State transition diagram of activities

定义4 基于ECA规则的工作流模型具有较强的表达能力,可以表达WfMC提出的六种工作流基本模式,即与汇聚(AND-join)、与汇出(AND-split)、或汇聚(OR-join)、或汇出(OR-split)、循环(Iteration) 和因果顺序(Causality)。此外,还可以根据需求组合成更加复杂的形式。ECA规则的基本形式可描述为:

<On Events if Conditions Do Action End if End On>

例1  一个工作流定义中的活动集合为{A,B,C},可构建如下规则:

<On A End and B End,if A.S==Completed and B.S==Completed and C.Rd==Ready,Do Begin C>

2.2 工作流模型解释

工作流模型的解释实际上是指解析执行该工作流模型,其核心部分是对ECA规则的解释。因ECA规则描述了触发活动的事件和内部条件,实际上也描述了活动的执行依赖关系。因此对工作流的解释主要是对与活动相关的事件的响应和对条件表达式的解析。这里主要关注活动之间ECA规则的解释,最终由所承载的底层工作流引擎解析执行。考察对例1中规则的解释,当A和B活动完成这一事件发生时,如果条件是A和B的状态为完成时,且C活动开始前所需的数据准备好了,则开始C活动。

3 双因素驱动原理和模型复合方法 3.1 双因素驱动的基本原理

ECA规则反映了对子模型活动复合过程的控制,其核心是依赖关系的确立。依赖类型主要有数据依赖和控制依赖。其中数据依赖关系体现了子模型活动之间是否存在内在的数据关联,控制依赖则体现了模型活动当前内部运行状态是否影响了后续活动的正常运行。活动之间的数据依赖关系,具体体现为一个活动的输出(数据)参数是另一个活动的输入(数据)参数。若A和B为工作流活动对象,A.out表示活动对象A的输出参数,B.in表示活动对象B的输入参数,当B的输入参数与A的输出参数构成某个函数映射关系时,则称它们存在数据依赖关系。活动之间的控制依赖关系通过状态消息传递来完成,即一个活动A的结束(状态为完成)意味着另一个活动B的开始。因WF(Windows Workflow)引擎支持运行时动态创建新的中间参数(状态和数据参数),这样将原本运行于不同活动之间、相互隔离的模型参数通过中间参数串接起来,实现了状态和数据的传递,以此共同驱动活动的触发顺序,从而保证了模型的复合过程顺利进行。

3.2 模型复合方法

双因素驱动的DSS模型复合方法基本步骤为:1) 生成工作流活动对象;2) 根据规则内部构成要素及依赖关系,制定相应的ECA规则;3) 将ECA规则转化为活动网络图并移植至工作流平台进行复合。

3.2.1 生成工作流活动对象

工作流模型中的基本单位是活动。本文重构了工作流中的活动,其核心内容为DSS子模型的求解算子。由于微软的WF是符合WfMC标准的工作流框架,提供了良好的工作流建模环境,可以在此框架上进行二次开发,构建自定义工作流平台,内嵌的WF引擎可完成工作流的解析。为实现将DSS模型的求解算子转化为微软的WF活动,同时满足面向模型构建者的黑盒抽象,最大限度提高模型转换及复合过程的自动化能力,依照模型驱动的思想,笔者设计了一个建模系统(限于篇幅,另文详述)。系统包含两个子系统,一个为建模子系统,其基本功能包含:1) 提供一个DSS数学模型构建环境;2) 完成模型运算的自动解析和可扩展应用程序标记语言(eXtensible Application Markup Language,XAML)文件的生成及存储。其中每个XAML文件(即为活动)都包含了一个初始值为True的状态参数,以此作为活动之间控制依赖的判断依据。另一个为模型复合子系统,提供基于WF引擎的自定义工作流平台,可将XAML文件动态编译生成DSS模型的程序集,并能以自定义活动集的方式导入至平台中。

3.2.2 制定ECA规则

根据子模型活动的执行依赖关系,利用活动单元的参数接口以及WF引擎对中间参数的支持,参照定义4中的六种工作流模式,结合具体应用,构建相应的ECA规则。

3.2.3 执行ECA规则

规则确定后,工作流的执行过程即为处理ECA规则的过程。一方面可在工作流应用程序中构建规则引擎,利用解释或编译的方式进行解析,处理过程可简单地描述为:接收事件,匹配ECA规则,执行ECA规则中的操作。其优点是可以解析规则中复杂的事件运算、条件表达式以及较强的语义表达能力,方便执行;缺点是难以图形化,不易理解,不方便用户直观地使用。另一方面可以将规则模型转换为其他表达形式的工作流模型,如本文首先将其转换为基于活动网络的过程模型,然后将模型移植至工作流平台执行。

基于活动网络的工作流模型组成元素主要包括过程、活动、连接弧和条件。模型过程可看作是一个有向无环图,图中的节点元素表示可执行的活动任务和逻辑,节点间的连接弧代表了过程中的控制流和数据流。节点类型分为标志节点、任务节点和逻辑节点。根据ECA规则中的活动类型及依赖关系的特点,对照活动网络中的组成要素进行如下转换:

1) 标志节点的转换和生成。标志节点包含开始和结束节点,任何一个工作流模型必须有唯一开始节点(无前驱)。一个流程开始执行时,最先被激活的就是“开始节点”;而结束节点(可有多个,但无后继)被激活意味着过程实例中所有的活动都处于完成状态,整个流程结束。因此,将ECA规则中的开始活动AS(Activity Start)和结束活动AE(Activity End)转换为标志节点。

2) 任务节点的转换和生成。任务节点代表了组成一个过程实例所需的各种类型的活动与任务,包括人工参与的交互活动、 自动活动以及非原子级的子过程活动。对活动初始参数(包括数据参数和状态参数)的赋值操作视为人工参与的交互活动,因此将新增一个赋值交互活动。由于DSS子模型求解算子已经生成为工作流活动,将其直接转换为自动活动。规则中的与汇出分支活动中包含多个原子活动,可视为非原子级的子过程活动的一部分。

3) 逻辑节点的转换和生成。逻辑节点并不代表真正需要执行的活动,它是为了表示任务节点之间的逻辑关系而设立的,对应ECA规则中出现的与或分支,可相应转换或增加节点。由于或汇出节点需根据条件选择一个符合条件的后继节点执行,因此将ECA规则中的状态参数判断这一过程转换为或汇出节点;而与汇出节点、与汇聚节点无需条件的判断,直接增加即可。

4) 连接弧的生成。逻辑节点体现了控制流和数据流的分离,而ECA规则中通过依赖关系也已实现了数据和控制状态的分离,因此将控制连接弧、数据连接弧合二为一。

前述的建模系统包含了自定义工作流设计平台,它提供:1) 图形化的建模环境,可快速构建或导入工作流模型;2) 基本的流程元素,如流程图的开始节点、条件分支节点等,提供基本的逻辑控制路由,包含顺序、并行、选择以及异常处理等;3) 能导入自定义的DSS模型活动;4) 提供活动参数设置窗口,可对数据参数及状态参数设置初值以及建立依赖关系;5) 内嵌的工作流引擎完成流程的解析和执行。因此移植图形化的活动网络图将变得非常简单,通过拖拽的方式将各个元素节点进行组合,参数赋值则通过参数属性窗口设置。一旦工作流模型构造完毕,输入必要的参数值,流程将自动执行。

4 实验分析

已知DSS模型被广泛应用于作物生长模拟模型的构建。以苹果叶片生长模型的复合过程为例,根据工作流活动对象及依赖关系,构建相应的ECA规则,利用工作流平台对模型的复合求解过程进行验证和分析。

4.1 实验模型

苹果叶片生长模型主要包括7个子模型:

1) 有效积温子模型:

$ATM=1790.236+1876.935\cos (0.015D+3.472)\ $ (1)

2) 单枝叶面积子模型:

$Sz=\frac{253.702}{{{(1+{{e}^{-1.422-0.006ATM}})}^{19.259}}}\ \ \ \ \ $ (2)

3) 单枝叶片日龄子模型:

$AL=0.716+0.034ATM-\frac{4789.226}{AT{{M}^{2}}}\ \ \ $ (3)

4) 单枝叶片数量子模型:

$NL=15.494-14.671{{e}^{-0.0001AT{{M}^{1.466}}}}$ (4)

5) 单树叶片总面积模型:

$St=N\times Sz$ (5)

6) 单树叶片数量模型:

$Qt=N\times NL$ (6)

7) 单树叶片日龄模型

$At=AL$ (7)

以上模型中,D为自变量,eN为常量,计算目标是求出单树叶片的总面积、数量以及日龄。

4.2 ECA规则

由于模型变量之间存在着清晰的输入/输出关系,因此根据依赖关系,构建参数传递表 1(注:参数名后面的数字1和2仅代表该参数的输出和输入两种身份状态,其实质为同一个参数)。表 1中包含了各类参数的名称以及传递的方向。

表 1 苹果叶片生长模型参数传递表 Table 1 Parameter transfer table of apple leaf growth model

表 1中的数据和状态参数的流转融入到ECA规则中去,并将每个子模型活动命名为ATM、Sz、AL、NL、St、Qt和At;同时增加一个开始AS和结束活动AE(下同)。每个活动的结束意味着下一活动的开始,由此构造相应的ECA规则集合为{ECA1,ECA2,ECA3,ECA4},具体内容如下:

ECA1规则内容为:

<On AS End,if AS.State==Completed Do Begin ATM>

即Causality规则。当开始活动结束后,执行ATM活动。

ECA2规则内容为:

①<On ATM End,if ATM_T==True,Do (Sz.in=F (ATM.out) and AL.in=F (ATM.out) and NL.in=F (ATM.out)) and (Begin Sz and Begin AL and Begin NL)>

②<On ATM End,if ATM_T==False,Do Begin ATM again>

该规则是OR-Split和And-split组成的混合路由规则。根据状态参数ATM_T的值进行或汇出,当其值为False时,表明ATM活动执行有问题,重新执行ATM一遍。当值为True时,进入与汇出,将数据参数传递给Sz、AL、NL,同时开始Sz,AL,NL活动。

ECA3规则内容为:

①<On (Sz End and AL End and NL End),if (Sz_T==True and AL_T==True and NL_T==True),Do (St.in=F (Sz.out) and Qt.in=F (NL.out) and At.in=F (AL.out)) and (Begin St and Begin Qt and Begin At)>

②<On (Sz End and AL End and NL End),if (Sz_T==False and AL_T==False and NL_T==False),Do (Begin Sz and Begin AL and Begin NL again)>

该规则是 And-join、OR-Split、And-split混合路由规则。根据Sz_T、AL_T、NL_T的状态进行与汇聚以及或汇出。当它们的值为False时,重新执行Sz、AL、NL一遍;否则进入与分支,将数据参数传递给St、Qt、At,同时执行这些活动。

ECA4规则内容为:

①<On (St End and Qt End and At End),if (St_T==True and Qt_T==True and At_T==True),Do Begin AE>

该规则是And-join和OR-Split组成的混合路由规则,根据St_T、Qt_T、At_T的状态进行与汇聚以及或汇出,值为False时,重新执行St、At、Qt,若值为True,整个活动结束。

4.3 规则转换

以苹果叶片生长模型复合的ECA规则为例,根据3.2.3 节提供的方式转换,最后得到活动网络图如图 4所示。 其中:P1P2分别代表开始节点和结束节点;T1代表赋值操作的人工活动节点,T2T7T8T9T14T15T16分别代表 7个叶片生长子模型的自动活动节点,T5T12代表其中两个与分支活动节点;T4T11T18分别代表三个或汇出节点,T6T13代表两个与汇出节点,T10T17代表两个与汇聚节点。

图 4 苹果叶片生长模型活动网络图 Figure 4 Activity network diagram of apple leaf growth model
4.4 规则执行及结果分析

最后一步是在工作流平台中创建相应的流程图,并由内嵌的工作流引擎完成解析执行。基本过程如下:

1) 平台把由模型创建子系统所生成的各个子模型活动(如模型ATM,模型Sz等)加载至活动窗口。

2) 根据图 4,将各类活动节点拖拽至复合窗口形成流程图(图 5),流程图主要由开始活动,基本活动(如条件IF分支、并行Parallel、输出WriteLine等),子模型活动以及流程箭头线构成。

图 5 苹果叶片生长模型复合流程 Figure 5 Composite process of apple leaf growth model

3) 根据参数传递表,在参数窗口中创建数据和状态中间参数,并在参数属性窗口中构建它们之间的相互依赖关系(例如依据ECA2,ATM和Sz活动对应的输出和输入参数之间的传递关系通过中间参数TE_ATM桥联起来)。分别将参数数据输入至对应的参数变量中,运行流程可得结果。

苹果叶片生长模型的复合过程中的数据参数值、实测值均来源于文献[19],模拟时间跨度保持一致,即以4月10日为有效积温的日期起点,每隔10 d,至7月20日对该模型进行了模拟。本文选取了其中苹果单树叶片数量模型Qt至5月20日的模拟结果与文献中的模拟值及实测值进行对比,并采用检验模型时常用的统计方法均方根误差(Root Mean Squared Error,RMSE)对三个值之间的符合度进行统计分析。从表 2结果可以看出,本文的模拟值与文献模拟值、实际测试值的标准误差分别为3.62和22.28。分析其误差主要源于数据精度以及模型自身的拟合程度,但均在合理范围内,且随着模拟时间的推移,模拟值与另外两种值之间的偏差并没有扩大,表明了模拟过程比较稳定。此外还对另一作物生长率模型[22]进行了模拟,结果同样符合要求,说明该方法完全可行。与文献采用传统的面向对象方法、仅依赖特定的模型复合环境(无可视化建模界面、静态编译、高耦合,不易移植)相比,本文方法及复合环境具备如下优点:

表 2 单树叶片数量模拟值、文献模拟值、实测值及预测误差 Table 2 Simulation value,literature simulation value, measured value and prediction error of single leaf number

1) 模型活动与ECA规则、复合环境之间耦合程度低。活动的构建、规则的制定、模型的复合这三个过程相分离,模型活动可根据规则中状态和数据之间的依赖关系动态组合。

2) 通用性强,可复用程度高。模型活动作为独立的构件,既可以是符合XML标准的文件,也能动态编译成程序集,方便移植。

3) 自动化程度较高,可扩展性强。模型参数类型及个数自动识别,能在复合阶段动态地创建辅助参数,而且稍加改进即可与面向本体或Agent方法相结合。

4) 模型活动构建和复合的实现细节对建模者而言是透明的,使得他们能更多地关注于规则的制定以及模型复合的意义,提高了复合效率。因此本文方法具备一定的通用性,能解决一般性模型的复合问题。

5 结语

本文针对DSS模型的复合问题,提出了一种状态和数据双因素驱动,并采用ECA规则来定义复合流程的方法。该方法侧重底层模型活动的构建和复合,每个子模型活动即为一个可移植的独立单元,内部包含模型的求解算法,对外提供了参数的接口,模型之间的复合过程就是构建活动之间依赖关系的过程。此外ECA规则容易构建复杂的事件运算和条件表达式,能表达更强的语义以及活动之间的同步关系。所描述的触发活动的事件和内部条件,对应着活动的执行依赖关系。模型实验表明ECA规则易于扩展,且容易转化为网络活动图等其他方式。

进一步思考及改进:1) 结合Agent的思想,完善模型内部的求解算法,提高效率;2) 引入回调、暂停等机制,尤其是考虑ECA规则与模糊Petri网结合,使异常处理更灵活并考虑引入对条件代数表达式[23]和实时系统[24]的处理,让模型的复合流程控制更加完善和智能;3) 引入数据库存取机制,满足大规模数据的处理和Web应用,或进一步对数据库进行知识挖掘[25],满足动态DSS的需要。

参考文献
[1] MUZAFFAR Z, AHMED M A. Software development effort prediction:a study on the factors impacting the accuracy of fuzzy logic systems[J]. Information and Software Technology, 2010, 52 (1) : 92-109. doi: 10.1016/j.infsof.2009.08.001
[2] 刘东玉, 唐忠, 邱超, 等. 雷达电子战仿真模型库构建方法研究[J]. 舰船电子工程, 2009, 29 (5) : 32-34. ( LIU D Y, TANG Z, QIU C, et al. Study on construction method of radar EW simulation model-base[J]. Ship Electronic Engineering, 2009, 29 (5) : 32-34. )
[3] 黄宏胜, 岳天祥. 基于流程图的资源环境模型复合方法[J]. 计算机工程, 2008, 34 (3) : 72-74. ( HUANG H S, YUE T X. Resource and environmental model composition method based on flowchart[J]. Computer Engineering, 2008, 34 (3) : 72-74. )
[4] 李牧南, 彭宏. 基于Agent的模型表示与模型复合[J]. 计算机应用, 2006, 26 (4) : 891-894. ( LI M N, PENG H. Model representation and model composite based on Agent[J]. Journal of Computer Applications, 2006, 26 (4) : 891-894. )
[5] LI M-N, XIONG J-X. A novel method of model composite in decision support system[J]. Advances in Information Sciences & Service Sciences, 2012, 4 (15) : 317-324.
[6] DOTOLI M, HAMMADI S, JERIBI K, et al. A multi-Agent decision support system for optimization of co-modal transportation route planning services[C]//CDC 2013:Proceedings of the 2013 IEEE Conference on Decision and Control. Piscataway, NJ:IEEE, 2013:911-916.
[7] 杨满喜, 贾乐朋, 柳少军. 一种新的DSS中模型复合方法研究[J]. 科学技术与工程, 2009 (10) : 2793-2797. ( YANG M X, JIA L P, LIU S J. Research on a kind of new method about model combination in DSS[J]. Science Technology and Engineering, 2009 (10) : 2793-2797. )
[8] CHIU N-H, HUANG S-J. The adjusted analogy-based software effort estimation based on similarity distances[J]. The Journal of Systems and Software, 2007, 80 (4) : 628-640. doi: 10.1016/j.jss.2006.06.006
[9] BECK H, MORGAN K, JUNG Y, et al. Ontology-based simulation in agricultural systems modeling[J]. Agricultural Systems, 2010, 103 (7) : 463-477. doi: 10.1016/j.agsy.2010.04.004
[10] LI Y F, XIE M, GOH T N. A study of mutual information based feature selection for case based reasoning in software cost estimation[J]. Expert Systems with Applications, 2009, 36 .
[11] 刘松. 事件和参数双因素驱动的智能模型集成机制[J]. 计算机工程与应用, 2012, 48 (8) : 28-31. ( LIU S. Intelligent model integration mechanism drove by double factors of events and parameters[J]. Computer Engineering and Applications, 2012, 48 (8) : 28-31. )
[12] YE Y, JIANG Z, DIAO X, et al. Extended event-condition-action rules and fuzzy Petri nets based exception handling for workflow management[J]. Expert Systems with Applications, 2011, 38 (9) : 10847-10861. doi: 10.1016/j.eswa.2011.02.097
[13] LALIT, SINGH H. Advance reservation of resources in workflow system[J]. International Journal of Computer Science & Mobile Computing, 2014, 3 (12) : 140-145.
[14] 贺春林, 滕云, 彭仁明. 一种基于ECA规则的Web Service工作流模型的研究[J]. 计算机科学, 2009, 36 (8) : 112-115. ( HE C L, TENG Y, PENG R M. Web service oriented workflow model based on ECA rules[J]. Computer Science, 2009, 36 (8) : 112-115. )
[15] OUYANG B, ZHONG F, LIU H. An ECA-based control-rule formalism for the BPEL process modularization[J]. Procedia Environmental Sciences, 2011, 11 .
[16] ZHAO Z, PASCHKE A. A rule-based Agent framework for weakly-structured scientific workflows[C]//BIS 2013:Proceedings of the 2013 International Workshops on Business Information Systems Workshops, Volume 160 of the Series Lecture Notes in Business Information Processing. Berlin:Springer-Verlag, 2013:290-301.
[17] ZHAO Z, PASCHKE A. Event-driven scientific workflow execution[C]//BPM 2012:Proceedings of the 2012 International Workshops on Business Process Management, Volume 132 of the Series Lecture Notes in Business Information Processing. Berlin:Springer-Verlag, 2013:390-401.
[18] WANG S, ZHANG Y, PENG Y. Flexible mechanism research of workflow system based on SOA[C]//ISCTCS 2013:Proceedings of the 2013 International Conference on Trustworthy Computing and Services, Volume 426 of the Series Communications in Computer and Information Science. Berlin:Springer-Verlag, 2013:86-92.
[19] 田雪亮, 胡小平, 杨家荣. 苹果叶片生长模拟模型的建立[J]. 西北农林科技大学学报(自然科学版), 2006, 34 (4) : 105-109. ( TIAN X L, HU X P, YANG J R. Development of simulative model for growth of apple leaf[J]. Journal of Northwest Sci-Tech University of Agriculture and Forestry (Natural Science Edition), 2006, 34 (4) : 105-109. )
[20] 赵文, 胡文蕙, 张世琨, 等. 工作流元模型的研究与应用[J]. 软件学报, 2003, 14 (6) : 1052-1059. ( ZHAO W, HU W H, ZHANG S K, et al. Study and application of a workflow meta-model[J]. Journal of Software, 2003, 14 (6) : 1052-1059. )
[21] 胡锦敏, 张申生, 余新颖. 基于ECA规则和活动分解的工作流模型[J]. 软件学报, 2002, 13 (4) : 761-767. ( HU J M, ZHANG S S, YU X Y. A workflow model based on ECA rules and activity decomposition[J]. Journal of Software, 2002, 13 (4) : 761-767. )
[22] LIU F, LIU X, DING C, et al. The dynamic simulation of rice growth parameters under cadmium stress with the assimilation of multi-period spectral indices and crop model[J]. Field Crops Research, 2015, 183 : 225-234. doi: 10.1016/j.fcr.2015.08.004
[23] WEDEMEIJER L. Transformation of imperative workflows to declarative business rules[C]//BMSD 2013:Proceedings of the 2013 Third International Symposium on Business Modeling and Software Design, Volume 173 of the Series Lecture Notes in Business Information Processing. Berlin:Springer-Verlag, 2013:106-127.
[24] LALIT, Dr. SINGH H. Advance reservation of resources in workflow system[J]. International Journal of Computer Science & Mobile Computing, 2014, 3 (12) : 140-145.
[25] LTIFI H, KOLSKI C, AYED M B. Combination of cognitive and HCI modeling for the design of KDD-based DSS used in dynamic situations[J]. Decision Support Systems, 2015, 78 : 51-64. doi: 10.1016/j.dss.2015.07.003