基于Artifact状态变迁的射孔数据协同流程模型研究

2017-07-12 08:10杨丽波巢世清
计算技术与自动化 2017年2期
关键词:结点业务流程变迁

杨丽波+巢世清

摘要:本课题结合射孔作业的实际需要,提出基于Artifact状态变迁的射孔数据协同流程思想。首先介绍Artifact的定义与特性,结合射孔数据处理时存在的问题,设计了基于Artifact状态变迁的射孔深度数据协同处理流程并建立了模型。尤其考虑到射孔现有的应用软件元素,对Artifact推进进程的应用做了改进,建立完全支持射孔作业的工作模式。最后用状态树描述了Artifact实例状态的生命周期及状态变化情况,实现不同部门、不同岗位的协同工作。

关键词:Artifact状态变迁;射孔数据协同流程;业务状态规则库;Artifact信息模型

Abstract:Combined with the actual needs of perforation operation, this paper puts forward the idea of perforation data collaboration process based on Artifact state transition. First introduces the definition and characteristics of Artifact, combined with the problems existing in the process of perforation data, design the Artifact state transition based on the perforation depth data processing process and establish a model. In particular, considering the existing application software elements, the application of Artifact propulsion process is improved, and the work mode of fully supporting perforating operation is established. At last, the state tree is used to describe the life cycle and state of the Artifact instance, and to realize the cooperative work of different departments and different positions.

Key words:Artifact state transition; perforation data collaboration process; business state rule bank; Artifact information model

1 引言

為了实现对人员、组织、应用、文档和其他信息资源的业务流程的支持,通过使用方法、技术和软件对业务流程进行设计、实施、控制和分析[1]。传统的业务流程管理通常基于以过程为中心的业务流程建模方法开展的,主要关注的是业务活动的组织方式,数据仅仅以作为模型中活动被操作的对象身份出现。现如今,以数据为中心的表达业务需求通常是一种更为直观的方式,而基于Artifact的流程思想,是一种全新的以数据为中心的业务流程设计方法,是站在业务流程中业务人员的角度来分析的,是一种有效的、灵活的、管理分析业务流程的表示方式。基于Artifact的特性在于在业务流程中将关键的业务数据作为一个关键的部分,以关键的业务数据在流程中前后变化作为主线来设计流程的。在本文中使用的是对象模型的Artifact信息模型。

2 Artifact状态变迁协同流程模式

Artifact是一个具体的、可标识的、自描述的数据实体,是以数据为中心的业务流程建模的关键概念。在OpS中Artifact的定义,Artifact由业务构建和维护的一些具体信息块的构成,其提供了信息局域化的机制[2]。目前射孔资料信息化处理过程中受射孔深度数据处理系统等应用系统[3]局限于业务局部环节,基于Artifact状态变迁的射孔数据协同流程结构是该模型中的关键问题所在[4]。

2.1Artifact信息模型的设计

首先准备下列不相交的集合: 表示基本类型的集合; 表示Artifact类命名集合;

表示属性命名集合;States为Artifact的状态名集合; 为Artifact类型 的标识符集;类型全集为 = ∪ 。

对于 中的任意一个类型 , 的域(表示范围)表示为DOM( ):

我们将通过改变Artifact对象的属性值来使该对象的状态发生变迁,Artifact中的生命周期可以用AT中的 里的状态集 来表示,对于Artifact某个属性被赋值后,其对应的以及逻辑解释公式为真时,都可以对应 中的任一个状态,并用二进制序列描述整个Artifact的生存周期的状态,调用业务状态规则库中规则,通过一阶逻辑公式使属性发生变化进而状态发生变迁,建立有限序列状态机的转换。

2.2Repository的形式化定义:

利用Repository[5]对Artifact类型对象的创建及归档,以便于射孔中应用对Artifact进行操作。Repository元素是由Repository名称(描述库中Artifact所处状态);Artifact类型名(设定Repository来存储的Artifact类型)组成的[6]。本模型再设计时,遵循一个Repository仅仅能存储一种类型的Artifact实例,并且一种类型的Artifact能够存储在其他多个Repository的原则。例如,本模型再设计DepthProcess(DP)时,一个Repository存储的是执行中的DP、一个Repository存储是已完成的DP,其Artifact类型都是DepthProcess。但是存储执行中的DP是执行状态,存储已完成的DP是完成状态。

