CN110807587B - 流程模型安全性验证方法及装置 - Google Patents
流程模型安全性验证方法及装置 Download PDFInfo
- Publication number
- CN110807587B CN110807587B CN201911049337.0A CN201911049337A CN110807587B CN 110807587 B CN110807587 B CN 110807587B CN 201911049337 A CN201911049337 A CN 201911049337A CN 110807587 B CN110807587 B CN 110807587B
- Authority
- CN
- China
- Prior art keywords
- node
- merging
- branch
- mode
- workflow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明提供了一种流程模型安全性验证方法及装置。所述方法包括:识别工作流中包含的基本结构;识别所述基本结构之间的关系,其中,所述关系包括:独立、嵌套及交叉;根据所述基本结构,以及基本结构之间的关系,识别工作流中包含的模式区域;根据识别得到的模式区域,判断流程模型是否安全。本发明提供的流程模型安全性验证方法及装置能够在实际执行之前解决设计得到的工作流中的分支重复执行问题,提高了工作流的安全性。
Description
技术领域
本发明涉及计算机信息处理技术领域,特别是涉及一种流程模型安全性验证方法及装置。
背景技术
工作流管理系统的核心内容是对工作流模型的研究。WFMC(工作流管理联盟)为工作流管理系统提供了相应的规范,但并未对工作流模型的安全性给出指导。因此关于工作流模型的安全性研究也是形式多样,目前技术对安全性的关注点主要放在死锁、无效节点、完整性方面。形式主要是通过各种数学模型对过程定义的静态结构和动态执行性质进行分析和模拟,从而提前发现错误。
由于工作流模型建模方式的灵活性,例如支持循环、多任务实例和并行任务等,因此流程执行时会出现分支重复执行的情况。那么如何确保分支重复执行是否符合模型设计者意愿并且可控就是一个很重要的安全性考虑点。这里举例说明“分支重复执行”的概念,例如一个多部门的投票流程如图1所示。
其中方框代表流程中的活动,箭头代表不同活动之间的转移。各活动说明如下:
◆节点S是初始活动,会组织提名人,然后同时触发后续三个投票活动A、B、C;
◆节点A、B代表部门投票活动;
◆节点C代表董事长投票活动;
◆节点D代表合并部门投票结果活动;
◆节点E代表判断董事长已经投票还是要求修改提名人,如果要求修改提名人,则重新触发投票流程(当然合理的流程是在触发投票活动前增加审批提名人环节,不过这就要求在流程模型设计阶段提前发现此问题。这里只是为说明问题这样设计);
◆节点F代表结果统计活动。
该流程开始后,S活动准备好提名人,然后同时触发三个投票活动,如果A、B活动较慢,C活动较快,并且在C活动中董事长认为要修改候选人提名,转移到E活动时判断发现要重新组织提名人,便转移到S活动重新组织提名人并再次触发投票活动。而此时上一次的A、B投票活动正在进行,这就是“分支重复执行”的情况,这会导致后续活动D的合并投票结果错误,从而继续导致最终F活动的统计结果错误。
目前的技术一般通过以下两种方式解决:
1)为流程模型增加属性,用于给工作流管理系统提供更多的信息,使得在执行时工作流管理系统可以进行某种“同步”控制。例如本例可以给活动E到活动S的转移箭头上增加表示“返回”的属性;
2)在应用层面进行控制,例如本例,工作流管理系统的应用系统可以通过监听发现活动E到活动S的转移,然后根据流程实例的状态做出应用层面的控制。
现有技术对于分支重复执行这个安全性风险的规避(或解决)存在两点不足:
1.缺少在流程模型设计阶段针对此安全性风险进行评估的方法。
现有技术在流程模型设计阶段对安全性的关注点主要放在死锁、无效节点、完整性方面,对于这些问题可以进行评估和提醒。对于分支重复执行这个安全性风险的规避,主要依赖设计人员的经验,无法在工具层面进行检查并提示。当流程模型比较复杂的时候,单纯依赖人的经验规避此问题难度较大。当流程实例开始执行后,因为此安全性风险导致流程实例的控制流和数据流发生混乱更是难以排查。
2.缺少在不增加额外模型信息的前提下执行时提供某种同步控制。
现有技术为了在“事前”规避分支重复执行这个安全性风险,在流程模型的元模型上进行扩充,增加相应声明,为模型的安全执行提供基础。但此方法的前提是要求设计者意识到该风险,这又回到第一个不足。如果工作流管理系统在“事中”(执行时)具备某种安全执行策略,提高执行过程的安全性,以此确保分支重复执行是符合模型设计者意愿并且可控。
发明内容
本发明要解决的技术问题是提供一种流程模型安全性验证方法及装置,从而在实际执行之前解决设计得到的工作流中的分支重复执行问题,提高了工作流的安全性。
为解决上述技术问题,本发明提供了一种流程模型安全性验证方法,所述方法包括:识别工作流中包含的基本结构;识别所述基本结构之间的关系,其中,所述关系包括:独立、嵌套及交叉;根据所述基本结构,以及基本结构之间的关系,判断流程模型是否安全;其中,当符合预设规则时,判断流程模型安全,所述预设规则包括:
规则一:只由简单节点构成;
规则二:对于分支合并结构,分支节点类型与合并节点类型相同,并且其内部只包含简单节点或嵌套有符合本规则的分支合并结构;
规则三:对于分支合并结构,除了内部嵌套有符合规则二的结构之外,只嵌套或交叉有以Eall为开始节点的分支结构或分支合并结构;其中,Eall表示全分支集合;
规则四:对于分支合并结构,如果以Exor为开始节点且以xorE为结束节点,除了内部嵌套有符合规则二的结构之外,只嵌套有以Exor为开始节点的分支结构;其中,Exor表示异或分支集合;xorE表示异或合并集合;
规则五:对于循环结构,若除了包含简单节点之外,仅嵌套有安全结构;
规则六:对于由起始、结束节点a,b形成的无循环路径的安全结构S1,由起始结束节点p,q形成的安全循环结构S2,若满足以下条件,则S1嵌套S2或S1交叉S2形成的结构仍为安全结构:
a)E;其中,allE表示全合并集合;
b)p∈S1∩S2且p≠a;
c)满足e′∈e*,e′∈S2且t=e×e′是循环转移;其中,e*为节点e的输出集;
d)e的循环转移与非循环转移的条件不能同时为真。
在一些实施方式中,所述基本结构包括:顺序结构、分支结构、合并结构、分支合并结构和循环结构;识别工作流中包含的基本结构,包括:识别工作流中各个节点的类型,所述节点包括:简单节点、分支节点、合并节点;识别节点之间的路径;根据路径之间的空间关系,识别基本结构的类型;根据路径之间的空间关系,识别顺序结构,包括:选择一条未扫描过的主路径,若存在则从该主路径的开始节点出发进行扫描;确认当前节点的类型,若为简单节点则将此节点追加至正在识别的顺序结构,否则停止搜索;搜索指针将向后搜索其后继节点,若存在则确认后继节点的类型,若不存在则停止搜索;停止对当前顺序结构的识别,并确认已识别到的模型区域中是否节点数量大于等于2;如果是,则对已识别到的顺序结构进行标记;如果否,则放弃对已识别到的模型区域的标记;确认当前节点是否为过程的结束节点;根据路径之间的空间关系,识别分支结构,包括:设聚合点集合与分支结构集合初始都为空;将过程中的合并节点添加至聚合点集合中;若聚合点集合不为空,取出其中一个节点元素,并判断该节点的聚焦点是否为指定的分支节点,若是可判定该分支节点不能形成分支结构,若不是则将该合并节点从聚合点集合中删除,并由聚合点集合取出下一个节点元素;若取出的节点是指定的分支节点,判定该分支节点形成的是一个分支结构,并将该分支节点及其后继转移中非循环转移所连接的节点加入分支结构集合;根据路径之间的空间关系,识别合并结构,包括:设合并结构集合初始为空;若存在指定合并节点的聚焦点则可判定该合并节点不能形成合并结构,若不存在指定的合并节点的聚焦点,转入下一个步骤;可判定该合并节点形成的是一个合并结构,并将该合并节点及其前驱转移中非循环转移所连接的节点加入合并结构集合;根据路径之间的空间关系,识别嵌套结构,包括:设嵌套结构集合A为空;首先识别出所有基本结构{S1,S2,…,Sn};选取其中所有非顺序结构作为待识别父结构集P;选取二元组(p,Si),其中p∈P,Si∈{S1,S2,…,Sn},并且,如果属于以下情况则略过此次比较:a)p是分支合并结构并且Si是合并结构;b)p是循环结构并且Si是合并结构;c)(p,Si)已经在嵌套结构集A中;对p与Si中元素进行比较,如果满足以下任一条件则p嵌套Si:d) 是Si的出结构转移,并且t的后继节点y∈p;f)/>是Si的入结构转移,并且t的前驱节点x∈p;将二元组(p,Si)放入集合A中,从P中去除p,重复比较步骤遍历P中剩余内容;算法结束。
在一些实施方式中,还包括:识别工作流的模式区域;创建、初始化流程实例和模式区域实例;在工作流的运行过程中,通过锁、互斥量、信号量的方式,对所述工作流进行同步控制。
在一些实施方式中,所述模式区域包括:顺序模式、同步模式、简单合并模式、结构化同步合并模式、结构化部分合并模式、取消部分合并模式、异步多实例模式,以及结构化循环模式。
在一些实施方式中,所述顺序模式的识别方式为:识别独立出现的顺序结构;同步模式的识别方式为:以Eall和allE作为开始节点和结束节点;简单合并模式的识别方式为:合并结构或分支合并结构,以xorE作为结束节点;结构化同步合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;结构化部分合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;取消部分合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;异步多实例模式的识别方式为:|*e|>1的orE或xorE;结构化循环模式的识别方式为:单入口/单出口的循环结构,即循环结构内的节点上不允许出现出/入结构转移;其中,Eand表示与分支集合;andE表示与合并集合;orE表示或合并集合;*e为节点e的输入集。
在一些实施方式中,创建、初始化流程实例和模式区域实例,包括:在流程推进的过程中,工作流引擎要基于工作流模型中已经标识好的模式区域判断是否进入新的模式区域,如果是,则要创建对应的模式区域实例。
在一些实施方式中,在工作流的运行过程中,通过锁、互斥量、信号量的方式,对所述工作流进行同步控制,包括:根据模式区域实例的状态信息及状态转换机制,进行同步控制。
在一些实施方式中,所述状态信息包括:初始化、执行中、阻塞、完成、复位、终止。
此外,本发明还提供了一种流程模型安全性验证装置,所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的流程模型安全性验证方法。
采用这样的设计后,本发明至少具有以下优点:
本发明对安全结构的识别是通过对工作流模型结构中基本结构以及各基本结构之间关系的识别后,再结合本专利的算法过滤出不安全的结构,能够在实际执行之前解决设计得到的工作流中的分支重复执行问题,提高了工作流的安全性。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是投票工作流程的流程图;
图2是流程模型安全性验证方法的流程图;
图3是合并结构的工作流程的示意图;
图4是分支-合并结构的工作流程的示意图;
图5是嵌套关系的示意图;
图6是交叉关系的示意图;
图7是设计期和执行期间流程实例的同步控制的流程图;
图8是顺序模式的示意图;
图9是同步模式的示意图;
图10是简单合并模式的示意图;
图11是结构化同步合并模式的示意图;
图12是结构化部分合并模式的示意图;
图13是取消部分合并模式的示意图;
图14是一种结构化循环模式的示意图;
图15是另一种结构化循环模式的示意图;
图16是模式区域实例与流程实例之间的关系示意图;
图17是模式区域实例的状态转换机制的示意图;
图18是流程模型安全性验证装置的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
工作流管理系统:是上层业务系统运行所需的一个软件的支撑环境,它关注的是业务流程的易变性。它按照在计算机中预先定义好的工作流逻辑(工作流模型)推进流程实例的执行,和其他业务系统配合驱动业务流程的推进。
工作流模型:工作流模型包括元模型层、模型层。元模型层描述了工作流的各种元素、元素间的关系及元素属性,是用于定义语义模型的构造规则,因此可称之为定义表达模型的模型。模型层是对元模型层上的元模型实体、控制结构、数据结构等进行更加抽象的表达(一般是以图形方式),用于描述实际业务过程,所以又叫流程定义。在不强调说明的情况下,工作流模型术语指的是模型层。由于每种工作流产品都提出了自己的流程定义语言,所以具体表达方式并不唯一,例如旨在作为工作流产品标准的工作流管理联盟WFMC提出的工作流过程定义语言WPDL,以及由BPMI(Bus iness Process Management&Improvement)开发的一套业务流程建模符号BPMN等。
工作流引擎:是工作流管理系统的核心组成部分,负责解释工作流模型,当外部触发启动一个业务流程时,它会根据工作流模型创建对应的流程实例,执行过程中会创建模型中节点对应的活动实例,并根据工作流模型中的控制规则协调活动之间的顺序关系,并完成活动之间的数据传递。
多实例节点:工作流模型中的一种特殊节点,它所代表的活动的实例数量可以有多个,可以并行执行也可以串行执行。它是导致控制流并发现象的重要因素,与本专利关注的分支重复执行的安全性问题高度相关。
工作流模式:由荷兰埃因霍温理工大学教授Aalst等人于2000年提出的(2006年扩充)用于解决特定的业务需求而提供的工作流样式(从过程控制视角提出),它是独立于各种工作流模型语言和实现技术的。为比较不同工作流过程定义语言的表达能力和适用性提供了一个有效的基础框架,被广泛用于多种工作流产品和标准的评估与比较。工作流模式目前已发展为43种,这些模式从简单到复杂,描述了工作流管理系统为了支持广泛的业务过程要处理的业务需求。
工作流合理性:是荷兰埃因霍温理工大学教授Aalst等人在其工作流模式理论基础上提出的工作流正确运行所必须满足的约束。
本发明基于荷兰埃因霍温理工大学Aalst教授等人的提出的工作流模式理论和工作流合理性理论,提出了安全结构概念,定义为:对于工作流模型的某个局部区域,满足以下三点即认为该区域是安全结构:
1)该结构具有唯一的开始节点、结束节点;
2)若开始节点执行一次,则结束节点必然执行一次;
3)结构中不包含多实例节点。
如果一个工作流模型的所有局部区域都是安全结构,就不会有分支重复执行的风险。
本发明对安全结构的识别是通过对工作流模型结构中基本结构以及各基本结构之间关系的识别后,再结合本专利的算法过滤出不安全的结构。识别方法关注的是工作流模型的静态结构,所以只在工作流模型的设计期使用,不涉及运行时。本发明提供流程模型安全性验证方法的步骤如图2所示。参见图2,流程模型安全性验证方法包括:
S21,识别工作流中包含的基本结构。
S22,识别所述基本结构之间的关系,其中,所述关系包括:独立、嵌套及交叉。
S23,根据所述基本结构,以及基本结构之间的关系,判断流程模型是否安全。
虽然各种工作流产品工作流模型的表达方式并不唯一,例如由WFMC提出的WPDL,由BPMI提出的BPMN等,但共同特征是都具有节点和转移的概念。节点是工作流模型中的一个独立执行单位,代表一种活动。转移是节点和节点之间的有向联系。从结构上区分节点可以分为以下类型:
简单节点:最多只有一个前驱或后继节点的节点。
分支节点:后继节点大于一个的节点。
合并节点:前驱节点大于一个的节点。
全分支节点:一种分支节点,每个分支都会被触发。
全合并节点:一种合并节点,所有分支到达后才被会触发。
异或分支节点:一种分支节点,有且只有一个分支会被触发。
异或合并节点:一种合并节点,有且只有一个分支到达后才被会触发。
与分支节点:一种分支节点,指定数量的分支会被触发。
或合并节点:一种合并节点,至少有一个分支到达后都可触发。
并且这些工作流模型表达方式也都具有五种基本结构:顺序结构、分支结构、合并结构、分支-合并结构和循环结构。其中对于分支、合并结构又分为全分支、与分支、异或分支、全合并、与合并、或合并和异或合并,具体如图3及图4所示。
通过本专利的算法可以识别出这些基本元素和结构。为了便于后续算法表达,做如下定义:
E表示节点集,E0表示初始节点(即没有输入的节点),Ef表示结束节点集合(即没有输出的节点)。
F表示由单个转移连接起来的两个紧邻节点的组合关系。
简单节点:对于工作流模型中某节点e∈E,若|e*|≤1且|*e|≤1,则称节点e为简单节点,由简单节点形成的集合记为E。
分支节点:对于工作流模型中某节点e∈E,若|e*|>1,则称节点e为分支节点,由分支节点形成的集合记为Esplit,更细分时则用Eall表示全分支,Eand表示与分支,Exor表示异或分支。
合并节点:对于工作流模型中某节点e∈E,若|*e|>1,则称节点e为合并节点,由合并形成的集合记为joinE,更细分时则用allE表示全合并,andE表示与合并,orE表示或合并,xorE表示异或合并。
输出集:对于工作流模型中某节点e∈E,称集合e*={b|(e,b)∈F}为节点e的输出集,|e*|表示输出集中节点元素的数量。
输入集:对于工作流模型中某节点e∈E,称集合*e={a|(a,e)∈F}为节点e的输入集,|*e|表示输入集中节点元素的数量。
路径:令L=e1,e2,…,en是一个序列,e∈E(i=1,2,...,n),且(ei,ei+1)∈F(i=1,2,...,n-1),则称e1,e2,...,en为工作流模型的一条L路径,且称ei∈L(i=1,2,...,n),L的长度为n。
非循环路径:对于工作流模型中的一条路径L=e1,e2,...,en,若则称L为一条非循环路径。
主路径:对于工作流模型中的一条非循环路径L=e1,e2,...,en,若e1=E0并且en∈Ef,则称L为工作流模型的一条主路径,出现在主路径上的转移称为非循环转移。
循环路径:对于工作流模型中的一条路径L=e1,e2,...,en,若en的后继节点中则称L=e1,e2,...,en,en+1为一条循环路径,出现在主路径之外而在循环路径上的转移称为循环转移。
必经点:对于工作流模型中某节点y∈E和从E0到y节点的非循环路径L,当且仅当x∈L,则称x为y的必经点。
聚焦点:对于工作流模型中的某节点y∈join E,若在y的必经点中与y距离最短,则称x为y的聚焦点,可以证明聚焦点是唯一的。
聚合点:对于工作流模型中的某节点x∈Esplit,若E使得x为y的聚焦点,则称y为x的聚合点,此时x为y形成聚焦/聚合关系。
算法一:识别流程模型中的所有主路径与循环路径
1.初始化stack栈,其用于存放3项内容:第1项为层号(初始值为1,不是必要项),第2项为该层上的初始节点,第3项为到达该层初始节点的路径L(初始为空);
2.搜索指针从过程的开始节点处开始扫描,并判断当前节点ei类型,若则转入步骤3,若ei∈Esplit则转入步骤4,若ei∈Ef则转入步骤6;
3.将当前节点ei追加至当前正在识别的路径L,并将搜索指针移至该节点的后继节点,转入步骤2;
4.将当前节点ei追加至当前正在识别的路径L,并依次判断其后继节点e∈e*是否属于路径L,若e∈L则将节点e、当前层号、及路径L压入栈中(若满足条件的后继节点数量为n,则需要向栈实施n次压入操作),并将当前层号加1;若则将L=e1,e2,...,ei,ei+1标记为一条循环路径(其中循环转移(ei,e)可以用于界定循环结构);
5.若栈不为空,弹出栈顶,并将搜索指针移至栈顶节点处,转入步骤2,若栈为空,转入步骤7;
6.将当前节点追加至当前正在识别的路径L,并将当前已识别到的路径L标记为一条主路径,转入步骤5;
7.算法结束。
算法二:识别顺序结构
1.选择一条未扫描过的主路径,若存在则从该主路径的开始节点出发进行扫描并转入步骤2,若不存在则直接转入步骤5;
2.确认当前节点的类型,若为简单节点则将此节点追加至正在识别的顺序结构并转入步骤3,否则转入步骤4;
3.搜索指针将向后搜索其后继节点,若存在则转入步骤2,若不存在则转入步骤4;
4.停止对当前顺序结构的识别,并确认已识别到的模型区域中是否节点数量n≥2:
a)如果是,则对已识别到的顺序结构进行标记;
b)如果否,则放弃对已识别到的模型区域的标记;
确认当前节点是否为过程的结束节点:
a)如果是,则转入步骤1;
b)如果否,则转入步骤3。
5.算法结束。
算法三:识别独立出现的顺序结构
1.从过程的开始节点出发进行扫描;
2.确认当前节点的类型,若为简单节点则将此节点追加至正在识别的顺序结构并转入步骤3,否则转入步骤4;
3.搜索指针向后搜索其后继节点,若存在则转入步骤2,若不存在则停止对当前顺序结构的识别,并确认已识别到的模型区域中是否节点数量n≥2:
a)如果是,则对已识别到的顺序结构进行标记;
b)如果否,则放弃对已识别到的模型区域的标记,转入步骤5。
4.进一步确认当前节点的具体类型是合并节点还是分支节点:
a)如果是分支节点,则寻找与该分支节点形成聚合关系的层数最大的合并节点(参见算法四)。如果存在,则将扫描器移至该合并节点并转入步骤2;如果不存在,则直接转入步骤5;
b)如果是合并节点,则寻找该合并节点的后继节点。如果存在,则将扫描器移至该后继节点并转入步骤2;如果不存在,则直接转入步骤5;
5.算法结束。
算法四:寻找与指定的分支节点形成聚合关系的层数最大的合并节点
1.设集合A初始为空;
2.将模型中所有的合并节点放入集合A中;
3.遍历集合A中的每一个节点元素,若该元素的聚焦点不是指定的分支节点,则从集合A中删除该元素;
4.若集合A不为空,再次遍历集合A,找到其中层数最大的则为最终要寻找的合并节点;
5.算法结束。
算法五、识别聚焦点与分支合并结构
1.设聚焦点集合A与分支合并结构集合B初始都为空;
2.将指定的合并节点加入集合A中;
3.将集合A中层数最大的节点取出并加入集合B中,并求出它的父节点,如果该父节点不在集合中就将其父节点加入集合A,否则不加入;
4.若集合A中只有一个节点元素则转入步骤5,否则转入步骤3;
5.集合A中的节点就是所求的聚焦点,将它加入集合B,则集合B中的节点元素构成了该合并节点和它的聚焦点之间的分支合并结构;
6.算法结束。
算法六、识别分支结构
1.设聚合点集合A与分支结构集合B初始都为空;
2.将过程中的合并节点添加至集合A中;
3.若集合A为空则转入步骤4,若集合A不为空,取出其中一个节点元素,并判断该节点的聚焦点(参见算法七)是否为指定的分支节点,若是可判定该分支节点不能形成分支结构,若不是则将该合并节点从集合A中删除,转入步骤3;
4.可判定该分支节点形成的是一个分支结构,并将该分支节点及其后继转移中非循环转移所连接的节点加入集合B;
5.算法结束。
算法七、识别合并结构
1.设合并结构集合A初始为空;
2.若存在指定合并节点的聚焦点(参见算法五)则可判定该合并节点不能形成合并结构,若不存在指定的合并节点的聚焦点,转入步骤3;
3.可判定该合并节点形成的是一个合并结构,并将该合并节点及其前驱转移中非循环转移所连接的节点加入集合A;
4.算法结束。
算法八、识别由循环转移t=en×e1所界定循环结构
1.设循环结构集合A初始为空;
2.利用算法一,查找所有由循环转移t=en×e1形成的循环路径L=e1,e2,...,en,en+1;
3.遍历其中每一条循环路径L中的节点ei∈L,若ei不在集合A中,则将节点ei加入集合A,否则不加入;
4.集合A中的节点元素构成了由循环转移t=en×e1所界定循环结构;
5.算法结束。
基本结构之间的关系包括:独立、嵌套和交叉。
独立:一个结构不与其它任何结构出现嵌套或交叉的情况;
嵌套:一个结构对应的模型区域覆盖了另一个结构的模型区域。如图5所示,结构1中嵌套了分支结构2、分支-合并结构3、循环结构4以及一些顺序结构。
交叉:一个结构对应的模型区域部分覆盖了另一个结构的模型区域。如图6所示,分支-合并结构1与分支-合并结构2形成了交叉,循环结构3与结构1和结构2都形成了交叉。
通过本专利的算法可以识别出这些基本结构之间的关系。为了便于后续算法表达,做如下定义:
出结构转移:设S工作流模型中的一个基本结构,若t∈F,使得该转移t的前驱节点x∈S而该转移t的后继节点则称转移t为S的一条出结构转移。
入结构转移:设S工作流模型中的一个基本结构,若t∈F,使得该转移t的前驱节点而该转移t的后继节点y∈S,则称转移t为S的一条入结构转移。
算法九:识别嵌套结构
1.设嵌套结构集合A为空;
2.首先基于算法一至算法八识别出所有基本结构{S1,S2,…,Sn};
3.选取其中所有非顺序结构作为待识别父结构集P;
4.选取二元组(p,Si),其中p∈P,Si∈{S1,S2,...,Sn}。如果属于以下情况则略过此次比较:
a)p是分支合并结构并且Si是合并结构;
b)p是循环结构并且Si是合并结构;
c)(p,Si)已经在结果集A中;
5.对p与Si中元素进行比较,如果满足以下任一条件则p嵌套Si:
a)
b)是Si的出结构转移,并且t的后继节点y∈p;
c)是Si的入结构转移,并且t的前驱节点x∈p;
6.将二元组(p,Si)放入集合A中,从P中去除pp,重复步骤4遍历P中剩余内容;
7.算法结束。
算法十:识别交叉结构
1.设交叉结构集合A为空;
2.首先基于算法一至算法八识别出所有基本结构{S1,S2,...,Sn};
3.选取其中所有非顺序结构作为待识别父结构集P;
4.选取二元组(pi,pj),其中{pi∈P,pj∈P,pi≠pj},对其二者元素进行比较,如果满足以下任一条件则pi与pj交叉出现:
且/>
是任一结构的入结构转移,并且t的后继节点y∈pi^y∈pj;
是任一结构的出结构转移,并且t的前驱节点x∈pi^x∈pj;
5.将由e放入集合l中,将三元组(pi,pj,l)放入集合A中,从P中去除pi和pj,重复步骤4遍历P中剩余内容;
6.算法结束。
算法十一:识别独立结构
1.设独立结构集合A为空;
2.首先基于算法一至算法八识别出所有基本结构{S1,S2,...,Sn};
3.基于算法九和算法十识别出的嵌套和交叉结构集合An和A0;
4.对于存在于{S1,S2,...,Sn}中,且不存在于An或A0中的结构即为独立结构;
5.算法结束。
识别出工作流模型的基本结构和结构间关系后,通过本专利的判定规则可过滤出不安全的结构,然后通过某种交互方式给予用户提示。判断是安全结构的规则如下:
规则一、只由简单元素构成;
规则二、对于分支合并结构,分支节点类型与合并节点类型相同,并且其内部只包含简单元素或嵌套有符合本规则的分支合并结构;
规则三、对于分支合并结构,除了内部嵌套有符合规则二的结构之外,只嵌套或交叉有以Eall为开始节点的分支结构或分支合并结构;
规则四、对于分支合并结构,如果以Exor为开始节点且以xorE为结束节点,除了内部嵌套有符合规则二的结构之外,只嵌套有以Exor为开始节点的分支结构;
规则五、对于循环结构,若除了包含简单节点之外,仅嵌套有安全结构;
规则六、对于由起始、结束节点a,b形成的无循环路径的安全结构S1,由起始结束节点p,q形成的安全循环结构S2,若满足以下条件,则S1嵌套S2或S1交叉S2形成的结构仍为安全结构:
a)
b)p∈S1∩S2且p≠a;
c)满足e′∈e*,e′∈S2且t=e×e′是循环转移;
d)e的循环转移与非循环转移的条件不能同时为真。
提高流程执行过程安全性的方法:
为了保证工作流模型的灵活性,在设计期如果检查出不安全结构也只是给予用户提示,否则限制过于严格会降低工作流模型表达能力。那么在执行期如果出现了分支重复执行,如何确保是符合模型设计者意愿并且是可控的?本发明的办法是在识别出工作流模型基本结构后,结合工作流模式理论和工作流合理性理论,识别出在执行时有安全性要求的模式区域,这些信息被用于在流程实例执行时进行必要的同步控制。该方法涉及流程模型的设计期和执行期。主要步骤如图7所示。
基于工作流合理性理论,本发明归纳出有安全性要求的模式区域包括:
1)顺序模式(Sequence):代表一系列顺序执行的活动。安全性要求是在执行结束之前是不能被再次激发。如图8所示。
2)同步模式(Synchronization):代表一种合并结构,通过合并点的前提是每个分支都执行完毕。安全性要求是在等待分支合并的过程中,已合并的分支不能被重复激活。另外,本模式可能存在死锁问题,如果在合并点之前的某一条分支上的活动无法成功执行,那么在合并点将永远无法合并。如图9所示。
3)简单合并模式(Simple Merge):代表一种合并结构,任何一条输入分支的执行都将会激发合并点后活动的执行。安全性要求是不允许合并点的输入分支并发执行,即不允许多个分支同时触发合并点后继活动。如图10所示。
4)结构化同步合并模式(Structured Synchronizing Merge):代表一种分支-合并结构,即合并点之前必须出现与之配对的分支结构。安全性要求是在等待分支合并的过程中,已合并的分支不能被重复激活。如图11所示。
5)结构化部分合并模式(Structured Partial Join):代表一种分支-合并结构,特点是在合并点处m条输入分支中的n条(2≤n<m)执行完成后,将会激发合并点的后续活动,之后其它分支的执行将被“忽略”。一旦所有输入分支都执行完成,合并结构将重新复位以便再次被激发。安全性要求是在合并结构复位之前,已经被激发的输入分支不能被重复激发。如图12所示。
6)取消部分合并模式(Cancelling Partial Join):代表一种分支-合并结构,与部分合并模式的差别是m-n条分支的执行将被取消,然后合并结构将重新复位以便再次被激发。安全性要求是在合并结构复位之前,已经被激发的输入分支不能被重复激发。如图13所示。
7)异步多实例模式(Multiple Instances without Synchronization):在流程执行期间可创建一个活动的多个实例,且多个实例之间相互独立执行无需同步。安全性要求是在多个活动实例的创建期间后续活动不能激发,并要求能够创建的实例数量在过程设计时静态确定。
8)结构化循环模式(Structured Loop):代表流程中的一个活动或子流程可以重复执行。安全性要求是在一次循环执行过程中不能有活动被重复激活。如图14或者图15所示。
通过以上对模式区域的分析,可以发现模式区域是由工作流模型的基本结构组成的,因此可以通过基本结构来识别模式区域,识别规则如表一所示。
表一
创建、初始化流程实例和模式区域实例:
当外部触发启动一个业务流程时,工作流引擎会根据工作流模型创建对应的流程实例,在流程推进的过程中,工作流引擎要基于工作流模型中已经标识好的模式区域判断是否进入新的模式区域,如果是,则要创建对应的模式区域实例。然后根据模式区域的状态和前文提到的安全性要求协调、控制活动的转移。
模式区域实例的状态控制:
通过研究工作流合理性理论发现,保证模式区域的安全性实质上是保证模式区域安全执行(受保护)的时间区间,进而保证工作流的执行是正确可控的。为了让有安全要求的模式区域受保护的执行,我们引入模式区域实例的概念,它和流程实例的关系如图16所示。
在工作流执行时,流程引擎需要根据前文提到的模式区域识别阶段识别出的模式区域标识,为流程实例创建相应的模式区域实例集合,控制并管理模式区域实例的状态信息。本发明给出了各状态定义及转换机制,如图17所示。
各基本状态的含义如下:
初始化:当流程实例的控制流进入被标识的模式区域的开始节点时(实例化开始节点时),该区域的状态则转入初始化状态。此状态下主要完成相应的准备工作。
执行中状态:当被标识的模式区域的初始化工作结束之后转入执行中状态。
阻塞:在被标识的模式区域执行过程中,可能由于事件、资源等原因导致执行被暂停,即由运行中状态转入阻塞状态,当导致阻塞的原因消除后,被标识的模式区域的状态可由阻塞态重新转入执行中状态继续执行。也可根据情况直接转入初始化状态或终止状态。
完成:正常完成状态,即正常执行到被标识的模式区域的结束节点。此状态下主要完成善后处理工作,如回收资源等。
复位:对于结构化部分合并模式、取消部分合并模式有意义的状态,该状态表示已经接收到所有来自并行分支上的控制流后,对剩余的m-n条活动分支进行了取消。
终止:非正常完成状态。如在被标识的模式区域执行过程中出现异常、接收到工作流引擎发出的强制完成命令等。此状态下需要执行诸如回收资源、恢复状态、恢复数据等任务。另外引擎需要决策是继续执行后续流程还是直接转入流程实例的终止状态。
安全执行策略:
在模式区域实例由初始化状态开始到结束状态(完成状态、复位状态或终止状态)为止的这段时间中,工作流引擎必须保证流程实例的执行符合该模式区域的安全性要求,可以通过锁、互斥量、信号量等方式实现同步控制。
图18示出了本发明流程模型安全性验证装置的结构图。参见图18,流程模型安全性验证装置包括:中央处理单元(CPU)1801,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分1808加载到随机访问存储器(RAM)1803中的程序而执行各种适当的动作和处理。在RAM 1803中,还存储有系统操作所需的各种程序和数据。CPU 1801、ROM 1802以及RAM 1803通过总线1804彼此相连。输入/输出(I/O)接口1805也连接至总线1804。
以下部件连接至I/O接口1805:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至I/O接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种流程模型安全性验证方法,其特征在于,包括:
识别工作流中包含的基本结构;
识别所述基本结构之间的关系,其中,所述关系包括:独立、嵌套及交叉;
根据所述基本结构,以及基本结构之间的关系,判断流程模型是否安全;其中,当符合预设规则时,判断流程模型安全,所述预设规则包括:
规则一:只由简单节点构成;
规则二:对于分支合并结构,分支节点类型与合并节点类型相同,并且其内部只包含简单节点或嵌套有符合本规则的分支合并结构;
规则三:对于分支合并结构,除了内部嵌套有符合规则二的结构之外,只嵌套或交叉有以Eall为开始节点的分支结构或分支合并结构;其中,Eall表示全分支集合;
规则四:对于分支合并结构,如果以Exor为开始节点且以xorE为结束节点,除了内部嵌套有符合规则二的结构之外,只嵌套有以Exor为开始节点的分支结构;其中,Exor表示异或分支集合;xorE表示异或合并集合;
规则五:对于循环结构,若除了包含简单节点之外,仅嵌套有安全结构。
2.根据权利要求1所述的流程模型安全性验证方法,其特征在于,所述基本结构包括:顺序结构、分支结构、合并结构、分支合并结构和循环结构;
识别工作流中包含的基本结构,包括:
识别工作流中各个节点的类型,所述节点包括:简单节点、分支节点、合并节点;
识别节点之间的路径;
根据路径之间的空间关系,识别基本结构的类型;
根据路径之间的空间关系,识别顺序结构,包括:
选择一条未扫描过的主路径,若存在则从该主路径的开始节点出发进行扫描;
确认当前节点的类型,若为简单节点则将此节点追加至正在识别的顺序结构,否则停止搜索;
搜索指针将向后搜索其后继节点,若存在则确认后继节点的类型,若不存在则停止搜索;
停止对当前顺序结构的识别,并确认已识别到的模型区域中是否节点数量大于等于2;如果是,则对已识别到的顺序结构进行标记;如果否,则放弃对已识别到的模型区域的标记;确认当前节点是否为过程的结束节点;
根据路径之间的空间关系,识别分支结构,包括:
设聚合点集合与分支结构集合初始都为空;
将过程中的合并节点添加至聚合点集合中;
若聚合点集合不为空,取出其中一个节点元素,并判断该节点的聚焦点是否为指定的分支节点,若是则判定该分支节点不能形成分支结构,若不是则将该合并节点从聚合点集合中删除,并由聚合点集合取出下一个节点元素;
若取出的节点是指定的分支节点,判定该分支节点形成的是一个分支结构,并将该分支节点及其后继转移中非循环转移所连接的节点加入分支结构集合;
根据路径之间的空间关系,识别合并结构,包括:
设合并结构集合初始为空;
若存在指定合并节点的聚焦点则判定该合并节点不能形成合并结构,若不存在指定的合并节点的聚焦点,转入下一个步骤;
判定该合并节点形成的是一个合并结构,并将该合并节点及其前驱转移中非循环转移所连接的节点加入合并结构集合;
根据路径之间的空间关系,识别嵌套结构,包括:
设嵌套结构集合A为空;
首先识别出所有基本结构{S1,S2,…,Sn};
选取其中所有非顺序结构作为待识别父结构集P;
选取二元组(p,Si),其中p∈P,Si∈{S1,S2,…,Sn},并且,如果属于以下情况则略过此次比较:a)p是分支合并结构并且Si是合并结构;b)p是循环结构并且Si是合并结构;c)(p,Si)已经在嵌套结构集A中;
对p与Si中元素进行比较,如果满足以下任一条件则p嵌套Si:d)e)/>是Si的出结构转移,并且t的后继节点y∈p;f)/>是Si的入结构转移,并且t的前驱节点x∈p;
将二元组(p,Si)放入集合A中,从P中去除p,重复比较步骤遍历P中剩余内容;
识别结束。
3.根据权利要求1所述的流程模型安全性验证方法,其特征在于,还包括:
判断是否安全之后,识别工作流的模式区域;
创建、初始化流程实例和模式区域实例;
在工作流的运行过程中,通过锁、互斥量、信号量的方式,对所述工作流进行同步控制。
4.根据权利要求3所述的流程模型安全性验证方法,其特征在于,所述模式区域包括:顺序模式、同步模式、简单合并模式、结构化同步合并模式、结构化部分合并模式、取消部分合并模式、异步多实例模式,以及结构化循环模式。
5.根据权利要求4所述的流程模型安全性验证方法,其特征在于,所述顺序模式的识别方式为:识别独立出现的顺序结构;同步模式的识别方式为:以Eall和allE作为开始节点和结束节点;简单合并模式的识别方式为:合并结构或分支合并结构,以xorE作为结束节点;结构化同步合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;结构化部分合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;取消部分合并模式的识别方式为:分支合并结构,以Eand和andE作为开始节点和结束节点;异步多实例模式的识别方式为:|*e|>1的orE或xorE;结构化循环模式的识别方式为:单入口/单出口的循环结构,即循环结构内的节点上不允许出现出/入结构转移;其中,Eand表示与分支集合;andE表示与合并集合;orE表示或合并集合;*e为节点e的输入集。
6.根据权利要求5所述的流程模型安全性验证方法,其特征在于,创建、初始化流程实例和模式区域实例,包括:
在流程推进的过程中,工作流引擎要基于工作流模型中已经标识好的模式区域判断是否进入新的模式区域,如果是,则要创建对应的模式区域实例。
7.根据权利要求3所述的流程模型安全性验证方法,其特征在于,在工作流的运行过程中,通过锁、互斥量、信号量的方式,对所述工作流进行同步控制,包括:
根据模式区域实例的状态信息及状态转换机制,进行同步控制。
8.根据权利要求7所述的流程模型安全性验证方法,其特征在于,所述状态信息包括:初始化、执行中、阻塞、完成、复位、终止。
9.一种流程模型安全性验证装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的流程模型安全性验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911049337.0A CN110807587B (zh) | 2019-10-31 | 2019-10-31 | 流程模型安全性验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911049337.0A CN110807587B (zh) | 2019-10-31 | 2019-10-31 | 流程模型安全性验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807587A CN110807587A (zh) | 2020-02-18 |
CN110807587B true CN110807587B (zh) | 2023-08-15 |
Family
ID=69489660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911049337.0A Active CN110807587B (zh) | 2019-10-31 | 2019-10-31 | 流程模型安全性验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807587B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308541B (zh) * | 2020-12-29 | 2021-05-07 | 南京智闪萤科技有限公司 | 处理审批业务流程的方法、计算设备和计算机存储介质 |
CN114499941B (zh) * | 2021-12-22 | 2023-08-04 | 天翼云科技有限公司 | 流量检测模型的训练、检测方法及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2216667A1 (en) * | 1997-09-24 | 1999-03-24 | Curtis Hrischuk | A method of determining causal connections between events recorded during process execution |
US6324496B1 (en) * | 1998-06-18 | 2001-11-27 | Lucent Technologies Inc. | Model checking of hierarchical state machines |
CA2708768A1 (en) * | 2007-12-12 | 2009-06-18 | 3M Innovative Properties Company | Identification and verification of an unknown document according to an eigen image process |
US7805327B1 (en) * | 2002-07-31 | 2010-09-28 | Sap Aktiengesellschaft | Transformations between combined and individual workflows |
WO2012039704A1 (en) * | 2010-09-21 | 2012-03-29 | Hewlett-Packard Development Company, L.P. | Application of differential policies to at least one digital document |
CN102902804A (zh) * | 2012-10-15 | 2013-01-30 | 南京大学 | 一个高效的bpel服务动态更新方法 |
CN102916963A (zh) * | 2012-10-26 | 2013-02-06 | 中国人民解放军信息工程大学 | 一种数据安全交换方法、装置、节点及系统 |
CN103714425A (zh) * | 2013-12-24 | 2014-04-09 | 南京师范大学 | 一种电力企业工作流程结构验证方法 |
CN103778519A (zh) * | 2014-03-04 | 2014-05-07 | 南京大学 | 一种基于安全状态的工作流实例可迁移性判定方法 |
JP2016062301A (ja) * | 2014-09-18 | 2016-04-25 | 日本電気株式会社 | ワークフロー生成装置、ワークフロー生成方法及びワークフロー生成プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653566B2 (en) * | 2000-11-30 | 2010-01-26 | Handysoft Global Corporation | Systems and methods for automating a process of business decision making and workflow |
US8332864B2 (en) * | 2003-06-12 | 2012-12-11 | Reuters America Inc. | Business process automation |
US8230042B2 (en) * | 2005-04-19 | 2012-07-24 | International Business Machines Corporation | Policy based auditing of workflows |
US20090198548A1 (en) * | 2008-02-05 | 2009-08-06 | Mathias Kohler | System to avoid policy-based deadlocks in workflow execution |
EP3186708A4 (en) * | 2014-08-28 | 2018-02-21 | EntIT Software LLC | Workflow customization |
-
2019
- 2019-10-31 CN CN201911049337.0A patent/CN110807587B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2216667A1 (en) * | 1997-09-24 | 1999-03-24 | Curtis Hrischuk | A method of determining causal connections between events recorded during process execution |
US6324496B1 (en) * | 1998-06-18 | 2001-11-27 | Lucent Technologies Inc. | Model checking of hierarchical state machines |
US7805327B1 (en) * | 2002-07-31 | 2010-09-28 | Sap Aktiengesellschaft | Transformations between combined and individual workflows |
CA2708768A1 (en) * | 2007-12-12 | 2009-06-18 | 3M Innovative Properties Company | Identification and verification of an unknown document according to an eigen image process |
WO2012039704A1 (en) * | 2010-09-21 | 2012-03-29 | Hewlett-Packard Development Company, L.P. | Application of differential policies to at least one digital document |
CN102902804A (zh) * | 2012-10-15 | 2013-01-30 | 南京大学 | 一个高效的bpel服务动态更新方法 |
CN102916963A (zh) * | 2012-10-26 | 2013-02-06 | 中国人民解放军信息工程大学 | 一种数据安全交换方法、装置、节点及系统 |
CN103714425A (zh) * | 2013-12-24 | 2014-04-09 | 南京师范大学 | 一种电力企业工作流程结构验证方法 |
CN103778519A (zh) * | 2014-03-04 | 2014-05-07 | 南京大学 | 一种基于安全状态的工作流实例可迁移性判定方法 |
JP2016062301A (ja) * | 2014-09-18 | 2016-04-25 | 日本電気株式会社 | ワークフロー生成装置、ワークフロー生成方法及びワークフロー生成プログラム |
Non-Patent Citations (1)
Title |
---|
朱素娟 ; .浅谈企业流程管理.科技信息.2009,(32),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110807587A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lin et al. | A novel graph reduction algorithm to identify structural conflicts | |
Chatterjee et al. | Measuring and synthesizing systems in probabilistic environments | |
Pena et al. | Control of flexible manufacturing systems under model uncertainty using supervisory control theory and evolutionary computation schedule synthesis | |
CN110807587B (zh) | 流程模型安全性验证方法及装置 | |
US20140123143A1 (en) | Transaction load reduction for process completion | |
Valero et al. | A Petri net approach for the design and analysis of Web Services Choreographies | |
US20030144891A1 (en) | Supervising the processing status of activities within workflow management systems | |
Attie | Synthesis of large dynamic concurrent programs from dynamic specifications | |
Hill et al. | Modular supervisory control with equivalence-based abstraction and covering-based conflict resolution | |
Touré et al. | An efficient algorithm for workflow graph structural verification | |
Jezequel et al. | Factored planning: From automata to Petri nets | |
Ezpeleta et al. | A polynomial deadlock avoidance method for a class of nonsequential resource allocation systems | |
Wang et al. | Interactive inconsistency fixing in feature modeling | |
Choi et al. | Stepwise structural verification of cyclic workflow models with acyclic decomposition and reduction of loops | |
Van Hentenryck et al. | Constraint programming | |
Figueroa et al. | Optimal 1-Request Insertion for the Pickup and Delivery Problem with Transfers and Time Horizon. | |
Nakagawa et al. | Analysis of multi-agent systems based on KAOS modeling | |
JPH0814800B2 (ja) | データベース排他制御方法 | |
Wong et al. | A workflow model for chinese business processes | |
Ali et al. | CrowdCE: a collaboration model for crowdsourcing software with computing elements | |
Sasak-Okoń et al. | Applying distributed application global states monitoring to speculative query processing in RDBMS | |
Kalenkova | An algorithm of automatic workflow optimization | |
Abid et al. | SOG-based multi-core LTL model checking | |
Juan et al. | Control flow pattern recognition for BPMN process models | |
Carter et al. | Customizing internal activity behaviour for flexible process enforcement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |