首页 / 专利库 / 软件 / 建模语言 / 基于业务规则的自适应业务流程建模方法

基于业务规则的自适应业务流程建模方法

阅读:306发布:2020-05-12

专利汇可以提供基于业务规则的自适应业务流程建模方法专利检索,专利查询,专利分析的服务。并且本 发明 提出一种基于业务规则的自适应业务流程建模方法,属于 软件 工程中的系统的业务流程建模领域。本发明技术方案要点为:首先,定义自然 建模语言 ;其次,将自然建模语言业务流程模型转化为 有向图 业务 流程图 模型;然后,对业务流程进行合法性验证。本发明能够真正地实现业务人员的独立业务流程建模,使建模人员只关注于描述流程,其它部分的工作由系统自动完成。,下面是基于业务规则的自适应业务流程建模方法专利的具体信息内容。

1.基于业务规则的自适应业务流程建模方法,其特征在于,包括如下步骤:
步骤1、定义自然建模语言
步骤2、将自然建模语言业务流程模型转化为有向图业务流程图模型;
步骤3、对业务流程进行合法性验证。
2.根据权利要求1所述的基于业务规则的自适应业务流程建模方法,其特征在于,步骤
1中,所述自然建模语言的词汇表包括静态词汇表和动态词汇表。
3.根据权利要求2所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述静态词汇表包含多个常用的且不会改变的词汇,动态词汇表包含的词汇是由用户在使用时动态定义的。
4.根据权利要求3所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述常用的且不会改变的词汇为关键字、数字和运算符、结点标识符及定界符。
5.根据权利要求3所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述动态词汇表包含的词汇为活动和任务的名称、业务流程流转相关词汇。
6.根据权利要求3或5所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述动态词汇采用对象描述方式说明,并保存于数据库中,不需要在自然建模语言文档中定义。
7.根据权利要求1所述的基于业务规则的自适应业务流程建模方法,其特征在于,步骤
1中,所述自然建模语言采用类结构化设计方法,简化业务流程模型。
8.根据权利要求7所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述业务流程的描述语句分为顺序语句、跳转语句、决策分支语句和并行语句。
9.根据权利要求7所述的基于业务规则的自适应业务流程建模方法,其特征在于,所述顺序语句,语句按照顺序表示业务流程次序,其中的开始和结束的标识语句,用关键字【开始】和【结束】分别表示流程的开始和结束,其中的活动和任务的标识语句,用动态词汇表中的活动名称、任务名称分别表示流程中的一个活动或任务;
所述跳转语句,用静态关键字【跳转到】或【并行跳转到】和语句行标识表示将要跳转到哪行语句;
所述决策分支语句,用于描述由于决策判断引起的不同执行分支,决策分支语句至少包含两个决策分支,每个分支都有执行条件和起止定界符,决策分支语句以静态关键字【决策点】和【决策点结束】作为起止定界符;
所述并行语句,用于描述可以并行执行的分支,至少包含两个并行分支,并行语句以静态关键字【并行点】和【聚合点】作为起止标志,每个并行分支都有起止定界符。
10.根据权利要求1所述的基于业务规则的自适应业务流程建模方法,其特征在于,步骤3中,对业务流程进行合法性验证过程中,将合法性验证放在在了运行阶段,要保证业务流程的合法性,相应的业务流程图要同时满足以下条件:
a、开始结点无前驱结点,结束结点无后继结点;
b、不存在自身到自身有闭环的结点;
c、存在从开始结点到任意结点的路径,存在从任意结点到结束结点的路径;
d、并行分支相互独立互不连通,同一并行点出发的所有并行分支均在对应聚合点处聚合,在聚合点汇聚的所有路径都是属于其相应的并行结点的并行分支。

说明书全文

基于业务规则的自适应业务流程建模方法

技术领域

[0001] 本发明涉及软件工程中的系统的业务流程建模领域,特别涉及基于业务规则的自适应业务流程建模方法。

背景技术