2.3Service服务的形式化定义

在经典的模型中BALSA[7]中给出了关键的四个元素与建模方法,但是在Service元素设计时将面向服务和Web服务的概念相结合[8],不适合目前射孔作业中的实际情况,各个中间结果的计算都是已经成型的应用软件,因此,根据实际情况重新設计Service元素。Service对Repository进行操作,有二种形式:只读形式,表示Service对Repository中的Artifact实例不进行任何属性的改变,进而不会使Artifact的状态发生变迁;读写形式,表示Service对Repository中的Artifact实例中的属性通过其规则进行修改,进而使Artifact的状态发生变迁,从而推进业务流程的执行进程。为此目的对Service进行形式化定义:

Service元素[9]在此模型中是最重要的组成元素,它在整个业务流程中起推进作用。包含了一系列的操作,由IOPE(Input,Output,Preconditions,Effects)分别定义了每个应用操作。Input和Output来描述Service的输入和输出,于语义web服务中的Input和Output不太一样。Precondition决定该业务流程的应用的执行,而用Effect来表达该应用输出结果所代表的语义。

定义2:一个Service SV=( , , , ),其中: 和 是变元集,其中 变元集会映射到Repository元素中的某个Artifact的属性; 二进制状态序列; 由其中通过一阶逻辑语言 表示为 上的逻辑公式来改变Artifact的某些属性值。

3基于Artifact状态变迁的射孔数据协同流程的设计

3.1 射孔业务状态规则库的建立

为使射孔业务适应发展的变化,应使射孔业务规则类似于数据库的管理,单独建立规则库的管理,适应射孔业务的变化。有射孔业务专家对其业务分析、抽取、并存储在规则库中,使用配置的方式来实现。本模型创建的射孔业务规则库同样是针对Artifact实例的状态变迁的来做的。

(1)规则的描述形式

业务规则的描述是根据射孔术语和射孔业务事实。规则的前半部表示对其事实的判断,其后半部是对事实的更新或创建。规则的描述方式有很多,例如 if…else、决策表、决策树等,实用XML文件存储格式来描述射孔业务规则。

(2)业务规则的流程结构

在本规则库中涉及到的是顺序结构并行结构、判断结构,顺序结构在射孔规则库中表示的是if标图执行完成后,执行标图审核,依此顺序规则执行。在射孔规则库中表示的是只有在标图审核通过后、校深取值后、射孔施工设计后才能触发报表的计算。

判断结构如图1所示,在射孔规则库中表现为校深取值后,判断是否疑难井,是则回到执行校深的初始状态,否则等待标图及射孔施工设计的状态变化后执行报表的计算。

添加射孔业务规则库后,本模型流程的灵活性大大增加,更加方便业务的变化,减轻业务需求的变化造成技术编程的工作。

3.2 Artifact状态变迁的改进

系统流程模型中,假如Artifact类型的集合用 = { , ,…, }来表示,定义流程中的状态为 =( , ,…, ),对于Artifact类型的状态,设定 =( , ,…, )表示 是实例 的初始状态;设定 =( , ,…, )表示 是实例 的终止状态。

参考状态机在数字电路中设计的应用,状态机是表示有限种状态以及这些状态之间的变迁和动作的数学模型。在本模型中运用到的确定型有限状态机[10]。一个确定型有限状态机包括:有限状态集,输入信息,状态变迁规则集。状态机应用到本模型中归纳为四个要素:即当前状态、条件、服务、下一个状态,同时可以用二进制序列对来描述Artifact的生命周期(Artifact的整个状态变化过程),对状态机的内的因果关系进行分析,“当前状态”和“条件”为因,“服务”和“下一状态”为果。

当前状态:顾名思义是指流程当前所处的状态,通过二进制序列来判断,例如二进位制序列(0000000000)表示(分井,标图,标图审核,校深值,疑难井判断,射孔施工设计,射孔施工审核,计算报表,报表审核,全套资料审批);

