CN114138238A - 一种基于形式化语义的bpmn2.0执行引擎 - Google Patents

一种基于形式化语义的bpmn2.0执行引擎 Download PDF

Info

Publication number
CN114138238A
CN114138238A CN202111404554.4A CN202111404554A CN114138238A CN 114138238 A CN114138238 A CN 114138238A CN 202111404554 A CN202111404554 A CN 202111404554A CN 114138238 A CN114138238 A CN 114138238A
Authority
CN
China
Prior art keywords
language
semantics
test case
framework
execution
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.)
Pending
Application number
CN202111404554.4A
Other languages
English (en)
Inventor
孟博
赵璨
王德军
覃俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Kongtian Software Technology Co ltd
South Central Minzu University
Original Assignee
Wuhan Kongtian Software Technology Co ltd
South Central University for Nationalities
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Kongtian Software Technology Co ltd, South Central University for Nationalities filed Critical Wuhan Kongtian Software Technology Co ltd
Priority to CN202111404554.4A priority Critical patent/CN114138238A/zh
Publication of CN114138238A publication Critical patent/CN114138238A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于形式化语义的BPMN2.0执行引擎,该引擎是一个原生BPMN2.0执行引擎,可直接执行BPMN2.0语言。首先,定义BPMN2.0语言的可执行形式化语义并验证其正确性,接着将可执行形式化语义应用于K框架,再融合Z3SMT解析器,实现BPMN2.0语言的可执行引擎。该执行引擎无需转换成第三方语言,节约了检查业务流程模型正确性的人力物力成本。

Description