[0002] 现代企业与以往相比面临着更加复杂的外部经营环境,为了适应具有多变性的市场以保持有的竞争地位,企业的业务流程需要适时地改变。目前在企业业务运营软件系统开发时需要依赖软件开发专业技术人员进行业务流程建模;在业务运营过程中的企业业务流程重组也需要依赖专业的软件开发人员,而且还必须要对原有软件系统进行重新改造才能实现。这种现状给企业带来了很多问题和险,在业务流程建模方面由于业务人员与软件技术人员之间的行业领域差异性不可避免地会造成误解或者沟通耗费较大;在业务流程改造和重组方面,改造时间过长会给企业带来竞争风险;此外,每次的系统改造所不得不投入的高昂费用也是不小的代价,而且并不能保证能避免系统改造时导致整个系统冲突的风险。
[0003] 在业务流程建模方面,研究指出了业务规则的强大功能足可以表示业务流程,说明了基于业务规则的业务流程描述足够可代替图形化的业务流程建模,所谓业务规则,它是指影响或指导组织中行为的信息语句。目前有部分成果已经实现了企业业务人员的业务流程建模,完成了从SBVR(Semantics of Business Vocabulary and Rules)业务规则描述语言表示的业务流程模型到BPMN(Business Process Modeling Notation)表示的业务流程模型的转化,省去了系统开发时期企业业务人员和软件开发人员关于业务流程建模的繁琐的沟通,但当企业需要进行业务流程优化重组时,系统升级维护的成本较高。目前面向业务人员的建模语言非常少,而SBVR语言是基于英文的表达,不适用于国内人员使用。

发明内容

[0004] 本发明的目的是提供一种基于业务规则的自适应业务流程建模方法,能够真正地实现业务人员的独立业务流程建模,使建模人员只关注于描述流程,其它部分的工作由系统自动完成。
[0005] 本发明解决其技术问题,采用的技术方案是:基于业务规则的自适应业务流程建模方法,包括如下步骤
[0006] 步骤1、定义自然建模语言;
[0007] 步骤2、将自然建模语言业务流程模型转化为有向图业务流程图模型;
[0008] 步骤3、对业务流程进行合法性验证。
[0009] 具体的是,步骤1中,所述自然建模语言的词汇表包括静态词汇表和动态词汇表。
[0010] 进一步的是,所述静态词汇表包含多个常用的且不会改变的词汇,动态词汇表包含的词汇是由用户在使用时动态定义的。
[0011] 具体的是,所述常用的且不会改变的词汇为关键字、数字和运算符、结点标识符及定界符。
[0012] 进一步的是,所述动态词汇表包含的词汇为活动和任务的名称、业务流程流转相关词汇。
[0013] 具体的是,所述动态词汇采用对象描述方式说明,并保存于数据库中,不需要在自然建模语言文档中定义。
[0014] 进一步的是,步骤1中,所述自然建模语言采用类结构化设计方法,简化业务流程模型。
[0015] 具体的是,所述业务流程的描述语句分为顺序语句、跳转语句、决策分支语句和并行语句。
[0016] 进一步的是,所述顺序语句,语句按照顺序表示业务流程次序,其中的开始和结束的标识语句,用关键字【开始】和【结束】分别表示流程的开始和结束,其中的活动和任务的标识语句,用动态词汇表中的活动名称、任务名称分别表示流程中的一个活动或任务;
[0017] 所述跳转语句,用静态关键字【跳转到】或【并行跳转到】和语句行标识表示将要跳转到哪行语句;
[0018] 所述决策分支语句,用于描述由于决策判断引起的不同执行分支,决策分支语句至少包含两个决策分支,每个分支都有执行条件和起止定界符,决策分支语句以静态关键字【决策点】和【决策点结束】作为起止定界符;
[0019] 所述并行语句,用于描述可以并行执行的分支,至少包含两个并行分支,并行语句以静态关键字【并行点】和【聚合点】作为起止标志,每个并行分支都有起止定界符。
[0020] 具体的是,步骤3中,对业务流程进行合法性验证过程中,将合法性验证放在在了运行阶段,要保证业务流程的合法性,相应的业务流程图要同时满足以下条件:
[0021] a、开始结点无前驱结点,结束结点无后继结点;
[0022] b、不存在自身到自身有闭环的结点;
[0023] c、存在从开始结点到任意结点的路径,存在从任意结点到结束结点的路径;
[0024] d、并行分支相互独立互不连通,同一并行点出发的所有并行分支均在对应聚合点处聚合,在聚合点汇聚的所有路径都是属于其相应的并行结点的并行分支。
[0025] 本发明的有益效果是,通过上述基于业务规则的自适应业务流程建模方法,使业务人员能够业务完成业务流程建模的任务,并且能够对流程中现有的活动进行任意组装,极大地增强了业务营运系统的自适应性。附图说明
[0026] 图1为本发明基于业务规则的自适应业务流程建模方法的流程图;
[0027] 图2为本发明实施例中差旅申请费用报销业务流程图;
[0028] 图3为本发明实施例中自然建模语言业务流程描述实例图;
[0029] 图4为本发明实施例中数据池示意图;
[0030] 图5为本发明实施例中模型转化示意图;
[0031] 图6为本发明实施例中NML2BussinesFlow算法描述图;
[0032] 图7为本发明实施例中流程的合法性说明实例图;
[0033] 图8为本发明实施例中jPDL转化所调用的子方法图;
[0034] 图9为本发明实施例中Workflow2jbpm算法描述图。

具体实施方式

[0035] 下面结合实施例及附图,详细描述本发明的技术方案。
[0036] 本发明所述基于业务规则的自适应业务流程建模方法,其流程图参见图1,其中,该方法包括如下步骤
[0037] 步骤1、定义自然建模语言。
[0038] 其中,自然建模语言的词汇表包括静态词汇表和动态词汇表。
[0039] 静态词汇表包含多个常用的且不会改变的词汇,动态词汇表包含的词汇是由用户在使用时动态定义的。
[0040] 常用的且不会改变的词汇为关键字、数字和运算符、结点标识符及定界符等。
[0041] 动态词汇表包含的词汇为活动和任务的名称、业务流程流转相关词汇等。动态词汇采用对象描述方式说明,并保存于数据库中,不需要在自然建模语言文档中定义。
[0042] 并且,自然建模语言采用类结构化设计方法,简化业务流程模型。业务流程的描述语句分为顺序语句、跳转语句、决策分支语句和并行语句等四类。
[0043] 顺序语句,语句按照顺序表示业务流程次序,其中的开始和结束的标识语句,用关键字【开始】和【结束】分别表示流程的开始和结束,其中的活动和任务的标识语句,用动态词汇表中的活动名称、任务名称分别表示流程中的一个活动或任务;
[0044] 跳转语句,用静态关键字【跳转到】或【并行跳转到】和语句行标识表示将要跳转到哪行语句;
[0045] 决策分支语句,用于描述由于决策判断引起的不同执行分支,决策分支语句至少包含两个决策分支,每个分支都有执行条件和起止定界符,决策分支语句以静态关键字【决策点】和【决策点结束】作为起止定界符;
[0046] 并行语句,用于描述可以并行执行的分支,至少包含两个并行分支,并行语句以静态关键字【并行点】和【聚合点】作为起止标志,每个并行分支都有起止定界符。
[0047] 步骤2、将自然建模语言业务流程模型转化为有向图业务流程图模型。
[0048] 步骤3、对业务流程进行合法性验证。
[0049] 其中,对业务流程进行合法性验证过程中,将合法性验证放在在了运行阶段,要保证业务流程的合法性,相应的业务流程图要同时满足以下条件:
[0050] a、开始结点无前驱结点,结束结点无后继结点;
[0051] b、不存在自身到自身有闭环的结点;
[0052] c、存在从开始结点到任意结点的路径,存在从任意结点到结束结点的路径;
[0053] d、并行分支相互独立互不连通,同一并行点出发的所有并行分支均在对应聚合点处聚合,在聚合点汇聚的所有路径都是属于其相应的并行结点的并行分支。
[0054] 实施例
[0055] 本发明实施例基于业务规则的自适应业务流程建模方法,首先定义了自然建模语言NML,然后设计了相关的算法实现了NML业务流程模型到有向图业务流程图模型的转化,最后对业务流程进行了合法性验证。通过此三个步骤,确保了从自然语言到有向业务流程图的正确转换。
[0056] 本发明在具体实施过程中,包括如下几个步骤:
[0057] 步骤一、定义自然建模语言NML。
[0058] NML用于描述流程中活动的执行顺序,因此其描述的内容本质上是企业的业务规则。NML是一种面向领域业务人员用于业务流程建模的自然建模语言。和其它语言一样,也拥有一个词汇表,但不同的是,NML语言的词汇表分为静态词汇表和动态词汇表两类。
[0059] 静态词汇表包含一些常用的不会改变的词汇,如关键字、数字和运算符、结点标识符、定界符等等。
[0060] 动态词汇表包含的词汇是由用户在使用时动态定义的,如活动和任务的名称、业务流程流转相关词汇等等,与业务领域相关。动态词汇采用对象描述方式说明,并保存于数据库中,不需要在NML语言文档中定义。其中NML语言的形式化定义如下。
[0061]
[0062]
[0063] NML语言采用类结构化设计方法,简化业务流程模型。业务流程描述语句分为顺序语句、跳转语句、决策分支语句和并行语句等四类。
[0064] (1)顺序语句,语句按照顺序表示业务流程次序。
[0065] a)开始和结束的标识语句,用关键字【开始】和【结束】分别表示流程的开始和结束。
[0066] b)活动和任务的标识语句,用动态词汇表中的活动名称、任务名称分别表示流程中的一个活动或任务。
[0067] (2)跳转语句,用静态关键字【跳转到】(或【并行跳转到】)和语句行标识表示将要跳转到哪行语句。跳转语句的引入增强了流程描述的灵活性,完全避免了决策分支语句与并行语句之间以及它们内部的嵌套,同时还可以实现具有循环结构的业务流程。
[0068] (3)决策分支语句,用于描述由于决策判断引起的不同执行分支。决策分支语句至少
[0069]
[0070] 要包含两个决策分支,每个分支都有执行条件和起止定界符。决策分支语句以静态关键字【决策点】和【决策点结束】作为起止定界符。以下为决策分支语句的描述格式:
[0071] (4)并行语句,用于描述可以并行执行的分支,至少要包含两个并行分支。并行语句以静态关键字【并行点】和【聚合点】作为起止标志,每个并行分支都有起止定界符。以下是并行分支的描述格式:
[0072] NML语言有如下特点:(1)一个完整的业务流程描述以开始语句开始,以结束语句结束;(2)按行断句,且语句描述上无嵌套;(3)语句行顺序标号但不一定连续标号;(4)动态词汇采用面向对象方式定义通过数据库存储。
[0073] NML语言可以采用自上而下的语法分析方法进行语法分析,较容易进行机器识别。
[0074]
[0075] 如图2所示,这是使用JBPM的业务流程建模工具建立的一个差旅申请费用报销业务流程图,其中员工申请出差、经理审批出差申请,老板审批出差申请、员工确认是否继续申请、员工报销费用以及财会发放报销费用为任务,系统登记出差信息和系统核算报销费用为活动。图1所表示的业务流程覆盖了工作流管理联盟(Workflow Management Coalition,WfMC)提出的6种工作流基本形式。图2的自然建模语言业务流程描述实例图参见图3。
[0076] 步骤二、NML业务流程模型到有向图业务流程图模型的转化。
[0077] 自适应业务流程建模方法的基本思想是模型转化和数据分离,模型转化是指将NML语言描述的业务流程模型转化为工作流引擎(本文以jBPM工作流引擎为例)可解析和执行的业务流程模型;而数据分离是将流程描述信息与流程相关的其它信息分离开来,流程的描述信息由业务人员通过NML语言进行描述,而其它的信息则保存在一个配置库中。化为jBPM工作流模型。配置库中存储活动、任务、术语的相关信息,它通过二元元组的形式建立起了活动与应用程序、任务与执行者、术语与工作流相关数据的对应关系,如活动名称、应用程序路径、任务名称、色名称、术语、工作流相关数据。三组关系的建立完成意味着构建了一个数据池,数据池中有活动、任务与术语,它们分别与应用程序、角色和工作流相关数据建立起了对应关系,数据池示意图参见图4,模型转化示意图参见图5,由于直接从NML业务流程模型到执行的流程模型的转化比较复杂,并且为了对流程模型进行合法性检查,因此引入了有向图业务流程模型作为流程模型转化的中介模型。
[0078] 用户通过使用NML语言描述业务流程,而系统在进行模型转化过程中自动完成活动与应用程序、任务与角色的匹配,并且将术语转化为工作流相关的数据,因此自适应业务流程建模方法实现了业务人员的独立业务流程建模,用户可以更改配置库中任务的配置信息,通过NML描述流程功能和系统的模型自动转化功能数据池中的活动和任务进行任意组装。
[0079] 根据以上自适应业务流程建模的实现思路,本文设计出了模型转化过程中所涉及的算法,作者使用相关算法实现了一个自适应业务流程建模器。
[0080] 为了实现NML语言的模型识别和模型转化,我们需要定义两个基本的数据结构用Statement和Node,分别表示NML语句和业务流程图结点的特征。
[0081] NML语句的数据结构Statement定义如下:
[0082]
[0083] 业务流程图就是一个有向图,可以采用常用的邻接表结构,图中结点的数据结构Node定义如下:
[0084]
[0085] 其中,nextNodeList记录结点的所有后继分支结点及其转移条件(仅在决策结点中存在),NextNode的数据结构定义如下:
[0086]
[0087]
[0088] NML语言的每一个语句行都可以当成一个语句,所以语句的识别相对简单。一个业务流程的所有NML语句组成一个语句表StatementList,转化为业务流程图的邻接表是一个结点表NodeList,分别定义如下:
[0089] ArrayListstatementList;
[0090] ArrayListnodeList;
[0091] NML的语句和业务流程图的结点之间有很清楚直接的对应关系,如表1所示,我们把与结点相对应的语句称为结点语句,其它为非结点语句。转换算法的主要工作就是建立结点之间的有向连接关系,以及从一个结点转化到另一个结点的条件等属性的配置。结点之间的有向连接关系依赖于非结点语句以及结点语句之间的顺序关系。
[0092] 表1语句与结点对照表
[0093]
[0094] 下面给出NML业务流程模型到业务流程图模型的转化算法NML2BussinesFlow。算法的基本思路是:首先遍历语句表stamentList中的所有语句,将符合结点条件的语句转化为相应的结点,然后根据语句顺序关系和非结点语句类型建立对应结点之间的有向连接关系,以及决策分支条件。NML2BussinesFlow算法描述图参见图6。
[0095] 步驟三、业务流程合法性验证。
[0096] jBPM等工作流管理系统的图形建模器没有对业务流流进行运行前的合法性检查,而是将检查放在在了运行阶段,为了保证业务人员建模的合法性,对业务流程进行运行前检查显得尤为重要。
[0097] 要保证业务流程的合法性,相应的业务流程图要同时满足以下条件:
[0098] a、开始结点无前驱结点,结束结点无后继结点;
[0099] b、不存在自身到自身有闭环的结点;
[0100] c、存在从开始结点到任意结点的路径,存在从任意结点到结束结点的路径;
[0101] d、并行分支相互独立互不连通,同一并行点出发的所有并行分支均在对应聚合点处聚合,在聚合点汇聚的所有路径都是属于其相应的并行结点的并行分支。
[0102] 不难看出,条件a-c是很容易验证的,通过遍历有向图结点就可以完成处理。我们重点关注条件d。
[0103] 参见图7,其为流程的合法性说明实例图,描述了4个业务流程图的例子,其中,图7中A中经过并行结点的所有路径都在聚合结点处聚合了,在聚合点处聚合的所有路径在聚合之前都经过了并行结点,并且并行分支互不连通,因此A是合法的业务流程图。B、C、D都是不合法的业务流程图,B中有不正确的出边,C中有一条不正确的入边,D中并行分支之间有连通。
[0104] 当其它条件都满足,要判断同一并行结点分出的并行分支之间是否连通以及所有分支是否在相应的聚合节点处聚合,算法的基本思路是从开始结点遍历流程图所有结点,遍历到每个结点时,结合其前驱结点的特征标记,确定该结点的特征并标记。结点的特征标记应该具有如下功能:(1)能够区分已被遍历和未被遍历的结点;(2)能够区分结点是否属于并行(即在并行点结点到聚合点结点之间),并能区分属于不同的并行块;(3)如果一个结点属于多个并行块,应该能够区分各个并行块的层次包含关系;(4)对于属于同一并行块的结点,能够区分结点属于不同的分支。为此,我们为结点特征标记做出如下的定义,其中“#”是分隔符。
[0105] 1)未遍历的结点:标记tag=0
[0106] 2)已遍历但不属于任何并行块的结点(即串行结点):标记tag=1[0107] 3)对于已遍历并属于并行块的结点,以如下递归方式定义:
[0108] a)并行点:tag=2#并行点标识|所属并行分支标记#并行点标识
[0109] b)聚合点:tag=2#并行点标识#|2#所属并行分支标识#并行点标识#[0110] c)属于并行分支的非并行点和非聚合点的结点:tag=所属并行分支标记[0111] d)并行分支标记:并行点标记#第一个分支结点标识
[0112] 根据以上标记方法,我们从“开始”结点开始,按照深度优先方式(DFS)遍历业务流程图nodeList的所有结点。需要设置一个栈stack存放待处理结点、一个数组tag[]存放对应结点标记。从栈中取出一个被访问的结点作为当前结点,然后依次取出其后继(孩子)结点进行检查和标记处理,具体操作如表2所示:
[0113] 表2结点标记处理表
[0114]
[0115]
[0116] 注:*表示通配符
[0117] 参见图8,其为jPDL转化所调用的子方法图;参见图9,其为Workflow2jbpm算法描述图。其中,根据模型间元素的对应关系可以实现从业务流程图模型到工作流模型的转化,需要完成的工作包括:建立活动与应用程序的对应关系;完成任务的分配;将术语对应于工作流相关数据。能被jBPM工作流引擎所解析的业务流程文件是一个用jPDL描述的工作流文档,jPDL工作流要素和业务流程图要素之间的对应关系如表3所示,其中[]表示方括号内的结构数据可重复多次。
[0118] 表3.业务流程图要素与jPDL工作流基本要素对照表
[0119]
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