过程挖掘(Process Mining)3——控制流表示式的流程建模语言(2):变迁系统(Transition System)

流程模型

    这部分简单介绍一些流程建模语言(符号)。
    假设有一组活动标签𝓐。流程模型的目标是决定需要执行哪些活动以及以什么顺序执行。活动可以顺序执行,活动可以是可选的或并发的,并且可以重复执行同一活动。

变迁系统

    最基本的流程建模符号是变迁系统(transition system)。变迁系统由状态(state)和变迁(transition)组成。下图表示一个由七个状态组成的变迁系统。其中,状态用黑色圆圈的结点表示。图中有一个标记为s1的初始状态和一个标记为s7的最终状态。每个状态都有一个唯一的标签,该标签仅仅是标识符,没有任何意义。变迁用弧线表示。每个变迁都连接两个状态,并用活动名称标记。多个弧可以带有相同的标签。 例如,图中check ticket出现两次。下面给出变迁系统的形式化定义:
航空公司赔偿申请处理流程

图1 一个变迁系统

定义1(变迁系统) 一个变迁系统由一个三元组TS=(SAT)表示,其中,S状态的集合,A⊆𝓐是活动的集合(通常叫做动作(actions)的集合),TS×A×S变迁的集合,SstartS初始状态的集合,SendS结束状态的集合。
    SstartSend是隐含定义的。理论上状态集合S是可以有无限元素的,但是实际应用中通常是有限的,在这种情况下变迁系统也被称为有限状态机(FSM,Finite-State Machine)(or finite-state automaton)。
    上图中的变迁系统可以形式化描述为: S = {s1,s2,s3,s4,s5,s6,s7}, Sstart = {s1}, Send = {s7}, A = {register request, examine thoroughly, examine casually, check ticket, decide, reinitiate request, rejectrequest, pay compensation}, and T = {(s1, register request, s2), (s2, examine casually, s3), (s2, examine thoroughly, s3), (s2, check ticket, s4), (s3, check ticket, s5), (s4, examine casually, s5), (s4, examine thoroughly, s5), (s5, decide, s6), (s6, reinitiate request, s2), (s6, pay compensation, s7), (s6, reject request, s7)}.
    给定一个变迁系统,可以对其行为进行推理。变迁系统从初始状态之一开始执行,图形中以这种状态开始的任何路径都对应于可能的执行序列(Execution Sequence。例如,上图中的路径( register request, examine casually, check ticket )是从状态s1开始到s5结束的执行序列的示例。此变迁系统有无限多个执行序列。如果路径以最终状态之一结束,则成功终止。如果路径达到非最终状态而没有任何可转移的变迁,则该路径处于死锁(Deadlock)注意,没有死锁并不能保证一定能到达终止状态。变迁系统可能处于活锁(Livelock),即某些变迁仍处于启用状态,但可能无法达到最终状态之一(可以执行活动,但是不会到终点,即不会结束)。
    具有可执行语义的任何流程模型都可以映射到变迁系统上。因此,为变迁系统定义的许多符号都可以轻松转换为高级语言,例如Petri网、BPMN和UML活动图。例如,考虑一个看似简单的问题:“从行为的角度来看,两个流程怎样才算相同”。如 R.J. van Glabbeek等1定义许多等效概念。如果两个变迁系统的执行顺序相同,则从路径等效(Trace Equivalence)的角度上来讲这两个变迁系统是等效。更精细的概念(如分支双相似性(Branch Bisimilarity))也可以被考虑。为变迁系统定义的这些概念可用于任何一对过程模型,只要这些模型以具有可执行语义的语言表示即可。
    变迁系统很简单,但是在成功表达并发方面存在问题。假设有n个并行活动,即所有n个活动都需要执行,但允许任何顺序,于是有n!可能的执行顺序。变迁系统需要2n个状态和n×2n-1个变迁。这是众所周知的“状态爆炸”(state explosion)问题的一个示例。考虑例如10个并行活动。 可能的执行序列数为10!= 3628800,可达状态数为210 = 1024,变迁数为10×210-1 =5120。而该变迁系统对应的Petri网更为紧凑,仅需10个过渡和10个位置即可建模10个并行活动。 考虑到业务流程的当前性质,需要使用更具表现力的模型(如Petri网)来充分表示流程挖掘结果。


  1. R.J. van Glabbeek and W.P. Weijland. Branching Time and Abstraction in Bisimulation Semantics. Journal of the ACM, 43(3):555–600, 1996. ↩︎

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值