条件:业务流程处于什么样的状态,执行什么样的服务,同时通过属性集L的一阶逻辑语言?AT中的一阶逻辑公式,执行一次状态的变迁(迁移);

服务:条件满足是什么样的状态执行什么样的服务,服务成功执行后,可以变迁到新的状态,如果没有成功执行,保持原状态,在此模型中,服务执行是必须的,在没有执行服务后,状态是不能变迁到新状态。

下一状态:条件满足后,要变迁到新的状态。下一状态是相对当前状态来说的,下一状态一旦被触发,即为当前状态。

4 实验

4.1 构造Artifact的状态变迁树

对于一个Artifact类型AT=( , , , ),对于 的有穷状态机中的状态 是一个n维向量,设n=|L|。 的某一状态 的取值只有两种情况,0或1[11][12]。 取值为0时,表示第 个属性(假设属性是有序的)上的值为空; 取值为1时,表示第 个属性(假设属性是有序的)上的值不为空,已被赋值。

设AT=( , , , )是一个Artifact的模式,该模式下Artifact的生命周期是一颗树,称为生命周期树LTree(Node,E,Root(LTree)):Node是树的节点集,任意一个结点都属于状态空间集S,表明每个Artifact的状态在流程中都是被允许的;Artifact的初始状态用做为树的根节点的Root(LTree)来表示;一个相邻的状态对用边的集合E来表示;最后Artifact的终止状态用树的叶子结点来表示。

通常在一个流程中会有多种类型的Artifact,由此在模型中,应该会有对多个Artifact的操作,设定在该模型中获取一个Artifact类型,且与其有关的库、服务、业务状态规则等元素构建的一个模型图。本文从模型中得到该Artifact类型的状态变化树。

定义:设G是一个模型图,对于一个Artifact类型AT,G的AT相关子图GAT由G中满足以下条件的图形元素组成:读写操作Artifact类型AT的服务;存储的Artifact类型AT的库;操作Artifact类型AT的连接线。

将服务中的 和 依据对Artifact实例状态的定义用Artifact中的状态来描述。

(1)创建一个新的Artifact模式AT的实例,用New(AT)来表示AT的初始状态。

(2)Assert(AT,L)表示AT中属性L已被赋值,状态变迁。

(3)End(AT)表示Artifact已终止,被归档。

总之,在不用考虑审核没有通过的情况下,一颗简单的状态变化树将被得到。在模型中提取一个Artifact类型的状态变化过程,其状态用树的结点表示,状态发生变迁的可以用树的边来表示,

如下所示用算法StaChaTree(G)来构建状態变迁树。

StaChaTree (G)

Begin

(1)遍历模型图G的AT有关的子图GAT,查询到 执行条件为New()的服务SV,同时将SV通过 后得到的状态选为根结点R0,并标识符key表示;

(2)若已存在标记为key的结点,则遍历选择此结点N;

(3)若R0(根节点)到结点N上路径的某个结点于N相同,将N标记为selected,接着遍历,重新选择一个标识符为key的结点;

(4)同时在GAT中遍历找出以 作为 的服务集合 (服务已经转换为状态值);

(5)如果 为空集,将N标记为selected,如果 不为空,那么将其中的任意一个服务SV, 后得到状态S,再经过SV后得到新的状态S';

(6)选定S'为一个新的结点,在SV作为标记下的画一条S到S'的有向弧,把S'标记为key;

End

在下图2中,以射孔深度协同流程根据以上算法得出的状态变化树,得出状态变迁树。

4.2 实验分析

此算法中循环的判断条件是key的结点的存在,此循环条件的要点在于:

(1)如果存在根节点到N的路径有与N相同的结点,那么把,N标记为selected;在这种情况下,如果GAT中经过服务的 后得出重复的状态,会避免算法发生死循环的情况。

