CN115237817B - A dynamic model detection method and device for data exchange and shared low-code process - Google Patents
A dynamic model detection method and device for data exchange and shared low-code process Download PDFInfo
- Publication number
- CN115237817B CN115237817B CN202211156938.3A CN202211156938A CN115237817B CN 115237817 B CN115237817 B CN 115237817B CN 202211156938 A CN202211156938 A CN 202211156938A CN 115237817 B CN115237817 B CN 115237817B
- Authority
- CN
- China
- Prior art keywords
- dynamic model
- detection result
- type
- static
- dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3608—Analysis of software for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3616—Analysis of software for verifying properties of programs using software metrics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
技术领域technical field
本申请实施例涉及数据交换领域,具体而言,涉及一种数据交换共享低代码流程的动态模型检测方法和装置。The embodiments of the present application relate to the field of data exchange, and in particular, relate to a dynamic model detection method and device for data exchange and shared low-code flow.
背景技术Background technique
数据交换共享低代码流程是将具有不同功能的低代码流程服务通过数据交换的方式组装成更大服务,以满足用户需求。数据交换共享低代码流程并不是简单的服务组合,不合理的数据交换会导致流程无法执行或可以执行但无法达成业务目标,即“坏味道”的产生。Data exchange sharing low-code process is to assemble low-code process services with different functions into larger services through data exchange to meet user needs. Data exchange and shared low-code process is not a simple combination of services. Unreasonable data exchange will lead to processes that cannot be executed or can be executed but cannot achieve business goals, that is, the generation of "bad taste".
数据交换共享低代码流程常见的方式为通过BPMN进行建模,基于BPMN建模的数据交换共享低代码流程中,对坏味道的识别成了亟需解决的问题。然而,基于BPMN建模的坏味道识别过程中,一方面由于坏味道来源不同,发生场景复杂多变,要确定坏味道需要对常见的坏味道的种类进行归纳总结,而并对流程中的约束进行精确描述非常困难;另一方面,无法准确识别坏味道并提供具体的坏味道场景便于溯源;此外,由于流程执行场景复杂,坏味道种类多,如何快速识别复杂流程中的多种坏味道,成了业务上的难点。The common way of data exchange and sharing low-code process is to model through BPMN. In the low-code process of data exchange and sharing based on BPMN modeling, the identification of bad smell has become an urgent problem to be solved. However, in the process of identifying bad smells based on BPMN modeling, on the one hand, due to the different sources of bad smells, the occurrence scenarios are complex and changeable. To determine bad smells, it is necessary to summarize the common types of bad smells, and the constraints in the process It is very difficult to make an accurate description; on the other hand, it is impossible to accurately identify bad smells and provide specific bad smell scenarios for easy traceability; in addition, due to the complex process execution scenarios and many types of bad smells, how to quickly identify multiple bad smells in complex processes, became a business difficulty.
发明内容Contents of the invention
本申请实施例在于提供一种数据交换共享低代码流程的动态模型检测方法和装置,旨在解决数据交换共享低代码流程中坏味道识别时流程约束难以精确描述以及坏味道无法准确、快速的识别的问题。The embodiment of the present application is to provide a dynamic model detection method and device for data exchange and shared low-code flow, aiming to solve the problem that the process constraints are difficult to accurately describe when bad smells are identified in the data exchange shared low-code flow, and bad smells cannot be accurately and quickly identified The problem.
本申请实施例第一方面提供一种数据交换共享低代码流程的动态模型检测方法,包括:The first aspect of the embodiment of the present application provides a dynamic model detection method for data exchange and shared low-code flow, including:
将原始流程根据预设标准化规则,进行标准化,得到标准流程;Standardize the original process according to the preset standardization rules to obtain the standard process;
将通过静态检测的标准流程转换为动态模型;Transform the standard process through static inspection into a dynamic model;
生成所述通过静态检测的标准流程的动态约束,并检测所述动态模型是否满足所述动态约束,输出动态模型检测结果。Generate the dynamic constraints of the standard process that passed the static detection, and detect whether the dynamic model satisfies the dynamic constraints, and output the dynamic model detection result.
可选地,将原始流程根据预设标准化规则,进行标准化,得到标准流程,包括:Optionally, the original process is standardized according to preset standardization rules to obtain a standard process, including:
输入所述原始流程;Enter said original process;
提取所述原始流程中的原始信息,所述原始信息包括节点和连线;extracting original information in the original process, where the original information includes nodes and connections;
将所述原始流程中的所述原始信息,根据预设标准化规则转换为对应的标准流程信息,所述标准流程信息组成所述标准流程,所述标准流程能够正确应用于所述静态检测、以及生成所述动态模型和所述动态约束。Converting the original information in the original process into corresponding standard process information according to preset standardization rules, the standard process information constitutes the standard process, and the standard process can be correctly applied to the static detection, and The dynamic model and the dynamic constraints are generated.
可选地,将通过静态检测的所述标准流程转换为动态模型,包括:Optionally, converting the standard flow through static detection into a dynamic model, including:
对所述标准流程进行所述静态检测,得到静态检测结果;performing the static detection on the standard process to obtain a static detection result;
在所述静态检测结果为流程不存在第一类型坏味道的情况下,将所述静态检测结果对应的所述标准流程视为所述通过静态检测的标准流程;When the static detection result is that the process does not have the first type of bad smell, the standard process corresponding to the static detection result is regarded as the standard process that has passed the static test;
根据预设动态模型检测工具,选择对应的建模系统;According to the preset dynamic model detection tool, select the corresponding modeling system;
根据所述建模系统,将所述通过静态检测的标准流程转换为所述动态模型。According to the modeling system, the standard process passing the static detection is converted into the dynamic model.
可选地,对所述标准流程进行所述静态检测,得到静态检测结果,包括:Optionally, performing the static detection on the standard process to obtain a static detection result, including:
对所述标准流程进行静态规则解析,得到待检测信息集合,所述待检测信息集合对应所述第一类型坏味道;Static rule analysis is performed on the standard process to obtain a set of information to be detected, and the set of information to be detected corresponds to the first type of bad taste;
对所述待检测信息集合进行静态规则检测,得到所述静态检测结果,所述静态检测结果包括流程不存在第一类型坏味道和流程存在第一类型坏味道;Perform static rule detection on the information set to be detected to obtain the static detection result, the static detection result includes the process does not have the first type of bad smell and the process has the first type of bad smell;
在所述静态检测结果为流程存在第一类型坏味道的情况下,同时输出流程中所述第一类型坏味道的类型和场景,并根据所述静态检测结果得到最终检测结果。If the static detection result shows that the process has the first type of bad smell, the type and scene of the first type of bad smell in the process are output at the same time, and the final detection result is obtained according to the static detection result.
可选地,生成所述通过静态检测的标准流程的动态约束,并检测所述动态模型是否满足所述动态约束,输出动态模型检测结果,包括:Optionally, generating the dynamic constraints of the standard flow through static detection, and detecting whether the dynamic model satisfies the dynamic constraints, and outputting a dynamic model detection result, including:
根据所述预设动态模型检测工具和动态约束模板,生成所述通过静态检测的标准流程的所述动态约束,所述动态约束对应第二类型坏味道;According to the preset dynamic model detection tool and the dynamic constraint template, generate the dynamic constraint of the standard flow through the static detection, the dynamic constraint corresponds to the second type of bad taste;
根据所述预设动态模型检测工具,检测所述动态模型是否满足所述动态约束,输出所述动态模型检测结果。According to the preset dynamic model detection tool, detect whether the dynamic model satisfies the dynamic constraint, and output the dynamic model detection result.
可选地,输出所述动态模型检测结果,包括:Optionally, outputting the dynamic model detection result includes:
在所述动态模型满足所述动态约束的情况下,输出的所述动态模型检测结果为流程不存在第二类型坏味道;When the dynamic model satisfies the dynamic constraint, the output detection result of the dynamic model is that the process does not have the second type of bad smell;
在所述动态模型不满足所述动态约束的情况下,输出的所述动态模型检测结果为流程存在第二类型坏味道,同时输出流程中所述第二类型坏味道的类型;When the dynamic model does not satisfy the dynamic constraints, the output of the dynamic model detection result is that the process has a second type of bad smell, and at the same time output the type of the second type of bad smell in the process;
根据所述动态模型检测结果和/或所述静态检测结果,生成所述最终检测结果。The final detection result is generated according to the dynamic model detection result and/or the static detection result.
可选地,根据所述动态模型检测结果和/或所述静态检测结果,生成所述最终检测结果,包括:Optionally, generating the final detection result according to the dynamic model detection result and/or the static detection result includes:
在所述静态检测结果为流程存在第一类型坏味道的情况下,所述最终检测结果为流程存在第一类型坏味道以及所述第一类型坏味道的类型和场景;In the case where the static detection result is that the process has the first type of bad smell, the final detection result is that the process has the first type of bad smell and the type and scene of the first type of bad smell;
在所述动态模型检测结果为流程存在第二类型坏味道的情况下,所述最终检测结果为流程存在第二类型坏味道以及所述第二类型坏味道的类型;When the dynamic model detection result is that the process has a second type of bad smell, the final detection result is that the process has a second type of bad smell and the type of the second type of bad smell;
在所述动态模型检测结果为流程不存在第二类型坏味道的情况下,所述最终检测结果为流程不存在坏味道。In the case that the dynamic model detection result is that the process does not have the second type of bad smell, the final detection result is that the process does not have bad smell.
本申请实施例第二方面提供一种数据交换共享低代码流程的动态模型检测装置,包括:The second aspect of the embodiment of the present application provides a dynamic model detection device for data exchange and shared low-code flow, including:
标准化模块,用于将原始流程根据预设标准化规则,进行标准化,得到标准流程;The standardization module is used to standardize the original process according to the preset standardization rules to obtain the standard process;
动态模型生成模块,用于将通过静态检测的标准流程转换为动态模型;The dynamic model generation module is used to convert the standard process passing the static detection into a dynamic model;
动态约束生成模块,用于生成所述通过静态检测的标准流程的动态约束;A dynamic constraint generating module, configured to generate the dynamic constraints of the standard flow through static detection;
动态模型检测模块,用于检测所述动态模型是否满足所述动态约束,输出动态模型检测结果。A dynamic model detection module, configured to detect whether the dynamic model satisfies the dynamic constraints, and output a dynamic model detection result.
可选地,所述装置还包括;Optionally, the device also includes;
静态检测模块,用于对所述标准流程进行所述静态检测,得到静态检测结果;A static detection module, configured to perform the static detection on the standard process to obtain a static detection result;
结果分析模块,用于根据所述动态模型检测结果与所述静态检测结果,生成最终检测结果。The result analysis module is configured to generate a final detection result according to the dynamic model detection result and the static detection result.
可选地,所述标准化模块还包括:Optionally, the standardization module also includes:
输入子模块,用于输入所述原始流程;an input sub-module for inputting the original process;
提取子模块,用于提取所述原始流程中的原始信息,所述原始信息包括开始节点、结束节点、任务节点、策略节点、并行网关节点、子流程节点、排他网关节点、存储节点以及连线;An extracting submodule, configured to extract original information in the original process, the original information including start nodes, end nodes, task nodes, policy nodes, parallel gateway nodes, sub-process nodes, exclusive gateway nodes, storage nodes, and connections ;
转换子模块,用于将所述原始流程中的所述原始信息,根据预设标准化规则转换为对应的标准流程信息,所述标准流程信息包括有穷节点集合、事件集合、活动集合、网关集合、数据集合以及连接对象集合中的元素;The conversion sub-module is used to convert the original information in the original process into corresponding standard process information according to preset standardization rules, and the standard process information includes a finite node set, an event set, an activity set, and a gateway set , data collection, and elements in the connection object collection;
生成子模块,用于将所述标准流程信息组成所述标准流程,所述标准流程能够正确应用于所述静态检测、以及生成所述动态模型和所述动态约束。A generation sub-module is used to compose the standard process information into the standard process, the standard process can be correctly applied to the static detection, and generate the dynamic model and the dynamic constraints.
其中,所述静态检测模块还包括:Wherein, the static detection module also includes:
静态规则解析子模块,用于对所述标准流程进行静态规则解析,得到待检测信息集合,所述待检测信息集合对应所述第一类型坏味道;The static rule analysis submodule is used to perform static rule analysis on the standard process to obtain a set of information to be detected, and the set of information to be detected corresponds to the first type of bad taste;
静态规则检测子模块,用于对所述待检测信息集合进行静态规则检测,得到所述静态检测结果,所述静态检测结果包括流程不存在第一类型坏味道和流程存在第一类型坏味道;A static rule detection submodule, configured to perform static rule detection on the information set to be detected to obtain the static detection result, the static detection result including the process does not have the first type of bad smell and the process has the first type of bad smell;
静态检测结果输出子模块,用于在所述静态检测结果为流程存在第一类型坏味道的情况下,同时输出流程中所述第一类型坏味道的类型和场景,并根据所述静态检测结果得到最终检测结果。The static detection result output submodule is used to output the type and scene of the first type of bad smell in the process at the same time when the static detection result is that the process has the first type of bad smell, and according to the static detection result Get the final test result.
其中,所述动态模型生成模块还包括:Wherein, the dynamic model generation module also includes:
确认子模块,用于在所述静态检测结果为流程不存在第一类型坏味道的情况下,将所述静态检测结果对应的所述标准流程视为所述通过静态检测的标准流程;A confirmation submodule, configured to regard the standard process corresponding to the static test result as the standard process that passed the static test when the static test result shows that the process does not have the first type of bad smell;
选择子模块,用于根据预设动态模型检测工具,选择对应的建模系统;The selection sub-module is used to select the corresponding modeling system according to the preset dynamic model detection tool;
转换子模块,用于根据所述建模系统,将所述通过静态检测的标准流程转换为所述动态模型。The conversion sub-module is used to convert the standard process passing the static detection into the dynamic model according to the modeling system.
其中,所述动态模型检测模块还包括:Wherein, the dynamic model detection module also includes:
第一动态结果输出子模块,用于在所述动态模型满足所述动态约束的情况下,输出的所述动态模型检测结果为流程不存在第二类型坏味道;The first dynamic result output submodule is configured to output the dynamic model detection result that the process does not have the second type of bad smell when the dynamic model satisfies the dynamic constraint;
第二动态结果输出子模块,用于在所述动态模型不满足所述动态约束的情况下,输出的所述动态模型检测结果为流程存在第二类型坏味道,同时输出流程中所述第二类型坏味道的类型。The second dynamic result output submodule is used to output the detection result of the dynamic model that the process has a second type of bad smell when the dynamic model does not satisfy the dynamic constraint, and output the second type of bad smell in the process at the same time. Type bad taste type.
其中,所述结果分析模块还包括:Wherein, the result analysis module also includes:
第一结果分析子模块,用于在所述静态检测结果为流程存在第一类型坏味道的情况下,所述最终检测结果为流程存在第一类型坏味道以及所述第一类型坏味道的类型和场景;The first result analysis sub-module is used to: when the static detection result is that the process has the first type of bad smell, the final detection result is that the process has the first type of bad smell and the type of the first type of bad smell and scene;
第二结果分析子模块,在所述动态模型检测结果为流程存在第二类型坏味道的情况下,所述最终检测结果为流程存在第二类型坏味道以及所述第二类型坏味道的类型;The second result analysis sub-module, when the dynamic model detection result is that the process has a second type of bad smell, the final detection result is that the process has a second type of bad smell and the type of the second type of bad smell;
第三结果分析子模块,在所述动态模型检测结果为流程不存在第二类型坏味道的情况下,所述最终检测结果为流程不存在坏味道。The third result analysis sub-module, when the dynamic model detection result is that the process does not have the second type of bad smell, the final detection result is that the process does not have bad smell.
有益效果:Beneficial effect:
本申请提供一种数据交换共享低代码流程的动态模型检测方法和装置,包括:将原始流程根据预设标准化规则,进行标准化,得到标准流程;将通过静态检测的标准流程转换为动态模型;生成所述通过静态检测的标准流程的动态约束,并检测所述动态模型是否满足所述动态约束,输出动态模型检测结果。本申请通过对标准化的原始流程进行静态检测和动态检测两个阶段的检测,对第一类型坏味道和第二类型坏味道进行识别,并输出最终检测结果,具有以下效果:This application provides a dynamic model detection method and device for data exchange and shared low-code flow, including: standardizing the original flow according to preset standardization rules to obtain a standard flow; converting the standard flow through static detection into a dynamic model; generating Passing the dynamic constraints of the standard process of the static detection, and detecting whether the dynamic model satisfies the dynamic constraints, and outputting a dynamic model detection result. This application detects the first type of bad smell and the second type of bad smell by performing two stages of static detection and dynamic detection on the standardized original process, and outputs the final detection result, which has the following effects:
(1)本申请对常见的坏味道种类进行了归纳总结,同时精确描述流程中的动态约束,提升了坏味道识别的精确性。(1) This application summarizes the common types of bad taste, and at the same time accurately describes the dynamic constraints in the process, which improves the accuracy of bad taste recognition.
(2)本申请通过按照预设标准化规则,将不同配置、不同类型的原始流程标准化,可以处理各种复杂场景下的数据交换共享低代码流程。(2) This application standardizes different configurations and different types of original processes according to the preset standardization rules, and can handle data exchange sharing low-code processes in various complex scenarios.
(3)本申请通过静态检测和动态检测结合的方式分别对第一类型坏味道和第二类型坏味道进行识别,实现了多阶段检测和多检查器检测,有效提升了数据交换共享低代码流程中坏味道识别的效率。(3) This application recognizes the first type of bad smell and the second type of bad smell through the combination of static detection and dynamic detection, realizing multi-stage detection and multi-checker detection, effectively improving the low-code flow of data exchange and sharing Efficiency in bad taste recognition.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the accompanying drawings that need to be used in the description of the embodiments of the present application. Obviously, the accompanying drawings in the following description are only some embodiments of the present application , for those skilled in the art, other drawings can also be obtained according to these drawings without paying creative labor.
图1是本申请一实施例提出的数据交换共享低代码流程的动态模型检测方法流程图;Fig. 1 is a flowchart of a dynamic model detection method for data exchange sharing low-code flow proposed by an embodiment of the present application;
图2a是本申请一实施例提出的常见坏味道分类图;Fig. 2a is a common bad taste classification diagram proposed by an embodiment of the present application;
图2b是本申请一实施例提出的数据坏味道分类图;Fig. 2b is a data bad smell classification diagram proposed by an embodiment of the present application;
图2c是本申请一实施例提出的结构坏味道分类图;Fig. 2c is a structural bad taste classification diagram proposed by an embodiment of the present application;
图2d是本申请一实施例提出的自定义坏味道分类图;Fig. 2d is a self-defined bad taste classification diagram proposed by an embodiment of the present application;
图2e是本申请一实施例提出的配置坏味道分类图;Fig. 2e is a configuration bad smell classification diagram proposed by an embodiment of the present application;
图3是本申请一实施例提出的开始事件startEvent的Kripke结构示意图;Fig. 3 is a schematic diagram of the Kripke structure of the start event startEvent proposed by an embodiment of the present application;
图4是本申请一实施例提出的数据交换共享低代码流程的动态模型检测装置示意图。FIG. 4 is a schematic diagram of a dynamic model detection device for data exchange sharing low-code flow proposed by an embodiment of the present application.
具体实施方式detailed description
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
为更好的理解本申请实施例提供的方法,首先对下文中出现的专业术语进行解释说明。In order to better understand the methods provided in the embodiments of the present application, firstly, the technical terms appearing below are explained.
数据交换共享低代码流程,或称服务组装,是指将简单的低代码服务流程组装成复杂的服务流程。不同的服务来自不同的平台或系统,对外提供各种不同的功能。通过将不同的提供单一功能的服务组装在一起,形成了规模更大,功能更丰富的服务。Data exchange shared low-code process, or service assembly, refers to the assembly of simple low-code service processes into complex service processes. Different services come from different platforms or systems, and provide various functions to the outside world. By assembling together different services that provide a single function, a larger and more feature-rich service is formed.
BPMN(Business Process Model and Notation)已经成为广泛使用的业务流程建模语言。基于BPMN进行数据交换共享低代码流程,语义更为丰富。标准业务流程模型符号(BPMN)提供了以图形符号描述业务流程的能力,并让使用者能够以标准方式表达这些流程。BPMN (Business Process Model and Notation) has become a widely used business process modeling language. Data exchange and shared low-code process based on BPMN, with richer semantics. Standard Business Process Model Notation (BPMN) provides the ability to describe business processes in graphical notation and enables users to express these processes in a standard way.
模型检测技术,是通过搜索系统模型的有穷状态空间来检验系统的行为是否具有预测属性的一种自动验证技术,是形式化验证的主要方法。模型检测的基本思想是,对于有穷状态模型,通过状态空间搜索而不是数学证明的方法检测模型是否满足给定的约束。模型检测利用状态迁移系统(M)描述系统模型,利用时序逻辑公式(φ)描述约束。模型检测在有穷状态空间内,检查时序逻辑公式(φ)是否在整个状态迁移系统(M)上成立。由于M的状态空间是有限的,检查M是否满足约束φ可以在有限时间里完成。Model checking technology is an automatic verification technology that checks whether the behavior of the system has predictive properties by searching the finite state space of the system model, and is the main method of formal verification. The basic idea of model checking is that, for a finite state model, it is checked whether the model satisfies the given constraints by means of state space search rather than mathematical proof. Model checking uses the state transition system (M) to describe the system model, and uses the temporal logic formula (φ) to describe the constraints. Model checking checks whether a temporal logic formulation (φ) holds over the entire state transition system (M) in a finite state space. Since the state space of M is finite, checking whether M satisfies the constraint φ can be done in finite time.
模型检测主要分为三个步骤:建模,规约和验证。建模是将有穷状态并发系统转换为模型检测工具使用的模型。约束一般使用线性时序逻辑公式LTL或者计算树逻辑公式CTL进行描述。验证是模型检测工具执行系统模型M,在整个状态空间上进行穷尽搜索,检测是否满足属性约束φ。如果满足,输出无错误,否则输出一条错误的路径,作为系统模型M不满足属性约束φ的反例,以便追溯错误来源。Model checking is mainly divided into three steps: modeling, specification and verification. Modeling is the translation of finite-state concurrent systems into models used by model checking tools. Constraints are generally described using linear sequential logic formulas LTL or computational tree logic formulas CTL. Verification is that the model checking tool executes the system model M, performs an exhaustive search on the entire state space, and checks whether the attribute constraint φ is satisfied. If it is satisfied, no error is output, otherwise an erroneous path is output as a counterexample that the system model M does not satisfy the attribute constraint φ, so as to trace the source of the error.
相关技术中,基于BPMN建模的坏味道识别过程中,一方面由于坏味道来源不同,发生场景复杂多变,要确定坏味道需要对常见的坏味道的种类进行归纳总结,而并对流程中的约束进行精确描述非常困难;另一方面,无法准确识别坏味道并提供具体的坏味道场景便于溯源;此外,由于流程执行场景复杂,坏味道种类多,如何快速识别复杂流程中的多种坏味道,成了业务上的难点。In related technologies, in the process of identifying bad smells based on BPMN modeling, on the one hand, due to the different sources of bad smells, the occurrence scenarios are complex and changeable. To determine bad smells, it is necessary to summarize the common types of bad smells, and to analyze the types of bad smells in the process. On the other hand, it is impossible to accurately identify bad smells and provide specific bad smell scenarios for easy traceability; in addition, due to the complexity of process execution scenarios and many types of bad smells, how to quickly identify multiple bad smells in complex processes Taste has become a difficult point in business.
有鉴于此,本申请实施例提出一种数据交换共享低代码流程的动态模型检测方法,旨在解决数据交换共享低代码流程中坏味道识别时流程约束难以精确描述以及坏味道无法准确、快速的识别的问题。图1示出了数据交换共享低代码流程的动态模型检测方法流程图,如图1所示,具体步骤如下:In view of this, the embodiment of the present application proposes a dynamic model detection method for data exchange and sharing low-code process, aiming at solving the problem that process constraints are difficult to accurately describe when bad smells are identified in data exchange and shared low-code processes, and bad smells cannot be accurately and quickly detected. problem of identification. Figure 1 shows a flow chart of a dynamic model detection method for data exchange sharing low-code processes, as shown in Figure 1, and the specific steps are as follows:
S101、将原始流程根据预设标准化规则,进行标准化,得到标准流程。S101. Standardize the original process according to preset standardization rules to obtain a standard process.
S102、将通过静态检测的标准流程转换为动态模型。S102. Convert the standard process passing the static test into a dynamic model.
S103、生成通过静态检测的标准流程的动态约束,并检测动态模型是否满足动态约束,输出动态模型检测结果。S103. Generate dynamic constraints of the standard process that pass the static detection, and detect whether the dynamic model satisfies the dynamic constraints, and output a dynamic model detection result.
具体实施步骤S101时,由于不同的原始流程中的信息(包括流程元素和流程配置等)种类繁多复杂,为保证本申请提供的方法可以处理各种复杂的原始流程,需要对原始流程进行标准化,为后续的静态检测和动态检测奠定基础。因此,本申请实施例定义了预设标准化规则,用于将原始流程中的信息统一转换为后续可用的标准化信息。When step S101 is specifically implemented, since the information in different original processes (including process elements and process configurations, etc.) Lay the foundation for subsequent static detection and dynamic detection. Therefore, the embodiment of the present application defines a preset standardization rule, which is used to uniformly convert the information in the original process into standardized information available later.
首先,对标准流程进行如下定义:First, define the standard process as follows:
基于BPMN流程,将一个标准流程中的标准流程信息定义为在有穷节点集合N、事件集合E、活动集合A、网关集合G、数据集合D以及连接对象集合F中的元素。Based on the BPMN process, the standard process information in a standard process is defined as the elements in the finite node set N, event set E, activity set A, gateway set G, data set D and connection object set F.
其中,对于有穷节点集合N,N = E∪A∪G;Among them, for a finite set of nodes N, N = E∪A∪G;
对于事件集合E,E ⊆ N,E = startEvent∪endEvent,其中startEvent是开始事件集合,endEvent是结束事件集合;For event set E, E ⊆ N, E = startEvent∪endEvent, where startEvent is the start event set, endEvent is the end event set;
对于活动集合A,A ⊆ N,A = task∪subProcess,其中task是任务活动集合,subProcess是子流程活动集合。For an activity set A, A ⊆ N, A = task∪subProcess, where task is a set of task activities, and subProcess is a set of subprocess activities.
对于网关集合G,G ⊆ N,G = exclusiveGateway∪parallelGateway∪inclusiveGateway。其中exclusiveGateway是排他网关集合,exclusiveGateway =exclusiveSplitGateway∪exclusiveJoinGateway;parallelGateway是并行网关集合,parallelGateway = parallelSplitGateway∪parallelJoinGateway;inclusiveGateway是包容网关集合,inclusiveGateway = inclusiveSplitGateway∪inclusiveJoinGateway;For a set of gateways G, G ⊆ N, G = exclusiveGateway∪parallelGateway∪inclusiveGateway. Where exclusiveGateway is an exclusive gateway set, exclusiveGateway = exclusiveSplitGateway∪exclusiveJoinGateway; parallelGateway is a parallel gateway set, parallelGateway = parallelSplitGateway∪parallelJoinGateway; inclusiveGateway is an inclusive gateway set, inclusiveGateway = inclusiveSplitGateway∪inclusiveJoinGateway;
对于数据集合D,D = dataObject∪dataInput∪dataOutput∪dataStore。dataObject是数据对象集合,dataInput是输入对象集合,dataOutput是输出对象集合,dataStore是存储对象集合;For a data set D, D = dataObject∪dataInput∪dataOutput∪dataStore. dataObject is a collection of data objects, dataInput is a collection of input objects, dataOutput is a collection of output objects, and dataStore is a collection of storage objects;
对于连接对象集合F,F = sequenceFlow∪messageFlow。sequenceFlow是序列流集合,sequenceFlow ⊆ N × N。messageFlow是信息流集合,messageFlow ⊆ startEvent× dataObject∪dataInput × task∪task × dataOutput∪task × dataStore。For a set of connection objects F, F = sequenceFlow∪messageFlow. sequenceFlow is a collection of sequence flows, sequenceFlow ⊆ N × N. messageFlow is a collection of information flows, messageFlow ⊆ startEvent× dataObject∪dataInput × task∪task × dataOutput∪task × dataStore.
然后,将原始流程中的原始信息可以划分为开始节点,结束节点,任务节点,策略节点,并行网关节点,子流程节点,排他网关节点,存储节点以及连线。Then, the original information in the original process can be divided into start node, end node, task node, policy node, parallel gateway node, sub-process node, exclusive gateway node, storage node and connection.
表1示出了预设标准化规则中原始流程信息与标准流程信息的对应关系,以表1内容为依据可以将原始流程信息和标准流程信息进行对应转换。Table 1 shows the corresponding relationship between the original process information and the standard process information in the preset standardization rules, and the original process information and the standard process information can be converted correspondingly based on the contents of Table 1.
表1 预设标准化规则中原始流程信息与标准流程信息的对应关系Table 1 Correspondence between original process information and standard process information in preset standardization rules
在定义好上述的原始流程信息、标准流程信息以及预设标准化规则后,执行上述S101,具体为输入原始流程,随后提取所述原始流程中的上述原始信息,并将该原始流程中提取得到的原始信息根据预设标准化规则转换为对应的标准流程信息;最后将所述标准流程信息组成所述标准流程。After defining the above-mentioned original process information, standard process information, and preset standardization rules, execute the above S101, specifically inputting the original process, then extracting the above-mentioned original information in the original process, and extracting the extracted information from the original process The original information is converted into corresponding standard process information according to preset standardization rules; finally, the standard process information is composed into the standard process.
例如,提取原始流程中的开始节点信息,该开始节点信息包括id和name,子元素信息包括outgoing,基于预设标准化规则,转换为标准流程信息中的startEvent,包括id和name,子元素信息包括outgoing,将该startEvent信息作为标准流程的一部分。其他标准流程信息的生成也是类似的方式,在此不再赘述。For example, extract the start node information in the original process, the start node information includes id and name, and the sub-element information includes outgoing, based on the preset standardization rules, convert it to the startEvent in the standard process information, including id and name, and the sub-element information includes outgoing, the startEvent information as part of the standard process. Other standard process information is also generated in a similar manner, which will not be repeated here.
值得注意的是,在定义上述标准流程、标准流程信息以及预设标准化规则时,是参考后续静态检测和动态检测中的各种工具和模板(例如预设动态模型检测工具、动态约束模板等)得出的,以确保基于上述预设标准化规则转换得到的标准流程,在后续的静态检测和动态检测过程中能够发挥作用。It is worth noting that when defining the above-mentioned standard process, standard process information, and preset standardization rules, it refers to various tools and templates in subsequent static detection and dynamic detection (such as preset dynamic model detection tools, dynamic constraint templates, etc.) To ensure that the standard process converted based on the above preset standardization rules can play a role in the subsequent static detection and dynamic detection process.
具体实施步骤S102时,将通过静态检测的标准流程转换为动态模型。本申请实施例采取静态检测和动态检测结合的方式对坏味道进行识别,其中静态检测无需流程执行,可用于检测第一类型坏味道,动态检测需要流程执行,可以用于检测所有的坏味道,但是由于流程执行的难度大耗时长等问题,本申请实施例不直接使用动态检测对所有类型的坏味道进行识别,而是将动态模型检测用于检测第二类型坏味道,通过结合静态检测和动态检测,可以提升坏味道识别的准确性和效率。When step S102 is specifically implemented, the standard process of passing the static detection is converted into a dynamic model. The embodiment of the present application adopts a combination of static detection and dynamic detection to identify bad smells. Static detection does not require process execution and can be used to detect the first type of bad smell. Dynamic detection requires process execution and can be used to detect all bad smells. However, due to the difficulty of process execution and time-consuming problems, the embodiment of the present application does not directly use dynamic detection to identify all types of bad smells, but uses dynamic model detection to detect the second type of bad smells. By combining static detection and Dynamic detection can improve the accuracy and efficiency of bad taste identification.
首先,本申请实施例对常见的坏味道进行了定义和分类,图2a-2e示出了本申请实施例定义的常见坏味道分类图,如图2a所示,常见坏味道定义为如下四类:First of all, the embodiment of the present application defines and classifies common bad tastes. Figures 2a-2e show the classification diagrams of common bad tastes defined in the embodiments of the present application. As shown in Figure 2a, common bad tastes are defined as the following four categories :
数据坏味道,如图2b所示,包括并行操作冲突,连续操作冲突,数据缺失,数据冗余,并发数据依赖,初始数据冗余等坏味道;Data bad smells, as shown in Figure 2b, include parallel operation conflicts, continuous operation conflicts, missing data, data redundancy, concurrent data dependencies, initial data redundancy, and other bad smells;
结构坏味道,如图2c所示,包括缺少开始节点和结束节点,多个开始节点和结束节点,存在循环,连线错误,缺少默认路径,重复连线等坏味道;The bad smell of the structure, as shown in Figure 2c, includes the lack of start nodes and end nodes, multiple start nodes and end nodes, loops, connection errors, lack of default paths, repeated connections, and other bad smells;
自定义坏味道,如图2d所示,包括存储缺失,节点的执行顺序不符合业务需求和缺少执行任务节点等坏味道;Custom bad smells, as shown in Figure 2d, include bad smells such as missing storage, the execution order of nodes does not meet business requirements, and lack of task execution nodes;
配置坏味道,如图2e所示,包括配置坏味道:节点和数据对象名称的缺失和节点和数据对象名称的重复坏味道。Configuration bad smells, as shown in Figure 2e, include configuration bad smells: absence of node and data object names and duplication of node and data object names bad smells.
随后,将无需流程执行即可识别的坏味道归为第一类型坏味道,用于后续静态检测;上述坏味道中在流程执行时才会出现的坏味道归为第二类型坏味道,用于后续动态检测。其中,子流程错误坏味道无法通过静态或动态检测出来,本申请实施例针对的为图2a-2e中除去子流程错误坏味道的其他类型坏味道的检测。Subsequently, the bad smells that can be identified without process execution are classified as the first type of bad smells for subsequent static detection; among the above bad smells that only appear when the process is executed, they are classified as the second type of bad smells for use in Follow-up dynamic detection. Among them, the bad smell of sub-process errors cannot be detected through static or dynamic detection. The embodiment of the present application is aimed at the detection of other types of bad smells except for the bad smell of sub-process errors in Figures 2a-2e.
由于静态检测相比动态检测更加简单,无需流程执行,因此本申请实施例在对标准流程进行动态模型检测之前,需要先对其进行静态检测,如果静态检测结果已经确定原始流程存在坏味道,就无需再进行后续动态检测,这样可以有效提升坏味道的识别效率,同时降低流程的成本。当存在通过静态检测的标准流程时,再进行后续的动态模型检测。Since static detection is simpler than dynamic detection and does not require process execution, the embodiment of this application needs to perform static detection on the standard process before performing dynamic model detection on it. If the static detection result has determined that the original process has a bad smell, then There is no need for subsequent dynamic detection, which can effectively improve the identification efficiency of bad smells and reduce the cost of the process. When there is a standard process that passes the static inspection, the subsequent dynamic model inspection is performed.
其中,静态检测是依据如下方式进行的:Among them, the static detection is carried out according to the following methods:
对标准化流程进行静态规则解析,依据预设的第一类型坏味道对应的检查函数,对标准流程信息进行解析,输出待检测信息集合。例如,当对标准流程进行缺少开始节点或结束节点的坏味道的静态规则解析时,输入标准流程中所有的标准化流程信息,解析后输出对应该种坏味道的startEvent和endEvent信息。Perform static rule analysis on the standardized process, analyze the standard process information according to the preset inspection function corresponding to the first type of bad taste, and output the information set to be detected. For example, when performing static rule analysis of a bad smell that lacks a start node or an end node for a standard process, all standardized process information in the standard process is input, and the startEvent and endEvent information corresponding to the bad smell is output after parsing.
随后对解析后输出的待检测信息集合进行静态规则检测,依据预设的第一类型坏味道对应的检查函数,对待检测信息集合进行检测,输出静态检测结果,所述静态检测结果包括流程不存在第一类型坏味道(输出True)和流程存在第一类型坏味道(输出False)。Then, static rule detection is performed on the set of information to be detected outputted after analysis, and the set of information to be detected is detected according to the preset check function corresponding to the first type of bad taste, and a static detection result is output, the static detection result includes that the process does not exist Type 1 bad smell (output True) and the process has type 1 bad smell (output False).
在所述静态检测结果为流程存在第一类型坏味道(输出False)的情况下,同时输出流程中所述第一类型坏味道的类型和场景,并根据所述静态检测结果得到最终检测结果。此时表示静态检测已经检测出坏味道,则无需再进行后续的动态检测,直接进入结果分析模块,输出最终检测结果即可。When the static detection result shows that the process has the first type of bad smell (output False), the type and scene of the first type of bad smell in the process are output at the same time, and the final detection result is obtained according to the static detection result. At this time, it means that the static detection has detected the bad taste, so there is no need to perform subsequent dynamic detection, and it can directly enter the result analysis module and output the final detection result.
在所述静态检测结果为流程不存在第一类型坏味道的情况下,将所述静态检测结果对应的所述标准流程视为所述通过静态检测的标准流程,此时执行S102步骤,具体如下:When the static detection result shows that the flow does not have the first type of bad smell, the standard flow corresponding to the static detection result is regarded as the standard flow that passes the static detection, and step S102 is executed at this time, specifically as follows :
根据预设动态模型检测工具,选择对应的建模系统。如上所述,本申请实施例在定义标准流程时,是参考了动态检测过程中预设动态模型检测工具、建模系统和约束模板的,其本质上是为了使该标准流程中的标准流程信息能够适用于动态检测的过程。同理,在此对通过静态检测的标准流程进行动态建模的时候,也需要参考后续的预设动态模型检测工具选择建模工具。本申请实施例基于后续预设动态模型检测工具可以选择迁移系统(如Kripke结构)、有穷自动机(如Büchi自动机)或Petri网对该通过静态检测的标准流程进行动态建模,生成动态模型。具体的建模工具选择本申请不做限制,可以根据后续预设动态模型检测工具进行选择。According to the preset dynamic model detection tool, select the corresponding modeling system. As mentioned above, when the embodiment of the present application defines the standard process, it refers to the preset dynamic model detection tool, modeling system and constraint template in the dynamic detection process, which is essentially to make the standard process information in the standard process Can be applied to the process of dynamic detection. Similarly, when performing dynamic modeling on the standard process that has passed the static inspection, it is also necessary to refer to the subsequent preset dynamic model inspection tools to select the modeling tool. In the embodiment of the present application, based on the follow-up preset dynamic model detection tool, a migration system (such as Kripke structure), finite automata (such as Büchi automaton) or Petri net can be selected to dynamically model the standard process that has passed static detection, and generate dynamic Model. The specific modeling tool selection is not limited in this application, and can be selected according to the subsequent preset dynamic model detection tools.
例如,若选择Kripke结构对通过静态检测的标准流程进行建模,具体为对标准流程中的标准流程信息,基于Kripke结构进行转换。图3示出了开始事件startEvent的Kripke结构示意图,如图3所示,将标准流程信息中的startEvent转换为Kripke结构中的模型初始状态init。其他的标准流程信息也基于对应的建模方法中的结构进行转换,具体内容参见现有技术中的建模方法,本申请不再赘述。For example, if the Kripke structure is selected to model the standard process that has passed the static inspection, specifically, the standard process information in the standard process is converted based on the Kripke structure. Fig. 3 shows a schematic diagram of the Kripke structure of the start event startEvent. As shown in Fig. 3, the startEvent in the standard process information is converted into the model initial state init in the Kripke structure. Other standard process information is also converted based on the structure in the corresponding modeling method. For details, refer to the modeling method in the prior art, which will not be repeated in this application.
经预设的建模工具,对通过静态检测的标准流程进行建模,最终生成动态模型,用于后续的动态检测。Through the preset modeling tools, the standard process that passes the static inspection is modeled, and finally a dynamic model is generated for subsequent dynamic inspection.
具体执行S103时,需要生成所述通过静态检测的标准流程的所述动态约束,其中,动态约束为使用线性时序逻辑公式LTL或者计算机树逻辑公式CTL描述流程执行的约束,其对应了需要依靠流程执行才会产生的第二类型坏味道。When specifically executing S103, it is necessary to generate the dynamic constraints of the standard process that passes the static detection, wherein the dynamic constraints are the constraints that describe the execution of the process using the linear sequential logic formula LTL or the computer tree logic formula CTL, which corresponds to the need to rely on the process The second type of bad smell comes from execution.
首先,依据第二类型坏味道,对通过静态检测的标准流程中的标准流程信息进行解析,得到对应第二类型坏味道的标准流程信息中的集合。随后,根据预设的约束模板,确定该第二类型坏味道对应的标准流程信息中集合的对应约束描述,将该约束描述作为该种的第二类型坏味道的动态约束进行输出。如上并对所有的第二类型坏味道确定其动态约束。First, according to the second type of bad smell, the standard process information in the standard process that has passed the static detection is analyzed to obtain a set of standard process information corresponding to the second type of bad smell. Subsequently, according to the preset constraint template, determine the corresponding constraint description set in the standard process information corresponding to the second type of bad smell, and output the constraint description as the dynamic constraint of the second type of bad smell. As above and determine its dynamic constraints for all second-type bad tastes.
例如,若需要生成存储缺失坏味道对应的动态描述,需要首先对通过静态检测的标准流程中的标准流程信息进行解析,得到该种坏味道对应的数据集合D,随后基于预设的约束模板,确定存储缺失坏味道以及该数据集合D对应的约束描述,表2示出了预设约束模板中的存储缺失坏味道对应的约束表述,将该约束描述作为存储缺失坏味道的动态约束进行输出。For example, if it is necessary to generate a dynamic description corresponding to the missing bad smell, it is necessary to first analyze the standard process information in the standard process that has passed the static detection to obtain the data set D corresponding to the bad smell, and then based on the preset constraint template, Determine the bad smell of storage loss and the constraint description corresponding to the data set D. Table 2 shows the constraint expression corresponding to the bad smell of storage loss in the preset constraint template, and output the constraint description as a dynamic constraint of the bad smell of storage loss.
表2 预设约束模板中的存储缺失坏味道对应的约束表述Table 2 Constraint expressions corresponding to the bad smell of storage missing in the preset constraint template
当得到了动态模型和动态约束之后,根据所述预设动态模型检测工具,检测所述动态模型是否满足所述动态约束,输出所述动态模型检测结果。具体地,对于每个第二类型坏味道对应的动态约束描述,当有穷状态的动态模型满足该种动态约束描述时,输出动态模型检测结果为流程不存在第二类型坏味道(True);当有穷状态的动态模型不满足该种动态约束描述时,输出动态模型检测结果为流程存在第二类型坏味道(False),同时输出该坏味道的具体类型,便于后续人工分析该种坏味道发生时系统的执行情况。After the dynamic model and dynamic constraints are obtained, according to the preset dynamic model detection tool, it is detected whether the dynamic model satisfies the dynamic constraints, and the dynamic model detection result is output. Specifically, for each dynamic constraint description corresponding to the second type of bad smell, when the dynamic model of the finite state satisfies the dynamic constraint description, the output dynamic model detection result is that the process does not have the second type of bad smell (True); When the dynamic model of the finite state does not satisfy the dynamic constraint description, the output dynamic model detection result is that the process has the second type of bad taste (False), and at the same time output the specific type of the bad smell, which is convenient for subsequent manual analysis of the bad smell How the system performed when it happened.
其中,该预设动态模型检测工具是前述定义标准流程以及选择建模工具的基础,前述定义标准流程以及选择建模工具需要保证能够适用于该预设动态模型检测工具。例如,可以选择Spin模型检查器或NuSMV模型检查器,具体的预设动态模型检测工具可以按照具体需求选择,本申请在此不作限制。Wherein, the preset dynamic model checking tool is the basis for defining the standard procedure and selecting the modeling tool, and the aforementioned defining standard procedure and selecting the modeling tool need to be applicable to the preset dynamic model checking tool. For example, a Spin model checker or a NuSMV model checker can be selected, and a specific preset dynamic model checker can be selected according to specific requirements, which is not limited in this application.
此外,在动态检测过程输出动态模型检测结果,或静态检测结果为流程存在第一类型坏味道(即无需再进行后续动态检测)的情况下,本实施例还会根据动态模型检测结果和/或静态检测结果,生成最终检测结果。具体的最终检测结果包括以下情况:In addition, when the dynamic model detection result is output during the dynamic detection process, or the static detection result shows that the process has the first type of bad taste (that is, no subsequent dynamic detection is required), this embodiment will also use the dynamic model detection result and/or The static detection result generates the final detection result. Specific final test results include the following:
情况一、在所述静态检测结果为流程存在第一类型坏味道的情况下,所述最终检测结果为流程存在第一类型坏味道,同时输出所述第一类型坏味道的类型和场景。此时表明原始流程在静态检测过程已经检测出有第一类型坏味道存在,为提升检测效率、降低检测成本,不再进行后续动态检测,直接输出最终检测结果。Case 1: When the static detection result is that the process has the first type of bad smell, the final detection result is that the process has the first type of bad smell, and at the same time output the type and scene of the first type of bad smell. At this time, it indicates that the original process has detected the existence of the first type of bad smell in the static detection process. In order to improve the detection efficiency and reduce the detection cost, no follow-up dynamic detection is performed, and the final detection result is directly output.
情况二、在所述动态模型检测结果为流程存在第二类型坏味道的情况下,所述最终检测结果为流程存在第二类型坏味道,同时输出所述第二类型坏味道的类型。此时表明原始流程通过静态检测,该原始流程不存在第一类型坏味道,进行后续的动态模型检测时,检测到原始流程在动态检测的流程执行时存在第二类型坏味道,输出最终检测结果。Case 2: When the dynamic model detection result is that the process has a second type of bad smell, the final detection result is that the process has a second type of bad smell, and at the same time output the type of the second type of bad smell. At this time, it indicates that the original process has passed the static test, and the original process does not have the first type of bad smell. When the subsequent dynamic model test is performed, it is detected that the original process has the second type of bad smell when the dynamic detection process is executed, and the final test result is output. .
情况三、在所述动态模型检测结果为流程不存在第二类型坏味道的情况下,所述最终检测结果为流程不存在坏味道。此时表明该原始流程通过静态检测,不存在第一类型坏味道;随后通过了动态模型检测,不存在第二类型坏味道,说明该原始流程不存在上述总结出的常见坏味道(第一类型坏味道+第二类型坏味道),输出最终检测结果。Case 3: When the dynamic model detection result is that the process does not have the second type of bad smell, the final detection result is that the process does not have bad smell. At this time, it shows that the original process has passed the static test, and there is no first type of bad smell; then it has passed the dynamic model test, and there is no second type of bad smell, indicating that the original process does not have the common bad smell summarized above (the first type) bad taste + the second type of bad taste), and output the final detection result.
本申请实施例通过对标准化的原始流程进行静态检测和动态检测两个阶段的检测,对第一类型坏味道和第二类型坏味道进行识别,并输出最终检测结果,具有以下效果:In this embodiment of the present application, the standardized original process is tested in two stages of static detection and dynamic detection to identify the first type of bad smell and the second type of bad smell, and output the final detection result, which has the following effects:
(1)本申请对常见的坏味道种类进行了归纳总结,同时精确描述流程中的动态约束,提升了坏味道识别的精确性。(1) This application summarizes the common types of bad taste, and at the same time accurately describes the dynamic constraints in the process, which improves the accuracy of bad taste recognition.
(2)本申请通过按照预设标准化规则,将不同配置、不同类型的原始流程标准化,可以处理各种复杂场景下的数据交换共享低代码流程。(2) This application standardizes different configurations and different types of original processes according to the preset standardization rules, and can handle data exchange sharing low-code processes in various complex scenarios.
(3)本申请通过静态检测和动态检测结合的方式分别对第一类型坏味道和第二类型坏味道进行识别,实现了多阶段检测和多检查器检测,有效提升了数据交换共享低代码流程中坏味道识别的效率。(3) This application recognizes the first type of bad smell and the second type of bad smell through the combination of static detection and dynamic detection, realizing multi-stage detection and multi-checker detection, effectively improving the low-code flow of data exchange and sharing Efficiency in bad taste recognition.
基于同一发明构思,本申请实施例提供了一种数据交换共享低代码流程的动态模型检测装置,图4示出了数据交换共享低代码流程的动态模型检测装置示意图,如图4所示,数据交换共享低代码流程的动态模型检测装置包括:Based on the same inventive concept, an embodiment of the present application provides a dynamic model detection device for data exchange and shared low-code flow. Figure 4 shows a schematic diagram of a dynamic model detection device for data exchange and shared low-code flow. Dynamic model checking fixtures that exchange shared low-code flows include:
标准化模块,用于将原始流程根据预设标准化规则,进行标准化,得到标准流程;The standardization module is used to standardize the original process according to the preset standardization rules to obtain the standard process;
动态模型生成模块,用于将通过静态检测的标准流程转换为动态模型;The dynamic model generation module is used to convert the standard process passing the static detection into a dynamic model;
动态约束生成模块,用于生成所述通过静态检测的标准流程的动态约束;A dynamic constraint generating module, configured to generate the dynamic constraints of the standard flow through static detection;
动态模型检测模块,用于检测所述动态模型是否满足所述动态约束,输出动态模型检测结果。A dynamic model detection module, configured to detect whether the dynamic model satisfies the dynamic constraints, and output a dynamic model detection result.
可选地,所述装置还包括;Optionally, the device also includes;
静态检测模块,用于对所述标准流程进行所述静态检测,得到静态检测结果;A static detection module, configured to perform the static detection on the standard process to obtain a static detection result;
结果分析模块,用于根据所述动态模型检测结果与所述静态检测结果,生成最终检测结果。The result analysis module is configured to generate a final detection result according to the dynamic model detection result and the static detection result.
可选地,所述标准化模块还包括:Optionally, the standardization module also includes:
输入子模块,用于输入所述原始流程;an input sub-module for inputting the original process;
提取子模块,用于提取所述原始流程中的原始信息,所述原始信息包括开始节点、结束节点、任务节点、策略节点、并行网关节点、子流程节点、排他网关节点、存储节点以及连线;An extracting submodule, configured to extract original information in the original process, the original information including start nodes, end nodes, task nodes, policy nodes, parallel gateway nodes, sub-process nodes, exclusive gateway nodes, storage nodes, and connections ;
转换子模块,用于将所述原始流程中的所述原始信息,根据预设标准化规则转换为对应的标准流程信息,所述标准流程信息包括有穷节点集合、事件集合、活动集合、网关集合、数据集合以及连接对象集合中的元素;The conversion sub-module is used to convert the original information in the original process into corresponding standard process information according to preset standardization rules, and the standard process information includes a finite node set, an event set, an activity set, and a gateway set , data collection, and elements in the connection object collection;
生成子模块,用于将所述标准流程信息组成所述标准流程,所述标准流程能够正确应用于所述静态检测、以及生成所述动态模型和所述动态约束。A generation sub-module is used to compose the standard process information into the standard process, the standard process can be correctly applied to the static detection, and generate the dynamic model and the dynamic constraints.
其中,所述静态检测模块还包括:Wherein, the static detection module also includes:
静态规则解析子模块,用于对所述标准流程进行静态规则解析,得到待检测信息集合,所述待检测信息集合对应所述第一类型坏味道;The static rule analysis submodule is used to perform static rule analysis on the standard process to obtain a set of information to be detected, and the set of information to be detected corresponds to the first type of bad taste;
静态规则检测子模块,用于对所述待检测信息集合进行静态规则检测,得到所述静态检测结果,所述静态检测结果包括流程不存在第一类型坏味道和流程存在第一类型坏味道;A static rule detection submodule, configured to perform static rule detection on the information set to be detected to obtain the static detection result, the static detection result including the process does not have the first type of bad smell and the process has the first type of bad smell;
静态检测结果输出子模块,用于在所述静态检测结果为流程存在第一类型坏味道的情况下,同时输出流程中所述第一类型坏味道的类型和场景,并根据所述静态检测结果得到最终检测结果。The static detection result output submodule is used to output the type and scene of the first type of bad smell in the process at the same time when the static detection result is that the process has the first type of bad smell, and according to the static detection result Get the final test result.
其中,所述动态模型生成模块还包括:Wherein, the dynamic model generation module also includes:
确认子模块,用于在所述静态检测结果为流程不存在第一类型坏味道的情况下,将所述静态检测结果对应的所述标准流程视为所述通过静态检测的标准流程;A confirmation submodule, configured to regard the standard process corresponding to the static test result as the standard process that passed the static test when the static test result shows that the process does not have the first type of bad smell;
选择子模块,用于根据预设动态模型检测工具,选择对应的建模系统;The selection sub-module is used to select the corresponding modeling system according to the preset dynamic model detection tool;
转换子模块,用于根据所述建模系统,将所述通过静态检测的标准流程转换为所述动态模型。The conversion sub-module is used to convert the standard process passing the static detection into the dynamic model according to the modeling system.
其中,所述动态模型检测模块还包括:Wherein, the dynamic model detection module also includes:
第一动态结果输出子模块,用于在所述动态模型满足所述动态约束的情况下,输出的所述动态模型检测结果为流程不存在第二类型坏味道;The first dynamic result output submodule is configured to output the dynamic model detection result that the process does not have the second type of bad smell when the dynamic model satisfies the dynamic constraint;
第二动态结果输出子模块,用于在所述动态模型不满足所述动态约束的情况下,输出的所述动态模型检测结果为流程存在第二类型坏味道,同时输出流程中所述第二类型坏味道的类型。The second dynamic result output submodule is used to output the detection result of the dynamic model that the process has a second type of bad smell when the dynamic model does not satisfy the dynamic constraint, and output the second type of bad smell in the process at the same time. Type bad taste type.
其中,所述结果分析模块还包括:Wherein, the result analysis module also includes:
第一结果分析子模块,用于在所述静态检测结果为流程存在第一类型坏味道的情况下,所述最终检测结果为流程存在第一类型坏味道以及所述第一类型坏味道的类型和场景;The first result analysis sub-module is used to: when the static detection result is that the process has the first type of bad smell, the final detection result is that the process has the first type of bad smell and the type of the first type of bad smell and scene;
第二结果分析子模块,在所述动态模型检测结果为流程存在第二类型坏味道的情况下,所述最终检测结果为流程存在第二类型坏味道以及所述第二类型坏味道的类型;The second result analysis sub-module, when the dynamic model detection result is that the process has a second type of bad smell, the final detection result is that the process has a second type of bad smell and the type of the second type of bad smell;
第三结果分析子模块,在所述动态模型检测结果为流程不存在第二类型坏味道的情况下,所述最终检测结果为流程不存在坏味道。The third result analysis sub-module, when the dynamic model detection result is that the process does not have the second type of bad smell, the final detection result is that the process does not have bad smell.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, DVD), or a semiconductor medium (for example, a Solid State Disk (SSD)).
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is a relationship between these entities or operations. There is no such actual relationship or order between them. Furthermore, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes elements not expressly listed. other elements of or also include elements inherent in such a process, method, article, or device. Without further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a related manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for relevant parts, refer to part of the description of the method embodiment.
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请,本说明书内容不应理解为对本申请的限制。同时,对于本领域的一般技术人员,依据本申请,在具体实施方式及应用范围上均会有不同形式的改变之处,这里无需也无法对所有的实施方式予以穷举,而由此所引伸出的显而易见的变化或变动仍处于本申请的保护范围之中。The technical solutions provided by this application have been introduced in detail above, and specific examples have been used in this paper to illustrate the principles and implementation methods of this application. The descriptions of the above examples are only used to help understand this application, and the content of this specification should not be understood For the limitation of this application. At the same time, for those of ordinary skill in the art, according to the present application, there will be changes in different forms in the specific implementation methods and application ranges, and it is not necessary and impossible to exhaustively list all the implementation methods here. Obvious changes or modifications are still within the protection scope of the present application.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211156938.3A CN115237817B (en) | 2022-09-22 | 2022-09-22 | A dynamic model detection method and device for data exchange and shared low-code process |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211156938.3A CN115237817B (en) | 2022-09-22 | 2022-09-22 | A dynamic model detection method and device for data exchange and shared low-code process |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115237817A CN115237817A (en) | 2022-10-25 |
| CN115237817B true CN115237817B (en) | 2022-12-16 |
Family
ID=83667399
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211156938.3A Active CN115237817B (en) | 2022-09-22 | 2022-09-22 | A dynamic model detection method and device for data exchange and shared low-code process |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115237817B (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102231134A (en) * | 2011-07-29 | 2011-11-02 | 哈尔滨工业大学 | Method for detecting redundant code defects based on static analysis |
| CN109684215A (en) * | 2018-12-25 | 2019-04-26 | 中国科学院电子学研究所苏州研究院 | A kind of automated software Quality System Review and iteratively faster method |
| CN112764758A (en) * | 2021-01-21 | 2021-05-07 | 中国工商银行股份有限公司 | Code bad taste detection method and device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8356165B2 (en) * | 2009-09-14 | 2013-01-15 | Advanced Micro Devices, Inc. | Selecting regions of hot code in a dynamic binary rewriter |
-
2022
- 2022-09-22 CN CN202211156938.3A patent/CN115237817B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102231134A (en) * | 2011-07-29 | 2011-11-02 | 哈尔滨工业大学 | Method for detecting redundant code defects based on static analysis |
| CN109684215A (en) * | 2018-12-25 | 2019-04-26 | 中国科学院电子学研究所苏州研究院 | A kind of automated software Quality System Review and iteratively faster method |
| CN112764758A (en) * | 2021-01-21 | 2021-05-07 | 中国工商银行股份有限公司 | Code bad taste detection method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115237817A (en) | 2022-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10545856B2 (en) | Test case generation system | |
| US7926026B2 (en) | Graphical analysis to detect process object anomalies | |
| Lohmann et al. | Petri net transformations for business processes–a survey | |
| US8037000B2 (en) | Systems and methods for automated interpretation of analytic procedures | |
| US9020872B2 (en) | Detecting missing rules with most general conditions | |
| Neghab et al. | Performance evaluation of collaboration in the design process: Using interoperability measurement | |
| US20150286555A1 (en) | System and method for converting the business processes to test-centric activity diagrams | |
| CN104899043A (en) | Method for obtaining software security requirement by using module security analysis | |
| CN120021429A (en) | Techniques for identifying and validating security control steps in software development pipelines | |
| Aghili et al. | Studying the characteristics of AIOps projects on GitHub | |
| CN114647401A (en) | Model verification method suitable for distributed system of SysML, Simulink and AADL | |
| Malhotra et al. | Analyzing and evaluating security features in software requirements | |
| CN115454702A (en) | Log fault analysis method and device, storage medium and electronic equipment | |
| CN115237817B (en) | A dynamic model detection method and device for data exchange and shared low-code process | |
| CN118860888A (en) | Code review method, device, equipment and storage medium | |
| CN113703739A (en) | Cross-language fusion computing method, system and terminal based on omiga engine | |
| CN105159746A (en) | Reliability simulation tool for fault-tolerant combined web service | |
| Gérançon et al. | Software functional sizing automation from requirements written as triplets | |
| CN112232031B (en) | Power Internet of Things edge data model verification method, device and storage medium | |
| Gaudel et al. | Enforcing software engineering tools interoperability: An example with aadl subsets | |
| Babkin et al. | Analysis of the consistency of enterprise architecture models using formal verification methods | |
| TW202433275A (en) | Software development system and software developing method | |
| Boghdady et al. | An enhanced technique for generating hybrid coverage test cases using activity diagrams | |
| CN114791865A (en) | A method, system and medium for self-consistency detection of configuration items based on relationship graph | |
| CN101778110A (en) | Service protocol mining method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |