薛智山 满君丰 张灿青 彭成 刘鸣
[摘要]灵活的工作流管理系统有助于工作流适应不断变化的环境要求,然而传统工作流系统的灵活性不强,不符合工业标准,往往会发生不可预知的错误。因此提出了一种新的方法,这种方法依托BPMN2和业务规则使工作流在设计和运行时具有灵活的适应性。
[关键词]工作流管理系统:适应性:业务规则;BPMN
1 引言
工作流管理系统(Workflow Management System,WfMS)成为许多工业IT系统环境的重要组成部分。对于有些领域,传统的工作流管理系统已经被证实不具有涵盖普遍要求的工作流的灵活性。传统的工作流系统大多存有重用性低、模式单一、缺少灵活性等问题,这些工作流模式只能够在定义时进行操作和修改,若流程确定后就不能再进行修改,因此工作流系统的应用范围受到了很大限制,无法满足现代工业流程的发展进度。当前面临的问题是:如何通过将工作流的灵活适应性应用于特定情形来应对工作流管理系统的复杂和变动性。
国内外已有很多学者对工作流可适应性进行了大量的研究并提出了相应的解决方案。文献提到,可适应的工作流系统应具有特点:工作流系统应具有较为开源的结构,使外界能够获悉系统内部相关组成部分,即工作流系统应具有动态配置、重配置的能力。文献针对单个动态变更提出了的InConcert系统,这是一种被用来开发具有灵活适应性的工作流管理系统。也有不少学者提出了一些使工作流系统在某些方面实现适应性的解决方案,如在领域层使用基于知识的办法来提高工作流管理系统的柔性等。这些方法大都是从特定的角度出发,解决其中特定的问题。因而缺乏对工作流系统整体灵活性的支持。本文从设计和运行两方面描述工作流的适应性,其研究目的是具体化不同方面的灵活性实现模块化,以支持特定应用场景的工作流管理系统。
2 BPMN建模机制
业务流程建模是实现业务流程管理(BusinessProcess Management,BPM)的基础。使用工作流程管理系统有利于提高工作效率,提高工业竞争力。对于系统分析师来说,最理想的建模是可以做到简单、易用,能够实现可视化描述业务流程,能够精确验证模型的效率。计算分析模型的使用性能。要做到以上这些,就需要研究如何利用符号描述模型、元素意义、建模机制、执行引擎等融合在一块。这时BPMN符号标准成为了当前工作流中最流行的一种工作流流程建模的解决方案。
在本节中提出设计和运行时的灵活性的方法,它包括两个主要概念组件。涉及到指定工作流的哪一部分可以在运行和定义时做改变,这种适应需要应用在特定环境的工作流中。
2.1 自适应工作流段
图1是一个虚拟的船舶发动机维修工作流程。在图的下部是发动机启动测试和电机寿命分析。对于这些测试。工程师要等待批准,由于环境原因同一时间海港只能有几条船运行引擎。图1还包括每个工作流实例的变量数据。有些变量是静态的,如船型;有些是可能改变的,如维修工程师的积压。维护工作流可以看做是一个参考模型,即指定工作流的“规则”的过程,在许多情况下它的有些自适应段需要适合上下文变量的具体值。我们建立在通用的框架用于确定自适应工作流程的片段。这些可以适应在运行时的结构调整。
2.2 定义应用BPMN2适应模式
自适应段的执行语义定义:如果一个输入到一个自适应段是一个工作流实例,对上下文变量进行评估,并最终成为适应段。在每段进入时间的自适应段,创建一个一致的独立变段,该变化是被忽略或更复杂的检查和错误的解决机制必须得加以考虑。这可以发生在进入自适应段模式中的目录定义结构的适应。在结构的定义也依靠BPMN2语义。每种模式都包括一个唯一的名称和描述以及隐式输入参数
数据上下文和适应模式之间的连接,现在可以建立业务规则的事件条件作用(ECA)的格式,该事件包括在进入事件的自适应段,条件构成的约束条件的工作流程的上下文变量和行为指定模式的应用。他们至少是参数化和自适应段属于规则的触发事件的入口节点。因此,这段可以简单地封装在适应模式嵌套相应元素的关注BPMN2流程实例。伪语法中*代表0-n个重复,可以定义为:
ON entry-event IF
3 不同适应目的的工作模式
灵活性类型对于剪裁操作的模式定义,意在包括和扩展基本适应模式、时间模式(TP)和异常处理模式(EHP)。在BPMN2符号中每个模式都有唯一的名字、描述、图形表示,一个说明性的例子以及在BPMN2元素中的最终参数,约束限制这种模式或参数,重利用和改进关系到其他模式和通用模式。下面,该模式将被用于进一步阐明模式模块化和灵活性平衡一致性的问题。
模式的范围和嵌套。由于设计模式为有效的BPMN2片段结合我们的设计框架,该框架只允许块结构的自适应工作流段,结合性自适应语法错误已经排除在概念层面。如表1的BAP1模式可以同时应用而没有任何语法问题。尽管有些限制,然而结构性错误可能仍然会发生,并尽可能排除这些错误。表1中TAP8模式中一个说明性的例子可直接由模式应用实现。
应用和参数约束。为了防止运行时适应引起的结构性错误,比如完全性违反死锁和活锁问题。一系列额外的约束必须应用在一些适应模式中。TAP8约束确保了工作流段具有执行的机会,而不总是在相对点用于间隔规范时跳过。BAP16和BAP18携带一组相当复杂的约束,因为他们只能结合使用实现动态控制依赖注入。因此,动态适应性结构对应于不同的跳跃和插入操作。
模式应用的分类。由于部分声明性,多个不同的适应规则或认为干预可能需要同时应用。如果这些适应性应用在任意的规则中可能会出现不可预知的错误或相互矛盾的业务逻辑。例如,如果一个规则定义跳跃模式的应用(BAP1),而另一个一个定义插入模式的应用,工作流运行时的行为取决于这两个模式的应用顺序。基于所述给定的考虑,一个有效的应用程序排序可以定义如下:
Insert 4 原型实现 本文已经建立了一个原型基于JBoss Drools支持自适应片段的可视化建模和适应规则的规范。对于建模和执行环境及适应规则事件感知的工作流程,我们整合和扩展Drools,主要是用Eclipse搭建建模环境和执行引擎。控制流异常是围绕问题控制流冗余,网关条件和稳健性。此外,存在的问题与缺乏同步和特殊异常它们主要适用于动态的工作进行检查。这是一个活动插入到当前活动的一个过去的(即人通向执行当前活动的路径)和它提供的数据中的未来活动当前活动可能导致的不一致。在本节中,简要地说明了基本的基础以及BPMN利用参考以规则为基础改编的元模型作为一种方法的一个实例工作流程,验证设计和运行建模在工作流的灵活性。 5 结束语 本文基于工业标准BPMN2和业务规则的工作流在设计和运行时的灵活性的概念,提出依赖于标记上下文相关的工作流自适应段的BPMN2元模型为扩展的方案。本文的主要贡献是运行时的异常处理应用于适应模式,适应模式应用BPMN2的扩展功能。该方法是可以定制的,以限制所需程度的灵活性。建立一系列适应模式允许以规则为基础的工作流程。有利于建模者熟悉BPMN,更好地检查模型的整体一致性,特别是模型有较强的实用性和可扩展性。下一步的工作是提供一个符合规则的应用模式,该模式基于约束集的建模环境。本方法适用在以规则为基础的模式支持下的工作流,对发动机制造商的海洋服务进行评估。