(2)当不存在 后的状态S作为 的状态S'的服务SV,那么把S标记为selected;在这种情况下,由于流程中的Artifact是有限的,进而图GAT是有限的,则状态树也是有限的。从以上两点说明了算法是可终止的;算法的正确性从状态变化与流程模型中的服务之间的关系一样和符合服务的 和 。时间复杂度:此算法等价于图的遍历算法,其复杂度为O(n+e) (n是结点数,e是边数)。

基于Artifact的协同流程模型框架优化了以过程为中心的工作流程,前者对工作流程中的数据以及其生命周期提供支持,而且以Artifact为中心的方法提供了Artifact信息模型、Artifact生命周期、Services(服务)、Association(关联)四个清晰的、相互关联的且又分离关键部件的建模方法[13]。通过建立射孔业务状态规则库,可以使射孔专家制定多组业务状态变迁规则组,使得射孔业务流程更加灵活,减少因业务需求的变化造成技术编程的工作。引入协同处理流程后,适应协同工作的流程模式,提高其工作效率,具有重要的现实意义。

5 结语

本文对射孔校深数据协同处理流程进行了分析,并建立其流程模型。从Artifact信息模型、Repository、射孔中应用、射孔业务状态规则库、状态变迁来完成对流程的定义及设计,最后用状态树描述了Artifact实例状态的生命周期及状态变化情况,实现不同部门、不同岗位的协同工作。信息时代下,新技术、新思想会建设更加健壮、性能更加优良的协同工作环境平台。虽然目前可以较好地满足其需求,但后续工作中应不断关注协同技术发展与协同环境的研究对比,利用更先进的技术或解决方法,完善系统中的协同流程处理机制。

参考文献

[1]W. M. P. van der Aalst, A.H. M. Ter Hofstede, M. Weske. Business Process Management: A Survey[C]. InrProceedings of the 1st International Conference on Business Process Management, Eindhoven, Netherlands, 2003: 1-12.

[2]Nieks Lohmann, Karsten wolf. Artifact-Centric Choreographies[J]. Lecture Notes in Computer Science, ICSOC 2010:32-46.

[3]黄引娣,朱东华.射孔深度误差的产生与控制[J].石油仪器,2010,24(4):85-87.

[4]胡斌.协同工作系统的控制问题[J].北京工业大学学报,2000,26(4):33-37.

[5]James Evans, Bev Acreman.Institutional Repositories and Research Data Management:challenges and opportunities[J].中国科技期刊研究,2015,26(1):8-10.

[6]C. E. Gerede, K. Bhattacharya, J. Su. Static analysis of business artifact-centric operational models[C]//Int. Conf. on Service-Oriented Computing and Applications (SOCA), Newport Beach, California, USA, 2007: 133-140.

[7]K. Bhattacharya, R. Hull, J. W. Su. A Data-centric Design Methodology Business Processes[C]//R. J. Brachman, H. J.Levesque (Eds.), Handbook of Research Process Management. Information Science Publishing, USA, 2009: 1-28.

[8]A. Arsanjani, S.Chosh, A. Allam, et al. SOMA: A method for developing service-oriented solutions[J]. IBM Systems Journal, 2008, 47(3): 377-396.

[9]王颖.以Artifact为中心的业务流程建模与分析[D].燕山大学,2012.

[10]谭同超.有限状态机及应用[D].华南理工大学,2013.

[11]Nieks Lohmann, Karsten wolf. Artifact-Centric Choreographies[J]. Lecture Notes in Computer Science, ICSOC 2010:32-46.

[12]Bhattacharya K, Gerede C, Hull R, et al. Towards formal analysis of artifact-centric business process models[M]. Springer Berlin Heidelberg, 2007: 288-304.

[13]余濟民.基于Artifact状态驱动流程模型与分析[D].华南理工大学,2014.

猜你喜欢
结点业务流程变迁
数字解读 DIY世界的精彩变迁
回乡之旅:讲述世界各地唐人街的变迁
基于质量管理体系为基础的核心业务流程优化
动态业务流程管理在发电机组制造企业中的运用
变迁
试论ERP环境下的会计业务流程重组
试论ERP环境下的会计业务流程重组
基于地理位置的AODV路由协议改进算法的研究与实现
医院HIS医疗业务流程设计与管理