英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
毕业设计英文翻译(译文)
未来一代电脑系统
BPMN 2.0:支持和实现状态
摘要
业务流程模型和符号2.0 (BPMN)标准被誉为商业的重要一步流程建模和自动化。最近,它也被接受为ISO标准。期望业务流程管理系统(BPMS)的供应商是否将切换到新的标准和本机支持其在流程引擎中的执行。本文对bpmn2的现状和发展进行了分析bpmn2.0的支持和实现。我们研究了bpmn2。实现者处理标准,显示本机BPMN 2.0执行是一个例外。47个bpm中只有3个支持执行格式在标准中定义,尽管它们都声称遵守BPMN 2.0标准。此外,我们评估三个提供本地BPMN支持的流程引擎,即camunda BPM、jBPM和BPMN 2.0并在三年多的时间里考察他们的支持程度的演变。这让我们来划定被实现者认为重要的标准区域。由于只是在有限的增加了支持的功能,在过去的几年里,似乎实现了标准或多或少是从实现者的角度总结出来的。因此,不太可能目前还没有的功能将在将来实现。
1.介绍
业务流程管理(BPM)是一个广泛的学科,它对计算研究的其他领域(如服务组合[1])都有影响。BPM非常适合用专用建模语言对组织流程进行建模,以及随后在可执行软件中实现流程模型。在目前可用的许多用于流程建模的语言中(示例将在[2]中讨论),业务模型和符号(BPMN)[3]已经成为一种被广泛接受的语言[6-8],而不考虑具体使用的建模语言。特别是对于行业规模的流程模型,此手动转换步骤非常重要,并且可能导致流程实现的实际行为偏离在流程模型中捕获的所需执行语义。由BPMN 2支持的流程模型的直接执行。意图最小化期望行为与实际行为之间的距离。它从一开始就避免了转换步骤的必要性,并且有可能抢占实现与相应模型之间的行为偏差。
在标准文档中指定流程模型的执行语义,如BPMN 2所实现的。其次是迈向直接执行目标的第一步。作为下一步,有必要由支持该标准的供应商正确且完整地实现执行语义。在BPMN的情况下,第二步面临两个主要的障碍:首先,指定的执行语义的实现需要是可行的,但遗憾的是,仅从理论上和非正式地讨论BPMN 2中的执行语义并不能保证这一点。其次,供应商需要实际实现相同的语义,而不是对其进行解释或自定义。由于没有BPMN的认证机构,任何供应商都可以声称实现的完整性和完整的标准一致性,而无需对此声明提供证据。另一方面,从实践者的角度来看,很可能只有BPMN的一个子集是有价值的,如[10]所示。因此,供应商可能只想实现标准的一部分。
在这篇文章中,我们提供了一个全面的调查,目前的产品BPMN 2.0实现者。首先,我们分析大量声称实现BPMN 2.0的供应商的产品。这表明,目前绝大多数自诩的BPMN 2。0实现仅限于可视化,并不实际实现BPMN 2.0的执行语义。然后,我们用一组更复杂的测试扩展了先前工作的标准一致性分析,覆盖了标准的可执行部分的更高级别。此外,我们还分析了由所谓的工作流模式[12]定义的公共特性组合是否受支持。我们比较了支持BPMN 2本机执行的几个引擎的多个修订。在三年多的时间里。这让我们看看BPMN 2是如何工作的。自从它被采用为ISO标准以来,支持已经发生了变化。目前的发展表明,BPMN 2的实现。0是在排除标准的大部分实际执行语义的级别上进行整合的。
本文构建在[13]和地址一些差距和软弱点:
- 的见解对发动机质量是有限的,作为一致性的测试套件中只包含测试和表现力,
- 的纵向研究仅限于一段时间只有两年,和最后但并非最不重要,
(c)与此同时,新的引擎版本发布了,这限制了作为发现基础的数据的及时性。在这项工作中,我们减少了以下这些问题。测试套件已经扩展了一个新的静态分析测试类别。这增加了一倍的数量的测试,并为我们提供了更详细的见解,发动机的质量。此外,我们使用一些新的图形增强了一致性数据的表示。通过增加新的发动机版本,我们能够将纵向研究的范围扩大三分之一。通过这个附加的结果加强了我们对[13]的发现,并加强了对数据的解释。最后但并非最不重要的是,我们更新了两者,相关的工作部分考虑了与此同时发布的最新结果,以及通过使用编写本文时可用的最新引擎版本重复基准测试得到的引擎一致性数据。
工业和学术界的[4]候选人。其作为ISO标准[5]的后续接受强调了其巩固过程标准市场的潜力。随着BPMN 2的发布。在2011年1月,标准中增加了对BPMN流程模型的本地执行和标准化序列化格式的支持。添加此功能的目的是为了减少流程建模与通过软件执行流程之间的差距。当通过将一个模型转换成可执行的软件来弥补这个差距时,会出现各种各样的问题,这些问题是各种出版物的主题,例如,本文其余部分的结构如下:下一节概述相关工作。在第3节中,我们评估了47个声称符合BPMN 2.0的产品。然后,在第4节中,我们详细介绍了评估BPMN引擎标准支持度的步骤,并展示了三种评估产品的结果。我们纵向研究的结果,显示了在超过三年的过程中支持的演变,完成了我们在第5部分的发现。最后,第6节总结了本文的工作。
2.相关工作
与本文相关的工作主要分为三个方面:首先,我们讨论与BPMN 2.0的本机序列化格式和执行有关的工作。BPMN 2.0流程模型,包括在此任务中遇到的问题。其次,我们概述了评估和基准测试BPMN 2.0的方法。BPMN 2.0引擎。第三,我们提出了建立可重复的基准的方法,这是我们在本文的目标。
2.1BPMN 2.0序列化格式和本机执行
自从BPMN第一次发布以来,各种研究已经对它在业务流程建模方面的适宜性进行了评估。Aagesen和Krogstie对相关工作进行了概述。
有一些研究调查了BPMN序列化格式的适当性、它的缺陷以及它在BPMN建模工具中的支持[15-17]。当涉及到BPMN 2的使用时。执行语义和序列化格式,Chinosi和Trombetta[4]给出了基于调查的第一个结果。那时已经在BPMN 2发布后不久。40%的受访者声称使用新的本地序列化格式。但是当时Evequoz和Sterren[16]文档对建模系统的分析只提供了基本的支持,特别是对标准格式的导出。在[15]中,讨论了BPMN序列化格式规范中的问题,并对建模工具中的BPMN支持进行了初步分析。Kurz[17]的最新研究表明,在过去的五年里,情况有了很大的改善。正如在[17]中指出的,一个重要的原因是BPMN模型交换工作组(BPMN MIWG)的工作,它的目标是改进建模工具之间的模型可移植性。
虽然以前的BPMN版本经常被分析和批评[18-20],但是研究覆盖了BPMN 2.0执行语义是罕见的,研究BPMN 2.0进程引擎更是如此。正如Borger[9]所讨论的,BPMN 2的描述。执行语义在很多地方仍然是不准确和模糊的。因此,目标是完全符合标准的BPMN 2.0具有相同执行行为的实现是难以捉摸的。Gutschier等人也证实了这一点。正如作者所讨论的,服务任务是一种特定语言结构的不规范,它可能导致不同实现的不同运行时行为。还有Kossak等人。[22]针对这方面,全面讨论了BPMN 2的执行语义和他们的缺点。为了改善这种情况,Kossak等人[22]使用抽象状态机细化规范。另一种形式化和分析BPMN 2的方法。使用图形重写技术的执行语义在[23]中被提出。Gorp和Dijkman声称他们的执行语义实现可以被看作是一个参考实现,并且可以被工具供应商用来检查它们是否符合标准。与我们的方法相反,这种一致性检查必须手动执行,而我们支持完全自动化的一致性检查。
2.2对BPMN2.0进行评估和基准测试。
当涉及到对BPMN 2.0的评估时的过程引擎,我们之前在标准一致性方面的工作显然是相关的。由于我们是基于这种方法构建的,因此将在以下几节中对其进行更详细的描述。一个简短的案例研究,分析了一组BPMN 2的几个功能。0引擎由Dirndorfer等人提出。当时,几乎所有关注的引擎都不能正确导入本地BPMN序列化格式的模型。这是一个有趣的结果,我们在第3节中对BPMN实现者的分析证实了这一点。然而,它与已经提到的来自[4]的结果相矛盾。建模工具能够创建和使用符合标准的BPMN模型,而执行引擎无法使用这些模型,这两者之间似乎存在差异。
除了标准符合性的评估,还有BPMN 2.0的其他方面,评估BPMN引擎性能特征的一个著名方法是基准流程项目[25]。Kluza et al。[26]提供了另一个比较研究,评估了三种BPMN引擎activiti、jBPM和camunda BPM的通用架构和可扩展性。然而,[26]的重点是语义技术(如本体)的集成,以提高要执行的流程的质量。一个更一般的研究,不仅包括BPMN引擎,而且包括整个BPMS。本研究的重点更多地放在BPMS对业务需求的一般适用性上,而不是它们是否符合流程标准。因此,只在较高的层次上讨论标准支持。
2.3计算再现性
可重现性研究,特别是计算重现性,是当今科学研究的关键。许多科学结果是在大量软件工具的帮助下获得的,没有这些工具,就不可能复制或检查结果的正确性。为了使计算再现,Merali建议免费提供必要的材料,最好通过版本控制系统。这包括科学计算所基于的文档化、测试和模块化代码,以及所有其他需要的资源和结果本身。但是,即使遵循这些指导方针,试图重现实验的研究人员仍然面临着“重大障碍”。对于实验中使用的工具来说,不精确的文档很难遵循或陡峭的学习曲线。
为了增加科学计算的重现性,Boettiger和Chamberlain以及Schommer建议使用Docker作为计算环境的基础,因为这种技术降低了前面提到的几个障碍。在Docker中,可以基于Docker映像创建轻量级的Linux容器。这些映像可以共享、重用、存档、置于版本控制之下,并部署在不同的平台上。更重要的是,这样的一个图像可以通过传递一个Dockerfile来自动构建。,一个命令列表到Docker本身,方便了为第三方复制软件环境创建。为了使本文给出的基准能够重现,其执行基于Docker。这与相关的基准测试方法是一致的。
3 .BPMN 2.0分析实现
为了收集关于BPMN实现状态的见解,有必要调查以下系统的当前市场实现标准。为此,我们评估了BPMN实现的公共列表,并在执行BPMN 2时判断其实现的状态。本节中的0个进程。只有一小部分现有的实现已经足够成熟,可以评估它们所表现出的标准一致性程度。本节介绍从实际市场中选择这样成熟的发动机。第四节分析所选发动机的标准符合性程度。
乍一看,支持BPMN的BPM套件和引擎市场似乎相当活跃。在编写本文时,BPMN实现的列表包含60多个条目。 然而,这些实现者不仅提供BPMN引擎,而且还提供BPMN建模工具,或者声称实现(某些)BPMN方面的其他工具。关于BPMN执行语义一致性,只有完全成熟的BPMS套件或专用的BPMN引擎是相关的,因为它们应该能够执行BPMN流程模型。
另一个“活动BPMN 2.0引擎”可以在Wikipedia上找到,它是由BenchFlow项目的成员创建和维护的。在撰写本文时,它列出了27个条目。在对这两个列表进行比较和合并之后,我们得到了47个声称符合BPMN标准的BPM套件。这是与之前的工作[13]相比增加的两个BPM套件。
3.1BPMN引擎的要求
标准文档在流程执行一致性方面相当严格:“声明BPMN执行一致性类型的工具必须完全支持并解释子条款14.2.2中指定的操作语义和活动生命周期。[hellip;符合规范的实现必须完全支持并解释底层元模型。在这些语句之后,有两个与BPMN引擎和BPMS相关的主要方面:必须支持BPMN元模型中定义的所有语言构造,并且必须正确实现每种语言构造的底层执行语义。唯一的例外是在[5]中定义的一些“非操作元素”。从这两个需求派生而来,BPMN引擎还应该能够检测出BPMN流程模型中关于BPMN元模型的错误:如果这样一个无效的流程部署在BPMN引擎上,那么它的运行时行为是不可预测的。流程执行可能会无声地失败,可能会发生运行时异常,或者可能会发生其他意外的行为。因此,符合BPMN的引擎应该能够在要部署的流程模型中检测到违反BPMN规范[5]的情况,即,它们应该在部署时执行静态分析检查。
BPMN标准化的目的是实现不同建模工具和引擎之间的可移植性和互操作性。实现流程的一个常见工作流是首先在BPMN建模工具中建模“基本”业务流程模型,然后使用特定于用于执行的BPMS的执行细节来丰富它们。对于这个用例的重要性,一个强有力的指示器是BPMN MIWG[17]中各个建模工具和
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[234932],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。