一种基于形式化语义的BPMN2.0执行引擎
技术领域
本发明涉及计算机科学领域,尤其涉及一种基于形式化语义的BPMN2.0执行引擎。
背景技术
在任何行业和企业中,都有各种各样的流程,例如请假流程、报销流程、入职流程、出差流程等等,出色的流程管理是公司组织管理的重要一环。BPMN2.0语言是面向业务合同的流程模型与符号建模标准,采用形式化符号建模合约的业务流程和合约逻辑关系。通过提供直观但又能表达复杂流程语义的方法,帮助不同用户设计、管理和实现业务流程。目前主流的工作流厂商都是基于BPMN2.0开发流程,例如JEECG、华为云等。
BPMN2.0语言是由OMG开发的一种符号语言,由XML语言编写,包含事件(event)、活动(activity)和网关(gateway)等基本建模元素,主要目标是提供一些被所有业务用户容易理解的符号,从创建流程轮廓的业务分析到这些流程的实现,直到最终用户的管理监控。BPMN2.0也支持提供一个内部的模型可以生成可执行的BPEL4WS。因此BPMN2.0语言的出现,弥补了从业务流程设计到流程开发的间隙。
一方面,BPMN2.0具有面向图流程定义语言特征,即根据直观的流程图完成语言的编写;另一方面,它具有Web服务业务流程执行语言(BPEL)的特征,即按照信息输入的顺序进行定义。这使得BPMN2.0不仅会表现出面向流程定义产生的语义错误,例如流不一致、死任务等,还会表现出整体逻辑编排与局部参与者间语义不一致的错误。故公司使用BPMN2.0描述一个业务流程时,为验证涉及流程与预期流程执行结果、逻辑均相同,需要对业务流程先行验证再投入使用。
例如,公司设计一套请假流程:1、首先请假人员系统申请;2、系统进行用户验证;3、验证通过后将申请提交经理;4、经理通过后将申请提交人事,不通过则返回给请假人员;5人事在系统中审批;6、系统将结果返回给请假人员。开发人员按照次流程设计了一套符合BPMN2.0规范的业务流程并使用第三方软件投入使用。实际使用过程中,出现以下问题:跳过了步骤4直接进行了人事审批,由于没有经理确认,请假申请被驳回,造成不可解决的问题;经理进行请假时自我审批环节出现问题,一直进行死循环等。使用第三方软件(如管理系统)实现业务流程后在进行验证会增加工作量且修改难度巨大,故在流程投入使用前验证流程与设计初衷是否一致成为必要,也就是说,执行BPMN2.0语言是必要的。
BPMN2.0语言是一种描述性的符号语言,目前的执行BPMN2.0语言的方案是借助第三方语言,先将BPMN2.0语言转换成某种可执行语言,再通过相应的编译器进行编译执行,大大增加了执行成本。目前市面上没有可以执行原生BPMN2.0语言的执行引擎。
发明内容
本发明就是为了解决现有技术的不足,提出了一种基于形式化语义的BPMN2.0执行引擎,该执行引擎可执行原生BPMN2.0语言的业务流程,帮助分析业务流程的正确性。
本发明所设计的一种基于形式化语义的BPMN2.0执行引擎,包括以下步骤:
步骤1:定义BPMN2.0语言的可执行形式化语义BPMN2.0[KS]。依据BPMN2.0[BNF]和BPMN2.0语言的特点,应用K框架,基于重写逻辑,描述BPMN2.0语言的可执行语义BPMN2.0[KS],包括语法、配置和规则。BPMN2.0[KS]包含重要组件的语义定义,包括事件、任务、网关、顺序流等。
步骤2:验证BPMN2.0[KS]的正确性。首先,基于K框架编译BPMN2.0[KS];其次,寻找包含BPMN2.0语言中重要组件的测试用例,将每一个测试用例使用BPMN-Sol工具转换成Solidity语言形式;最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,通过比较每个测试用例的结果的一致性来验证语义的正确性。
步骤3:基于K框架,融合Z3 SMT解析器,实现BPMN2.0语言的业务流程执行引擎。
进一步地,步骤1所描述的BPMN2.0语言的可执行形式化语义[KS],包括语法、配置和基本语义,具体为:
语法:指的是BPMN2.0语言满足K框架的巴克斯范式,即BPMN2.0[BNF];
配置:BPMN2.0[KS]的配置,使用标签语言来描述程序实体正当时的状态,使用Configuration表示配置。使用格单元可以用来描述执行过程中不同的状态信息,整个语义定义中包括T、K、env、genv、store、state、tasks、flow、gate、ethereum和package 11个格单元;
语义:基于重写逻辑,在K框架下的对BPMN2.0语言的重写,包含BPMN2.0所涵盖的所有重要组件组成的流程的状态信息。包括事件语句、顺序流语句、网关语句和任务语句四部分,具体包括:
事件语句,包括开始事件(startevent)和结束事件(endevent);
顺序流语句,包括顺序流(sequencrflow);
网关语句,包括排他网关(exclusivegateway)、并行网关(parallelgateway)和包容网关(inclusivegateway);任务语句,包括用户任务(usertask)、服务任务(servicetask)、脚本任务(scripttask)和其他任务(mutaltask)。
进一步地,步骤2所描述的验证BPMN2.0[KS]的正确性,具体包括:
首先,从官方给出的测试案例中选择合适的测试用例,检查测试用例是否覆盖全部的组件;
其次,使用BPMN-Sol工具将BPMN2.0语言的测试用例转换为Solidity语言;
最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,比较执行结果是否一致,验证BPMN2.0[KS]的正确性。
步骤2所描述的通过比较每个测试用例的结果的一致性来验证语义的正确性,具体包括:
基于可覆盖全部组件的测试用例,分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,每运行一个测试用例都会输出一个文件目录,每个目录包含了执行程序或使用该定义执行证明所需要的所有内容,同时在命令窗口中输出运行结果信息。执行所有的测试用例,即包含所有组件的测试,若每个测试用例的运行结果均一致,则表示BPMN2.0[KS]是正确的,否则是不正确的,需要通过验证不同的测试用例寻找原因。
进一步地,步骤3所描述的,基于K框架,融合Z3 SMT解析器,实现BPMN2.0语言的业务流程执行引擎具体包括:
应用语言独立的符号执行框架K,融合Z3 SMT解析器,构造一个BPMN2.0语言的执行引擎,可执行原生BPMN2.0语言。
本发明的优点在于:首先,定义BPMN2.0语言的可执行形式化语义并验证其正确性,接着将可执行形式化语义应用于K框架,再融合Z3 SMT解析器,实现BPMN2.0语言的可执行引擎。在流程投入使用前验证流程与设计初衷是否一致,避免了使用过程中存在的死循环,同时避免了使用第三方软件所带来的大量的工作量和修改难得问题。
附图说明
图1:BPMN2.0语言的可执行引擎整体框架。
图2:BPMN2.0[KS]语义框架。
图3:BPMN2.0[KS]配置。
图4:BPMN2.0[KS]全部内容。
图5:BPMN2.0[KS]整体验证框架。
具体实施方式
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本发明的目的在于提供一种基于形式化语义的BPMN2.0执行引擎,首先定义BPMN2.0语言的可执行的形式化语义BPMN2.0[KS],并且采用测试用例的方法验证定义的BPMN2.0[KS]的正确性,接着应用K框架,融合Z3 SMT解析器,实现BPMN2.0语言的可执行引擎,图1表现了可执行引擎的整体框架。
本发明的技术方案包括:
首先,根据BPMN2.0[BNF]和BPMN2.0语言的特点,应用K框架,基于重写逻辑,描述BPMN2.0语言的可执行语义BPMN2.0[KS],包括语法、配置和规则。其次,采用测试用例的方法验证BPMN2.0[KS]的正确性。基于官方给出的Solidity[KS],使用BPMN-Sol工具将测试用例中的BPMN2.0语言转换成Solidity语言,同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,通过比较每个测试用例的结果的一致性来验证语义的正确性。最后,融合Z3 SMT,实现基于形式化语义的BPMN2.0执行引擎。
为使本发明实施例的目的、技术方案和有点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述地实施例是本发明地一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于形式化语义的BPMN2.0执行引擎,包括:
步骤1:定义BPMN2.0语言的可执行语义BPMN2.0[KS]。依据BPMN2.0[BNF]和BPMN2.0语言的特点,应用K框架,基于重写逻辑,描述BPMN2.0语言的可执行语义BPMN2.0[KS],包括语法、配置和规则。BPMN2.0[KS]包含重要组件的语义定义,包括任务、网关、顺序流等。
步骤2:验证BPMN2.0[KS]的正确性。首先,基于K框架编译BPMN2.0[KS];其次,寻找包含BPMN2.0语言中重要组件的测试用例,将每一个测试用例使用BPMN-Sol工具转换成Solidity语言形式;最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,通过比较每个测试用例的结果的一致性来验证语义的正确性。
步骤3:实现BPMN2.0执行引擎。首先,在K框架种编译BPMN2.0[KS]以获得BPMN2.0执行环境;其次,融合Z3 SMT解释器,实现基于形式化语义的BPMN2.0执行引擎。
步骤1,定义BPMN2.0[KS]。首先,给出满足k框架的BPMN2.0[BNF]。表1给出了部分重要组件的语法规则,包括变量、用户任务、脚本任务、排他网关和序列流。
Figure BDA0003372316780000041
Figure BDA0003372316780000051
接着,根据BPMN2.0[BNF]和BPMN2.0语言自身的特点,应用K框架,基于重写逻辑,描述BPMN2.0语言的可执行语义BPMN2.0[KS]。BPMN2.0[KS]包含语法、配置和基本语义,其中语法为BPMN2.0[BNF],配置由一些单元格表示,基本语义涵盖BPMN2.0语言的所有重要组件。
对于BPMN2.0[KS]的配置。使用Configuration表示配置,包含语义的所有单元格,标注单元格的名称,括号内是该单元格中保存内容的类型或者是嵌套在该单元格内的其他格单元结构。格单元之间可以嵌套使用,用于表示程序执行状态。特别的,K配置具有巢套格结构。图3介绍了BPMN2.0[KS]的配置,整个配置使用标签语言来描述程序实体正当时的状态。T标签是K提供的顶层标签,用来包含其他自定义的标签。K里面记录的是所有的程序的语句。格单元env代表全局环境,用来存储全局变量;格单元genv是对env的全局备份;格单元store用于存储所有已定义变量的值;格单元state表示运行中的程序总是处于某种状态,描述了对正在执行的流程状态的期望,比如某一个变量的值或者某一操作执行的时间点;格单元tasks用来记录任务的状态;格单元flow用来整个顺序流的状态;格单元gate用来记录网关的状态;格单元ethereum以一个列表的形式,保存了BPMN2.0业务流程的整个程序状态;格单元package用于记录包的名称,包含唯一标识包的pid和名称。
图4显示了BPMN2.0[KS]的全部内容,对于BPMN2.0[KS]中基本语义的定义,用户任务(usertask)组件最具有代表性,是业务流程中必不可少的一环,是指流程中的某个任务由指定的用户(user)完成。下面以usertask语句为例详细说明语义的定义方法。
BPMN2.0语言由XML语言编写,usertask语句主要由<usertask>、<incoming>、<outgoing>和<documentation>组成。<usertask>包含<usertask>和</usertask>两部分,作为一个组件的边界,包含id、name等标识符唯一标识一个用户任务。<incoming>用来记录该任务的唯一输入流,<outgoing>用来记录该任务的唯一输出流。<documentation>用来记录任务的内容。以下给出简单例子:
Figure BDA0003372316780000061
下表给出usertask语句的语义。
Figure BDA0003372316780000062
针对usertask语义的详细描述:
usertask语句主要由<usertask>、<incoming>、<outgoing>和<documentation>4个部分组成,故usertask语义包含4个规则,分别为usertask、incoming、outgoing和documentation。整体上,将<usertask>重写为usertaskStart documentation incomingoutgoing userTask,由package的形式展现。
规则1:usertask代表任务的起始和终止,S表示空格,Id和Names用来唯一的标识一个用户任务。将其重写为usertaskStart。
规则2:incoming代表该任务唯一的输入流,将其重写为ST,唯一的标识输入流。
规则3:outgoing代表该任务唯一的输出流,□常用于加热、冷却规则,表示可存放前面的计算结果,
Figure BDA0003372316780000071
表示将该符号前面和后边的一对新的内容添加到相应的单元格中。
规则4:documentation代表将要执行的某项任务。首先将其重写为CDSect表示任务的固定形式,接着提取任务中的数据并执行使用CData表示,最后使用CDEnd结束任务。
Figure BDA0003372316780000072
表示“followed-by”,
Figure BDA0003372316780000073
前面任务的计算完成后,接着计算
Figure BDA0003372316780000074
后边的任务。
步骤2,验证BPMN2.0[KS]的正确性。整体验证框架如图5。首先,从官方给出的测试案例中选择合适的测试用例,检查测试用例是否覆盖全部的组件;其次,使用BPMN-Sol工具将BPMN2.0语言的测试用例转换为Solidity语言;最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,比较执行结果是否一致,验证BPMN2.0[KS]的正确性。
首先,选取官方测试用例,确保测试用例包含全部的流程组件。
接着,使用BPMN-Sol工具将测试用例转换为Solidity代码形式,测试用例拥有两种语言形式:BPMN2.0和Solidity。
最后,编译Solidity[KS]和BPMN2.0[KS]语义。Kompile是K的编译器,接受用K编写的以.k文件存储的程序或规范,并生成相应的解析器(parse)和解释器(Interpreter),编译K文件时使用命令“compile文件名”。运行单个测试用例,通过结果一致性验证BPMN2.0[KS]的正确性。在k框架中使用命令“krun测试用例文件名”,krun工具将调用解析器和解释器运行程序代码。每运行一个测试用例都会输出一个文件目录,每个目录包含了执行程序或使用该定义执行证明所需要的所有内容,同时在命令窗口中输出运行结果信息。通过比较Solidity[KS]和BPMN2.0[KS]两种语义环境下的运行结果是否一致,验证定义BPMN2.0[KS]语义是否正确。
步骤3,实现基于形式化语义的BPMN2.0执行引擎。首先,将验证正确的BPMN2.0[KS]在K框架种运行,自此形成BPMN2.0运行环境,接着,融合Z3 SMT解析器,其可与K框架兼容,于Github下载安装包在K中运行。环境搭建完毕后,此时已经形成BPMN2.0执行引擎,可在引擎中执行原生BPMN2.0语言代码,无需转换成第三方语言,节约了检查业务流程模型正确性的人力物力成本。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种基于形式化语义的BPMN2.0执行引擎,其特征在于,包括:
步骤1:定义BPMN2.0语言的可执行形式化语义BPMN2.0[KS];依据BPMN2.0[BNF]和BPMN2.0语言的特点,应用K框架,基于重写逻辑,描述BPMN2.0语言的可执行语义BPMN2.0[KS],包括语法、配置和规则;BPMN2.0[KS]包含重要组件的语义定义,包括事件、任务、网关、顺序流等;
步骤2:验证BPMN2.0[KS]的正确性;首先,基于K框架编译BPMN2.0[KS],其次,寻找包含BPMN2.0语言中重要组件的测试用例,将每一个测试用例使用BPMN-Sol工具转换成Solidity语言形式,最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,通过比较每个测试用例的结果的一致性来验证语义的正确性;
步骤3:基于K框架,融合Z3 SMT解析器,实现BPMN2.0语言的业务流程执行引擎。
2.根据权利要求1所述的一种基于形式化语义的BPMN2.0执行引擎,其特征在于:
所述步骤1描述的BPMN2.0语言的可执行形式化语义[KS],包括语法、配置和基本语义,具体为:
语法:指的是BPMN2.0语言满足K框架的巴克斯范式,即BPMN2.0[BNF];
配置:BPMN2.0[KS]的配置,使用标签语言来描述程序实体正当时的状态,使用Configuration表示配置;使用格单元可以用来描述执行过程中不同的状态信息,整个语义定义中包括T、K、env、genv、store、state、tasks、flow、gate、ethereum和package 11个格单元;
语义:基于重写逻辑,在K框架下的对BPMN2.0语言的重写,包含BPMN2.0所涵盖的所有重要组件组成的流程的状态信息;包括事件语句、顺序流语句、网关语句和任务语句四部分,具体包括:
事件语句,包括开始事件(startevent)和结束事件(endevent);
顺序流语句,包括顺序流(sequencrflow);
网关语句,包括排他网关(exclusivegateway)、并行网关(parallelgateway)和包容网关(inclusivegateway);
任务语句,包括用户任务(usertask)、服务任务(servicetask)、脚本任务(scripttask)和其他任务(mutaltask)。
3.根据权利要求1所述的一种基于形式化语义的BPMN2.0执行引擎,其特征在于:
所述步骤2描述的验证BPMN2.0[KS]的正确性,具体包括:
首先,从官方给出的测试案例中选择合适的测试用例,检查测试用例是否覆盖全部的组件;
其次,使用BPMN-Sol工具将BPMN2.0语言的测试用例转换为Solidity语言;
最后,将同一个测试用例分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,比较执行结果是否一致,验证BPMN2.0[KS]的正确;
步骤2所描述的通过比较每个测试用例的结果的一致性来验证语义的正确性,具体包括:
基于可覆盖全部组件的测试用例,分别在Solidity[KS]和BPMN2.0[KS]的K框架环境中执行,每运行一个测试用例都会输出一个文件目录,每个目录包含了执行程序或使用该定义执行证明所需要的所有内容,同时在命令窗口中输出运行结果信息;执行所有的测试用例,即包含所有组件的测试,若每个测试用例的运行结果均一致,则表示BPMN2.0[KS]是正确的,否则是不正确的,需要通过验证不同的测试用例寻找原因。
4.根据权利要求1所述的一种基于形式化语义的BPMN2.0执行引擎,其特征在于:
步骤3所描述的,基于K框架,融合Z3 SMT解析器,实现BPMN2.0语言的业务流程执行引擎具体包括:
应用语言独立的符号执行框架K,融合Z3 SMT解析器,构造一个BPMN2.0语言的执行引擎,可执行原生BPMN2.0语言。
CN202111404554.4A 2021-11-24 2021-11-24 一种基于形式化语义的bpmn2.0执行引擎 Pending CN114138238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111404554.4A CN114138238A (zh) 2021-11-24 2021-11-24 一种基于形式化语义的bpmn2.0执行引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111404554.4A CN114138238A (zh) 2021-11-24 2021-11-24 一种基于形式化语义的bpmn2.0执行引擎

