摘要:业务驱动开发支持多个业务人员对一个业务流程进行设计,导致多个可执行过程变种的出现。为了合并这些变种,检查和解决它们之间的差异是不可或缺的。现有方法都只是检测和解决过程模型之间的差异,且多数依赖于修改日志,而很少研究可执行过程之间差异的问题。一种通过比较修改前后的可执行过程,基于程序依赖图和对应关系检测和解决差异的方法被提出。它能够解决实际的可执行过程差异的问题。19135
关键词:可执行过程差异;程序依赖图;复合修改操作;层次性修改日志 毕业论文设计说明书(论文)外文摘要
Title Detection and Resolution of Differences between Execution Processes
Abstract
Business-driven development favors the construction of a business process by different business-development staffers to arise different variants of executable processes. In order to consolidate these variants, detecting and resolving differences between them is necessary. Existing approaches focus on detection and resolution of differences between process models and the majority of them rely on the existence of a change log. However, few approaches can detect and resolve differences between executable processes. Then, a novel approach is presented to detect and resolve differences by comparing before and after modified executable processes. It is based on program dependence graphs and correspondences. It works well in practical executable processes.
Keywords
Executable Processes Differences; Program Dependence Graph; Compound Change Operation; Hierarchical Change Log.
目 录
第一章 绪论 1
1.1研究背景 1
1.2论文主要工作 2
1.3论文的组织结构 2
第二章 背景 3
第三章 BPEL程序依赖图和对应关系 5
3.1 BPEL程序依赖图 5
3.2对应关系 6
第四章 差异的检测和解决 7
4.1 基本活动、块结构和数据依赖关系的差异 7
4.1.1 控制流层面的差异 7
4.1.2 数据流层面的差异 9
4.2位置参数的确定和复合修改操作的完备性 10
4.3层次性的修改日志 12
第五章 工具实现 15
第优尔章 总结 19
致谢 20
参考文献 21
第一章 绪论
1.1研究背景
在业务驱动开发中,许多公司和学术团队创建了大量的可执行过程,而这些过程经过反复修改,又演化出数量众多的相似过程。很多情形下,我们需要将这些可执行过程部分或完全地合并[1]:当公司或商业团体进行合并或重组时,为了消除冗余和创造协同效应,先前属于不同公司或团体的可执行过程需要被合并;当同一组织的不同业务单位启动一项业务单元的可执行流程时,此流程又为它们所共有(比如财务流程),因而合并这些过程变得尤为必要;当一个可执行过程被多个业务开发人员设计和修改时,会导致从原始过程中演变出多个变种,在某个特定的时刻,需要将多个可执行过程变种中筛选出来的信息整合到一个标准的过程中,而将它们合并。
在上述的种种境遇中,可执行过程之间的差异必须被检测和解决。过程感知信息系统[2-3]能够提供修改操作日志[4],这就将差异的检测直接引入到一个可执行过程中。然而,在一些情况下可能就没有可用的修改日志,比如,修改可执行过程的工具不能提供日志或对可执行过程的修改超出了所使用工具的范围。面对如此境遇,差异的检测不得不通过比较修改前后的两个可执行过程。对于检测到的每一个差异,我们都能获得合适的修改操作,并根据这些操作,重建过程的修改日志。此外,可执行过程建模工具必须满足用户友好性的要求:即使一个不精通该领域的用户也应能够检测和解决它们之间的差异。因此,我们需要对差异进行分类,并以一种易于用户理解的形式呈现。类似地,解决差异也不应该是应用修改操作原语而是复合修改操作,这确保用户更方便地处理差异[5]。