软件影响14(2022)100435原始软件出版物ASP中声明性过程挖掘问题的编译工具FrancescoChiarielloa,FabrizioMariaMaggib,FabioPatriziaa意大利罗马Sapienza大学b意大利博岑-博尔扎诺自由大学A R T I C L E I N F O保留字:过程挖掘业务流程管理答案集编程A B标准我们提出了一个工具,用于将流程挖掘社区中的三个问题编译为答案集编程:日志生成,一致性检查和查询检查。对于每个问题,两个版本的解决,一个只考虑控制流的角度和其他考虑数据的角度。该工具可以支持企业分析他们的业务流程;它具有高度的灵活性和通用性,并且可以很容易地修改以解决声明式流程挖掘的其他问题代码元数据当前代码版本v1用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-176Reproducible Capsule的永久链接https://codeocean.com/capsule/1375188/tree/v1合法代码许可证Apache-2.0使用git的代码版本控制系统软件代码使用的语言、工具和服务Python,clingo编译要求,操作环境依赖性如果可用,链接到开发人员文档/手册问题支持电子邮件chiariello@diag.uniroma1.it1. 介绍流程挖掘(Process Mining,PM)是业务流程管理(BusinessProcess Management,BPM)和数据挖掘(Data Mining)的交叉研究领域。它旨在通过分析企业信息系统存储的事件日志来深入了解业务流程。事件日志是活动的有限序列(或跟踪)的集合这种跟踪可能包含附加到活动的附加数据,这些数据以属性值的形式存在。当关注跟踪中发生的活动时,我们讨论控制流透视图;当考虑活动属性及其各自的值时,我们讨论数据流程模型是流程的规格说明,流程的执行会生成感兴趣的跟踪。这样的模型可以以可执行结构的形式提供,例如Petri网或BPMN,或者作为形式语言中的公式,例如DECLARE[1]或ltl[2],如声明式流程挖掘(Declarative Process Mining,缩写为DPN)。我们解决了三个问题,从第二。日志生成是生成与输入过程模型一致的日志的问题,这些日志可能满足进一步的要求,例如跟踪长度。这个问题产生于对控制数据的需要,其目的是实验测试和验证PM技术的特定方面。一致性检查是检查日志的跟踪是否符合输入流程模型的问题。这允许检查流程执行是否按预期进行。事件日志中的某些跟踪偏离其标称行为确实很常见,因为结果,例如,手工活动。最后,查询检查是通过检查候选模板属性与流程事件日志中的跟踪来发现流程的某些属性的问题。这允许,例如,用于发现(可能是部分的)过程规范。我们设计了一个工具,用于将这三个问题的实例编译为答案集编程。我们的实现可以应付控制流和数据的角度。本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。∗通讯作者。电子邮件地址:chiariello@diag.uniroma1.it(F. Chiariello),maggi@inf.unibz.it(F.M. Maggi),patrizi@diag.uniroma1.it(F.Patrizi)。https://doi.org/10.1016/j.simpa.2022.100435接收日期:2022年10月5日;接收日期:2022年10月23日;接受日期:2022年10月25日2665-9638/©2022作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsF. Chiariello,F.M.Maggi和F.Patrizi软件影响14(2022)1004352Fig. 1. 方法示意图是流程模型,templates.lp包含答案集编程(Answer Set Programming,ASP)[3]是一种解决组合搜索问题的声明式方法。在ASP中,问题被建模为逻辑程序,其本质上是逻辑理论,并且其解决方案对应于答案集,即,程序本身的一个特定的模型类。答案集可以通过向ASP系统(如clingo1或dlv,2)提供逻辑程序来获得(见图1)。①的人。此外,我们还提供了用于测试该工具的过程模型和事件日志,该工具由一组用于将每个问题实例转换为ASP程序的脚本组成。2. 描述与声明式问题求解中常见的一样,为了保证容错性[4],我们将问题分为两部分:问题类和问题实例。我们对这里考虑的每个问题类进行编码(即,日志生成、3查询查询、4和查询检查5)到ASP程序中。 此外,我们还提供了用于将过程模型(表示为.decl文件)和事件日志(表示为.xes文件)转换为ASP的脚本,这些脚本共同表示问题实例。然后,我们将问题类和问题实例输入到ASP系统clingo,该系统返回原始问题的解决方案。请注意,一个实例可能有零个、一个或多个解。在日志生成的情况下,我们还提供了一个脚本,用于将获得的答案集转换为.xes文件,即,事件日志的标准表示形式最 后 , 注 意 , 当 我 们 将.decl 文 件 作 为 输 入 时 , 因 此 仅 处 理DECONSTRUCTIONS约束,原则上可以通过简单地将其转换为自动机(使用Lydia6等可用工具之一来考虑任何LTL公式[2��� 或LTLf2DFA78 然后代表它在ASP中,我们以同样的方式处理数据。作 为 使 用 示 例 , 考 虑 https : //github 中 包 含 的 文 件 。com/fracchiariello/process-mining-ASPand Conclusion Checking.这个问题需要一个流程模型和一个事件日志作为输入我们可以通过提供clingo相应的输入文件来解决该问题,与连接检查的ASP编码一起:clingoconformance_encoding.lp2012_80.lpBPI_encode_2012.asp templates.lp其中:BPI_PICE_2012.asp是事件日志(摘自业务流程智能挑战,BPI 2012,9)2012_80.lp第1https://github.com/potassco/clingo2 https://dlv.demacs.unical.it/home3https://codeocean.com/capsule/8240890/tree/v1第https://codeocean.com/capsule/2601782/tree/v1设计模板。Python是用Python编写的,并且只使用标准库,除了pm4py,10这里用于读取.xes文件。对于所使用的ASP系统的要求,我们请读者查看相关页面。3. 影响该软件已在[5]中使用,并在各种BPI挑战中的合成和真实日志用于日志生成的工具已集成到RuM11 [6]中,RuM 11是用于解决多个PM任务的最先进的桌面应用程序。这种集成为我们的工具和RuM提供了优势。直观的GUI,大大提高了可用性。从RuM的角度来看,我们的工具有利于日志生成的扩展功能的限制超出了那些在设计中可用的。事实上,在以前的版本中,这样的约束必须通过诉诸Alloy12 [7]语言以反直觉的方式指定,该语言本质上是一阶逻辑;相反,使用我们的工具,它们可以直接在LTL中指定,这提供了一种更自然的表达方式。更重要的是,通过新集成的基于ASP的方法,RuM表现出更好的时间性能。关 于 Conclusion Checking , 与 最 先 进 的 工 具 DecompressionAnalyzer [8]相比,我们的方法表现出稍差的执行时间性能,但具有更大的灵活性。事实上,December Analyzer是一个专门为DECEMBER提供的有限约束集量身定制的专用工具,而我们的工具则不会受到这样的限制,并且可以处理任何以LTL语言表示的约束。除了查询检查问题之外,由于现有工具目前无法解决这个问题,因此我们的查询检查工具可以用作扩展最先进的PM工具的基础(例如,RuM或ProM13)。至于潜在的应用程序,由于事件日志是任何 PM算法,我们的日志生成工具可用于在受控环境中测试其他PM技术,即,其中输入日志的特定特征可以根据需要进行调整。相反,有兴趣检查其事件日志是否符合流程模型或查找事件日志底层流程属性的https://codeocean.com/capsule/0075725/tree/v16 https://github.com/whitemech/lydia7 https://github.com/whitemech/LTLf2DFA8 http://ltlf2dfa.diag.uniroma1.it/9https://data.4tu.nl/articles/dataset/BPI_Challenge_2012/1268920410 https://pm4py.fit.fraunhofer.de/第11https://rulemining.org/12https://alloytools.org/13https://www.promtools.org/doku.phpF. Chiariello,F.M.Maggi和F.Patrizi软件影响14(2022)1004353最后,我们观察到,一致性检查是许多基本PM问题的一个重要组成部分,最终减少到检查事件日志wrt的一致性到流程模型;此外,我们的方法是声明性的,编码可以很容易地修改和定制其他问题。因此,在未来,我们的工具可能会被用作开发更复杂问题的新方法的重要组成部分,例如过程发现和过程模型修复[9]。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢部分工作得到了ERC高级赠款WhiteMech(编号834228),欧盟ICT-48 2020项目TAILOR(编号2020)的支持952215),欧盟ICT-49 2021项目AIPlan 4 EU(编号:101016442)和意大利UNIBZ项目CAT.引用[1]Wil M.P. van der Aalst,Maja Pesic,Helen Schonenberg,Declarative workflow:Balancing between flexibility and support , Comput. Sci. 残 余 偏 差 23 ( 2 )(2009)99-113。[2]摩西·朱塞佩·德贾科莫Vardi, Linear temporal logic and linear dynamiclogic onfinite traces , in : Proc. of the 23rd Int. Joint Conf. on Artificial Intelligence ,IJCAI/AAAI,2013.[3]IlkkaNiemelä,Logicprogramswithstablemodelsemanticasaconstraintprogrammingparadigm. 数学第内特尔25(3[4]John McCarthy,Escherichia tolerance,in:Progress,1999.[5]Francesco Chiariello,Fabrizio Maria Maggi,Fabio Patrizi,基于ASP的声明性过程挖掘,在:第36届AAAI人工智能会议,AAAI 2022,2022。[6]Anti Alman , Claudio Di Ciccio , Dominik Haas , Fabrizio Maria Maggi ,AlexanderNolte,RuM规则挖掘,in:Boudewijn F. van Dongen,Marco Montali,MoE Thandar Wynn(Eds.),2nd International Conference on Process Mining,ICPM2020,Padua, Italy, October 4-9,2020,IEEE,2020,pp. 第121-128页。[7]Daniel Jackson, Software Abstractions:Logic, Language,and Analysis, MITPress,2012.[8]Andrea Burattin,Fabrizio M. Maggi,Alessandro Sperduti,基于多视角声明性过程模型的一致性检查,Expert Syst. Appl. 65(2016)194-211。[9]Dirk Fahland, Wil M. P. van der Aalst, 模 型 修 复 -将 过 程 模 型 与 现 实 对 齐 ,Inf.Syst.47(2015)220-243。