Publications (1)

Publication Number Publication Date
CN114138238A true CN114138238A (zh) 2022-03-04

Family

ID=80391247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111404554.4A Pending CN114138238A (zh) 2021-11-24 2021-11-24 一种基于形式化语义的bpmn2.0执行引擎

Country Status (1)

Country Link
CN (1) CN114138238A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115759955A (zh) * 2022-10-20 2023-03-07 福建师范大学 一种基于区块链的业务流程执行引擎
CN116521155A (zh) * 2023-07-05 2023-08-01 中博信息技术研究院有限公司 基于JSON描述动态生成Restful接口的方法
CN116820564A (zh) * 2023-07-06 2023-09-29 四川大学 程序语言的统一形式语义化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115759955A (zh) * 2022-10-20 2023-03-07 福建师范大学 一种基于区块链的业务流程执行引擎
CN115759955B (zh) * 2022-10-20 2023-08-04 福建师范大学 一种基于区块链的业务流程执行引擎
CN116521155A (zh) * 2023-07-05 2023-08-01 中博信息技术研究院有限公司 基于JSON描述动态生成Restful接口的方法
CN116521155B (zh) * 2023-07-05 2023-09-19 中博信息技术研究院有限公司 基于JSON描述动态生成Restful接口的方法
CN116820564A (zh) * 2023-07-06 2023-09-29 四川大学 程序语言的统一形式语义化方法
CN116820564B (zh) * 2023-07-06 2024-04-02 四川大学 程序语言的统一形式语义化方法

Similar Documents

Publication Publication Date Title
Guerra et al. Automated verification of model transformations based on visual contracts
CN114138238A (zh) 一种基于形式化语义的bpmn2.0执行引擎
US20040103396A1 (en) System for verification of enterprise software systems
Hartmann et al. A UML-based approach to system testing
US9772830B2 (en) System and method for modeling cloud rules for migration to the cloud
Monteiro et al. Bounded model checking of C++ programs based on the Qt cross‐platform framework
CN103186463B (zh) 确定软件的测试范围的方法和系统
Majchrzak Improving software testing: technical and organizational developments
Popoola et al. EMG: A domain-specific transformation language for synthetic model generation
Zhu et al. A test automation solution on gui functional test
Zhou et al. Legacy asset analysis and integration in model-driven soa solution
Rahman et al. A DSL for importing models in a requirements management system
Palacios et al. Automatic test case generation for WS-Agreements using combinatorial testing
US20100305986A1 (en) Using Service Exposure Criteria
Gönczy et al. Methodologies for model-driven development and deployment: An overview
Habibi et al. Generating test as a web service (TaaWS) through a method-based attribute grammar
Kerraoui et al. MATT: multi agents testing tool based nets within nets
Nooraei Abadeh et al. Delta‐based regression testing: a formal framework towards model‐driven regression testing
Solaiman et al. High level model checker based testing of electronic contracts
WO2011041246A1 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
Ukić et al. The influence of cyclomatic complexity distribution on the understandability of xtUML models
Wotawa et al. The Java2CSP debugging tool utilizing constraint solving and model-based diagnosis principles
Majchrzak et al. Software testing
Hlaoui et al. Towards an automatic verification of bpmn model semantic preservation during a refinement process
Rouland et al. Reusable formal models for threat specification, detection, and treatment

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