文献综述(或调研报告):
通过调研学术界和工业界对过程资产模型管理及查询的相关研究,以及业务流程图使用情况,以下简述对本项目具有一定价值的实现方法以及工具介绍。其中Activiti基于BPMN-JS的在线作图工具具有良好的可用性以及便于搭建、扩展的特点。相较于Microsoft Visio以及JAVA awt/swing等,不仅美观而且方便数据的生成与查询结果的展示。
过程资产查询方法:
- BPMN-Q
BPMN-Q [1]是一种视觉语言,它使用BPMN表示法[5]作为其具体语法。它通过将流程模型图与查询图进行匹配来查询业务流程模型。 BPMN-Q用七个新元素扩展了BPMN的符号集。 这些元素中的一些是流对象,其他是用于连接以实现其查询目的。这些元素如图1所示,并描 述如下:
- 变量节点:它类似于活动,但在标签开头用@符号来区分。它用于指示查询中的未知活动。
- 通用:表示流程中的未知节点。 它可以评估任何节点类型。
- 通用拆分:指任何类型的拆分网关。
- 通用联接:指任何类型的联接网关。
- 负序流:指出两个节点A和B没有直接由序流关联。
- 路径:指出必须存在从A到B的路径。查询通常返回所有路径。
- 负路径:指出两个节点A和B之间没有任何路径。
图 1. BPMN符号集
BPMN-Q查询表示为业务流程图,其中可能包含其他查询元素,这些附加查询元素在处理过程中将被BPMN元素替换。这种图形查询的结果由原始过程模型的子图给出。BPMN-Q的一个有趣的使用场景是在结构和语义的基础上找到流程模型之间的相似性[2]。例如,业务设计人员将创建一个查询,该查询具有从活动“接收购买请求”到活动“存档请求”的路径,以查找处理购买请求的情况。 对于BPMN-Q的基本查询处理器,它查找具有活动标签与查询中的活动标签严格匹配的流程模型。因此,具有“获取购买订单”,“处理购买请求”等形式的活动的过程模型将不会被查询处理器检查,尽管它们在语义上与查询相关。为了克服这个限制,基本查询处理器通过语义扩展层进行了扩展[2]。在该层中,采用信息检索技术从语义的角度分析过程模型中活动的标签。
语义扩展组件是轻量级的,因为它获得了语义相似性而 无需对人类完成的活动进行任何先决条件注释。 相反,具有WordNet本体知识的向量空间模型[3]则被用在活动标签中的单词中以得出相似性。通过这种扩展组件,上面讨论的模型现在与查询相关。当然,这种扩展组件增加了查询处理的复杂性。为了控制这种复杂性,要求用户确定一个控制搜索深度的阈值,从而控制查询的时间。
- BPQL
BPQL语法定义为EBNF表示法中指定的无上下文语法。 BPQL的语义遵循SBQL的语义,它基于操作方法(抽象实现机器)。 BPQL的语用学关系到如何正确使用它以及使用它的原因是什么。语用学包括流程元模型的可视化以及根据元模型和假定的业务本体开发BPQL查询的规则。BPQL的基本概念来自基于堆栈的方法(SBA)来查询语言。在SBA中,查询语言被视为一种特殊的编程语言。因此,查询的语义基于诸如环境(调用)堆栈之类的编程语言众所周知的机制。 SBA在查询运算符的情况下扩展了这一概念,例如选择,投影/导航,联接,量词等。使用SBA可以精确地确定查询语言的操作语义,包括与面向对象概念的关系,将查询嵌入到命令式构造中以及将查询嵌入到编程抽象中:过程,功能过程,视图,方法,模块等。
在SBQL之后,BPQL查询可以返回根据对象标识符,原子值和名称构造的简单或复杂值。查询结果的定义是递归的,并且涉及基本结构和集合构造(结构,包,序列)。具体而言,查询可以返回一个原子值(例如对于查询2 2),一袋对属性的引用(例如对于查询Performer.Name),对对象的命名引用的集合(例如对于查询Performer为p)。 BPQL基于模块化规则,这意味着复杂查询的语义从其组件的语义直至原子查询(即文字,对象名称和函数调用)递归组成。 BPQL包括所有基本的非代数运算符(SBA术语),例如量词,选择,从属连接,投影,导航(路径表达式)。还有许多代数运算符,其中包括条件查询(如果q1则q2否则q3),别名(运算符as),典型的算术/字符串运算符和比较,布尔运算符等。附录中提供了BPQL的简化语法。 BPQL查询还可以包含一个函数调用。函数可能具有参数,这些参数也属于BPQL查询。函数返回与查询结果兼容的结果(例如可以是OID的集合),因此函数调用可以自由地嵌套在BPQL查询中。 BPQL引入了一组核心功能,包括标准功能和特定于工作流程的功能。标准函数包括数学函数(例如COS,SIN,SQRT),字符串函数(例如CONCAT,SUBSTRING),日期和时间函数(例如CURRDATE,YEAR,MONTH)和聚合函数(例如AVG,COUNT,MAX)[4]
- 对比
一些学者开发了过程查询语言来查询BPM [6,7],如PQL。这些可视化语言与BPMN-Q之间的主要区别在于,BPMN-Q用于制定有关业务流程模型本身(即其结构)的查询,而不是有关其执行状态的查询。这使得可以使用BPMN-Q搜索建模问题,而不必计算所有可能执行的状态空间。 Beeri等人[8]提出了一种用于查询业务流程的查询语言,称为BPQL。BPQL查询语言是基于BPEL标准设计的,因此着重于查询可执行流程。 而BPMN-Q集中于重用高级业务知识。 不过,BPMN-Q查询规范语言更具表现力,因为除了对数据和控制流的约束之外,用户还可以指定模型结构的其他属性。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。