论文部分内容阅读
在计算机技术、分布式技术快速发展的今天,业务流程管理BPM作为一种有效的管理系统,具有高效的调度特点,可以实现跨部门、跨企业之间的业务协作,备受企业家、商家和学者的青睐。BPM实现业务流程的定义、建模、分析、改进、执行以及管理,但是BPM提出的概念往往是抽象的,要想实现对流程的控制需要借助许多技术。 近些年来,国内外学者对BPM进行了深入的研究,主要研究方向包含:流程建模理论和方法、流程的模型转换、流程的形式化描述、流程的验证、流程的仿真等。大多数研究都是基于对业务流程的形式化描述和模型检测,尚未见诸报道一套完整的方法实现“流程建模→模型转换→流程执行路径显示→模型检测→结构问题定位”。因此本课题提出了能同时实现对流程的仿真和结构检测的方法,本文主要做了以下工作: (1)列举了几种不同的流程建模符号和模型检测工具,并指出了它们的优缺点。通过对比选择了BPMN作为流程建模符号。 (2)分析了由BPMN图形符号到对应Java类的转换过程,并给出几个BPMN流程的代码框架。 (3)使用树结构存储BPMN流程中带索引的每个元素,结合栈机制探索流程的所有路径,即全覆盖路径。 (4)对流程节点进行状态规约,结合模型检测算法对业务流程的结构进行检测,同时对流程的死锁、活锁进行定位。在活锁出现的地方设置“cutoff point”,当检测到该元素是活锁之后当前路径不再继续执行,以此用来减少对状态空间的探索,以免发生状态爆炸。 (5)设计了一个简单的可视化界面,可以显示完整的由BPMN流程的模型转换到模型检测过程,实现了流程的全路径覆盖显示和结构问题定位。 本文在基于Eclipse的统一平台下,实现了从流程创建、Java代码生成、模型检测、流程路径的显示以及死锁、活锁定位的一系列过程。