CN113126976A - 基于语法制导编辑器生成器的跨界服务长尾变化应变方法 - Google Patents

基于语法制导编辑器生成器的跨界服务长尾变化应变方法 Download PDF

Info

Publication number
CN113126976A
CN113126976A CN202110375310.1A CN202110375310A CN113126976A CN 113126976 A CN113126976 A CN 113126976A CN 202110375310 A CN202110375310 A CN 202110375310A CN 113126976 A CN113126976 A CN 113126976A
Authority
CN
China
Prior art keywords
grammar
syntax tree
abstract syntax
editor
annotation
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.)
Granted
Application number
CN202110375310.1A
Other languages
English (en)
Other versions
CN113126976B (zh
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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN202110375310.1A priority Critical patent/CN113126976B/zh
Publication of CN113126976A publication Critical patent/CN113126976A/zh
Application granted granted Critical
Publication of CN113126976B publication Critical patent/CN113126976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及基于语法制导编辑器生成器的跨界服务长尾变化应变方法。种类众多、发生频度低、影响重大、持续时间短的长尾型事件引起跨界服务流程的长尾型变化。现有业务流程管理缺乏应变解决方案。本发明通过领域专用语言抽象语法树定义;语法制导的编辑器生成;合规专用语言语法规则的流程注释;基于业务流程执行引擎扩展的注释解释四步骤提供了一种长尾型变化的一种及时应变方法。其中,抽象语法树定义的专用语言允许业务专家定义符合特定长尾型事件的领域词汇和文法,降低了应变成本;业务专家使用此语言基于BPMN的注释机制独立完成业务流程模型的变更,快速响应了变化;语法制导编辑器生成保证了该注释的文法正确性,保证了注释解释的方法健壮性。

Description

基于语法制导编辑器生成器的跨界服务长尾变化应变方法
技术领域
本发明属于业务建模领域,具体涉及一种基于语法制导编辑器生成器的跨界服务长尾变化应变方法。
背景技术
企业为了加快产品周期,引入使用 BPMN来实现业务流程管理,但是存在着长尾变化的业务流程模型的修改,为了满足企业及时修改业务流程模型的需求,采用添加Annotation的方式来实现业务流程模型的敏捷修改。在 BPMN2.0中,存在很多不同种类的符号,其中,Annotation 是用来给事件、网关组件等添加注解的符号,本发明基于在Annotation 符号中添加代码来实现修改业务流程的功能来进行改进,从而达到敏捷响应业务流程模型的长尾变化的目的。
跨界服务需要应对很多新的机遇和挑战,企业面对这样的突发事件需要及时作出应对,从而使企业的业务能够继续正常的运转。像这种在企业正常的运营中一般不会遇到的机遇和挑战,但是在遇到后需要及时对业务流程作出调整,就被定义为企业业务流程中的长尾变化。
学术界对于企业流程的变化管理的研究已有数十年,主要是从快速重新构建企业业务流程和复用原本的业务流程两方面着手解决。陈曦等人就是通过后者的方式来解决的,但是他的方法存在着用户编写 Annotation 困难等问题。本发明针对这个问题,认真研究了领域专家使用领域专用语言的痛点和难点,从而创新性地设计了抽象语法树,从而解决了使用领域专用语言所面临的问题。
领域专家能够轻松使用一门领域语言将极大地提高修改业务流程的效率。在各个领域中,都存在着各种各样的领域专用语言,比如机器人控制文法、数据库查询文法以及操作系统控制文法等。由于领域专用语言的使用,机器人控制、数据库查询等操作都变得更简单和快捷,也证明合理使用领域专用语言是可以提高使用者的用户体验感和开发效率的。但是,没有编写代码背景的领域专家在添加 Annotation 的时候存在两大问题,一方面,领域专家对注解的语法不熟悉,提高了学习和使用的成本;另一方面,添加注解时无语法制导增加了编写不符合语法的代码的可能性。本发明提出采用抽象语法树的形式来限定领域专用语言开发者在开发领域专家设计的文法过程中使用的关键词,从而达到可以自主设计领域专用语言并复用生成器的目的,实现了对业务流程建模前的静态合规性和正确性检验。同时,本发明通过设计的抽象语法树定义了领域专用语言“Anno”,为本发明提出的方法提供评估对比的工具。
发明内容
本发明将会从抽象语法树的设计、生成器的实现这两方面展开说明设计一套用户自定义领域专用语言的方法,使用设计的方法来实现自定义语言Anno。本发明的目的在于提出一种基于语法制导编辑器生成器的跨界服务长尾变化应变方法。
本发明提出的基于语法制导编辑器生成器的跨界服务长尾变化应变方法,具体步骤如下:
(1)领域专用语言抽象语法树定义;
首先,需要对目标代码进行分析,得出目标代码分为功能属性、非功能属性以及价值交换这三个方面;其中:功能属性指的是属性值的功能性特性(例如,校验获取的属性值);非功能属性则是关于调用时间、可靠性、费用、可用性、响应时间等 QoS 指标,以及质量约束(例如,成品率 >80%)、价值约束(例如,净收入 >10 万元)和目标(例如,用户满意度最大化);价值交换是经过价值交换转换后的属性值需要满足预设值(例如,pizza 的价值在经过 delivery 后到达 customer 手中后价值会得到提升);其次,根据目标代码的三个方面的不同功能,采用 IFTTT(IF This Then That)规则作为构建代码框架的基石;接着,对三个不同方面的功能对代码架构进行细化,将变量的定义和调用、服务的定义和调用、topic 的定义和调用以及属性值大小的比较作为填充 IFTTT 规则的元素,从而可以通过IFTTT 规则完成目标代码的三个方面的不同层次的需求;最后,根据上面的概要设计和详细设计就可以形成一颗完整的抽象语法树,抽象语法树从根节点开始向下扩展,每一层都是属于同一个层次上的 token,从最顶上的 topic、function 等的定义,一直到 topic 和function 应该使用的元字符,对整个语法结构的形容非常清晰;
(2)语法制导的编辑器生成;
在编辑器的开发过程中,首先,需要选用基于 Eclipse 提供的开源框架 XText开发实现语法制导的编辑器。编辑器的实现涉及两个方面,一方面是抽象语法树的使用;另一方面是语法规则的描述。接着,对抽象语法树使用了 Ecore 模型进行描述,将 Ecore 模型导入到 Eclipse 后,工具会跟 Ecore 中描述的 EClass、EAttribute、EReference 以及EDataType 自动获取对应的 Token,同时为领域专用语言的开发提供制导。此流程的功能就是为领域专用语言的开发提供限定词。领域专用语言开发者必须依据此抽象语法树进行开发,如果不按照抽象语法树进行语法的开发,则领域专用语言的开发则无法进行,开发者将会面对语法解析出错、编译出错等问题。这会保证开发者会按照语法规则来进行领域专用语言开发。其次,根据领域专家阐明所需的语法规则和使用习惯而形成语法规则的描述,开发者根据需求并依照抽象语法树的关键词限定开发领域专用语言。本发明中领域专用语言的描述是基于 XText 进行描述的。语法描述主要分为三个层次,第一是领域专用语言中使用的关键词;第二是自定义变量中使用的字母、数字以及特殊字符;第三则是将关键字和变量进行组合使用,从而定义出所需要的语法规则。最后,举例对开发的编辑器进行验证测试,如代码块1 所示。Topic 表示的是当流程图中某个条件不满足时给出的反馈,属于定义的关键字,但不属于抽象语法树中的一部分,是可以任意替换成别的关键词的,这是使用抽象语法树制导领域专用语言开发的灵活性所在。而notAllowOrderPizza 则是由字母、数字或者特殊字符组成的变量名,用来描述整个topic的。当这个 topic 在别处再次被使用到时可以直接使用变量名来替代整个 topic,而不需要将整个 topic 的定义重新写一遍。最后,整个语句就是由关键字和变量名组成的一条语句。开发者的自定义和组合,使得领域专用语言的语法增加了多样性,也便于领域专家方便的使用领域专用语言;
代码块1:Topic的定义
Topic notAllowOrderPizza IOT: orderNotAllowedTopic ;
图2中是基于抽象语法树生成的开发领域专用语言使用的编辑器。从编辑器中可以看到,如果在编辑器上定义了抽象语法树上不存在的 Token,那么编辑器就会报错,并提示“cannot create type for Test because its EPackage is unknown”。也就是说 Test这个 Token 不存在与抽象语法书上,所以无法使用。这就为领域专用语言的开发和生成器的再使用提供了保证;
(3)合规专用语言语法规则的流程注释:
在生成器的开发过程中,首先需要基于抽象语法树来实现生成器,并且文法的设计也是基于抽象语法树,所以在构建生成器的时候,可以自动忽略具体领域专用语言中的特殊字符以及关键词排序方式等因素,从而构建出只要是使用本发明提供的抽象语法树就可以进行代码生成的自动化生成目标代码的工具。接着,代码的解析一般经历词法分析、语法分析和代码生成这三个步骤。本发明中使用的是 Eclipse 提供的工具来完成 Token 的提取和抽象语法树的构建这两个步骤,最后的代码生成是基于抽象语法树来完成的。在代码生成中,需要对定义的变量进行分析,将间接引用变成直接引用。在对每一行代码的读取过程中,遇到变量的定义和使用就将变量对照表进行更新,从而使得对照表中储存的变量名对应存储的值都是最新的。如表 1 所示的等式右值分析算法中右值主要分为四大类,分别是数字类型、字符串类型、函数以及变量名引用,针对不同的右值需要做不同类型的处理,对于数字和字符串这种常量类型,只需要直接存储在对照表中即可,但是对于函数类型就需要读出函数所有的内容并保存在对照表中,最后,对于变量名引用类型,就需要再从对照表中读取出变量名对应的值进行存储。等式右值分析算法1 的时间复杂度在最好的时候是 o(1),在最差的时候是 o(n),空间复杂度是 o(1)。根据时间和空间复杂度分析已经平均代码量可知,在整个代码中,等式的数量是有限的,平均运行一次等式右值分析法大概只需要 0.5 毫秒左右,所以等式右值分析算法是可以保证程序在用户可接受范围内运行完成的;
表1:
Figure 344922DEST_PATH_IMAGE001
最后,在变量定义和 IF 判断语句中都会存在着四则运算,对于四则运算中间接引用需要通过循环遍历访问,实现对将公式中每一个操作数的间接引用变成直接引用,并将整个公式从抽象语法树的形式转化为数学表达的形式展现出来,四则运算分析算法如表2 所示。四则运算分析算法2 的时间复杂度在最好的时候为 o(n),最差的时候为 o(n2),空间复杂度为o(n);
表2:
Figure 544959DEST_PATH_IMAGE002
(4)合规专用语言语法规则的流程注释
本发明为了能够在案例分析中实现对抽象语法树的使用以及使用语法制导的编辑器后情况的调查,通过抽象语法树自定义了 Anno,如图3所示;首先将 IFTTT 框架结构进行设计,大致结构为 IF 之后接布尔表达式,THEN 之后接要做的动作。在流程图中的体现就是,在某个事件中,需要增加对某个条件的判断,就使用布尔表达式对条件进行筛选,如果满足条件则继续跑完整个流程,否则的话,则需要对作出某种回应,比如直接结束整个流程、再次调用某个服务、抛出某些信息等。接下来,需要具体化布尔表达式和动作。布尔表达式主要包括关键字 TRUE、关键字 FALSE、AND 和 OR 表达式以及布尔表达式本身。而动作主要就包括 topic 和 function 两种应对措施,topic 为抛出某种信息并结束整个流程,而 function 表示调用某种服务并结束整个流程。最后则是具体到 AND 和 OR 表达式等的表达,需要使用基本的字母、数字和特殊字符来定义和表示。以上的过程就是 IFTTT自顶向下的设计过程。整个文法的设计是以 IFTTT 规则为核心,同时考虑到目标代码中使用到的服务的调用和异常时提示的抛出,设计了 function 和 tpoic;另外,为了方便用户对于使用变量而设计了无状态变量,让用户随时使用随时定义,无需考虑需要定义何种类型的变量。这从用户体验上来看,方便了用户定义变量,用户不需要考虑获取的对象类型和定义的对象类型,随用随取,为领域专家提供了很大便利。
本发明运用抽象语法树高度抽象的特性来构建起通用生成器,为有着不同语法习惯的开发者生成了语法制导的编辑器和生成器,免去了二次开发生成器的工作。Anno 就是根据本人的编码习惯而自定义的语法,并为其生成了语法制导的编辑器。
本发明的有益效果在于:
(1)本发明主要完成了 BPM 长尾变化下的语法制导的编辑器生成器的设计和实现,通过对目标代码的分析,提取了目标代码的关键词并实现了抽象语法树,用户通过抽象语法树上的关键词自行设计自身熟悉的文法规范,并为用户生成用户自定义语法制导的编辑器生成器,从而改变了用户添加Annotation 的模式,用户能够更加快速地添加Annotation;
(2)对给定的领域文法,开发一套适合于业务流程建模的语法制导编辑器;
(3)将语法制导编辑器和开源业务流程建模器集成;
(4)在领域专家提供业务逻辑(服务调用、约束条件、时间响应)之后,自动生成目标代码。
附图说明
图1为基于目标代码定义的抽象语法树。
图2为基于抽象语法树的领域专用语言开发编辑器。
图3为Anno的语法描述。
图4为船舶备件的业务流程模型。
图5为Anno-enhanced业务流程建模器。
具体实施方式
下面通过实施例结合附图进一步说明本发明。
实施例1:
本发明以船舶运输(SSP,Ship Spare Parts)场景作为案例来将直接在建模器上添加 Annotation 和使用语法制导的编辑器添加 Annotation 这两种方式进行评估对比,发现使用语法制导的编辑器添加 Annotation 的方式在各个方面的表现都是优于直接在建模器生添加 Annotation 的。
1、SSP Business Model
如图 4 所示,这是一个经典的船舶备件补货的业务流程模型,其描述的场景是在普通货运船只运输并会在停靠的港口接受来自陆运备件。船舶备件补货业务简称为 SSP(Ship Spare Parts),其业务流程为货运船只会在运输途中消耗掉某些备件来修复产生的故障。此时,船舶需要向运输公司的管理部门申请补充备件,接着由管理部门向备件供应商下单,最后由供应商通知物流公司将备件交付给船舶。在传统的备件补货交付业务场景中,业界为了解决补充备件的问题,通常会引入第三方机构来协助完成补充备件的任务。因此,产生了多方协作的业务场景,消息传递的可靠性和及时性就有了新的要求。在实际的运营中,有一些不可控的因素将影响着多方协作的流程。在船舶停靠码头的过程中,港口停泊船舶数量过多以及港口的动态调度决定都会导致船舶无法按照计划靠岸并补充备件,从而物流公司的交付备件的任务以及船舶补充备件的任务都无法完。只能选择在下一个港口进行备件的交付和补充。但是,由于现实因素船舶已经抵达终点、或者错失交付次数太多等情况造成了双方任务的失败,从而结束整个流程。近年来,物联网发展迅速,企业需要给业务流程上整合一套物流网系统来监控船舶的航运情况。这是科学技术的发展给企业的业务流程带来的长尾型变化。对于企业而言,一套业务流程是经过多年的调整和积累而形成的,如果重新构建一套新的业务流程,势必会给企业带来不少风险和挑战。但是,物联网的能力又会企业的在业界更具有竞争优势,所以船舶的物联网能力是企业必须拥有的。在不改变原有的业务流程下,使用在原有业务流程图上添加注释的方式是可行的。
从图 4 中的添加的 Annotation 可以看出,船舶上的物联网系统会根据当时监控的船只的速度、位置、温度、湿度等物理信息,在航行或者抛锚发生延迟或者提前都会发出行程改变的通知,而物流公司会订阅船舶发出的消息,在收到消息后选择进行备件的交付或者暂时不交付。在 Chen 的方法中,添加 Annotation 来完成流程的复用是解决流程复用的不错的方法之一。但是,Chen 提供的添加 Annotation 的方法是易出错的,需要领域专家对Annotation 语法熟悉以及在没有语法提示的情况下进行无差错编码,这对于普通的程序员都是很难做到的事情。图 4 中绿色的 Annotation 是领域专家通过在编辑器上编写自身熟悉的语法规范而生成的逻辑清晰的代码,如图5中②所示。点击图5中不同功能的Annotation可以跳转到如图5中的②同时,在 bpmn 文件中也生成了一份供 Chen 解析的代码,与图 4 中黑色的Annotation 是一致的。
2、实验对比
最后,本发明利用设计好的抽象语法树自定义了 Anno 这个领域专用语言,并使用了本发明提出的方法修改 SSP 的业务流程模型,如图 4 所示,从中可以看出图中显示的 Annotation 也是更加的清晰明了,并将生成的目标代码隐藏 bpmn 为后缀的文件中。
从表 3 中可以看出用户直接在建模器上写 Annotation 和使用语法制导的编辑器生成器写 Anno 的代码对比,两段代码中都是实现了对配送地和订购地的校验,并对事件作出响应。
为了实验对比方便,本发明使用 Anno 与直接在建模器上添加的 Annotation 从代码量、平均编写出错率以及平均编写时长这三个角度进行对比,并使用上面修改配送业务的场景是进行对比,对比结果表 3 所示,发现本发明提出的方法的各个指标都是远优于直接在建模器上添加 Annotation 的。其中,代码量指的是在修改模型的时候书写的代码行数;而平均编写出错率和平均编写时长,是通过调查用户直接在建模器上和在编辑器上添加 Annotation 时写代码需要使用的时长以及最终写的代码的是否有错误而得到的平均编写时长和平均出错率。代码行数可以衡量在编写代码时所需要编写的代码量。平均编写时长可以衡量用户在组织相同逻辑并编写出代码所需要的时间。平均编写出错率可以衡量用户在组织相同的逻辑并编写出代码后,出错的可能性。
Figure 741585DEST_PATH_IMAGE003
(1)
Figure 230335DEST_PATH_IMAGE004
(2)
其中,e 代表参与调查中编写代码的出错总人数,t 代表参与调查中的人编写代码需要的总时长,s 代表参与调查的总人数。
另外,使用上面修改配送业务的场景是进行对比,对比结果表 4所示,发现本发明提出的方法的各个指标都是远优于直接在建模器上添加 Annotation 的。同时,并使用上面需要修改物流业务流场景的例子是进行对比。
表 3: 直接在建模器上和使用语法制导的编辑器添加 Annotation 的代码对比
Figure 124604DEST_PATH_IMAGE005
表 4: 两种不同添加 Annotation 方式的评估结果.LoC 表示代码行数, AToC表示平均编码时间, AERoC 表示编码的出错率:
Figure 444727DEST_PATH_IMAGE006

Claims (1)

1.基于语法制导编辑器生成器的跨界服务长尾变化应变方法,其特征在于具体步骤如下:
(1)领域专用语言抽象语法树定义;
首先,需要对目标代码进行分析,得出目标代码分为功能属性、非功能属性以及价值交换三个方面;其中:功能属性指的是属性值的功能性特性;非功能属性则是关于调用时间、可靠性、费用、可用性、响应时间QoS 指标,以及质量约束、价值约束和目标;价值交换是经过价值交换转换后的属性值需要满足预设值;其次,根据目标代码的三个方面的不同功能,采用 IFTTT规则作为构建代码框架的基石;接着,对三个不同方面的功能对代码架构进行细化,将变量的定义和调用、服务的定义和调用、topic 的定义和调用以及属性值大小的比较作为填充 IFTTT 规则的元素,从而通过 IFTTT 规则完成目标代码的三个方面的不同层次的需求;最后,根据上面的概要设计和详细设计形成一颗完整的抽象语法树,抽象语法树从根节点开始向下扩展,每一层都是属于同一个层次上的 token,从最顶上的 topic、function的定义,一直到 topic 和 function 应该使用的元字符,对整个语法结构的形容非常清晰;
(2)语法制导的编辑器生成;
首先,选用基于 Eclipse 提供的开源框架 XText 开发实现语法制导的编辑器,编辑器的实现包括抽象语法树的使用和语法规则的描述;接着,对抽象语法树使用Ecore 模型进行描述,将 Ecore 模型导入到 Eclipse 后,工具会跟 Ecore 中描述的 EClass、EAttribute、EReference 以及 EDataType 自动获取对应的 Token,同时为领域专用语言的开发提供制导;其次,根据领域专家阐明所需的语法规则和使用习惯而形成语法规则的描述,开发者根据需求并依照抽象语法树的关键词限定开发领域专用语言;领域专用语言的描述是基于 XText 进行描述的,语法描述主要分为三个层次,第一是领域专用语言中使用的关键词;第二是自定义变量中使用的字母、数字以及特殊字符;第三则是将关键字和变量进行组合使用,从而定义出所需要的语法规则;最后,对开发的编辑器进行验证测试;
(3)合规专用语言语法规则的流程注释:
在生成器的开发过程中,首先需要基于抽象语法树来实现生成器,并且文法的设计也是基于抽象语法树,所以在构建生成器的时候,可以自动忽略具体领域专用语言中的特殊字符以及关键词排序方式;接着,代码的解析经历词法分析、语法分析和代码生成这三个步骤;使用Eclipse 提供的工具来完成 Token 的提取和抽象语法树的构建,最后的代码生成是基于抽象语法树来完成的;在代码生成中,需要对定义的变量进行分析,将间接引用变成直接引用;在对每一行代码的读取过程中,遇到变量的定义和使用就将变量对照表进行更新,从而使得对照表中储存的变量名对应存储的值都是最新的;
(4)合规专用语言语法规则的流程注释
为了能够在案例分析中实现对抽象语法树的使用以及使用语法制导的编辑器后情况的调查,通过抽象语法树自定义了 Anno,首先将 IFTTT 框架结构进行设计,大致结构为IF 之后接布尔表达式,THEN 之后接要做的动作;即在某个事件中,需要增加对某个条件的判断,就使用布尔表达式对条件进行筛选,如果满足条件则继续跑完整个流程,否则的话,则需要对作出某种回应;接下来,需要具体化布尔表达式和动作;布尔表达式主要包括关键字 TRUE、关键字 FALSE、AND 和 OR 表达式以及布尔表达式本身,而动作主要就包括topic 和 function 两种应对措施,topic 为抛出某种信息并结束整个流程,而 function表示调用某种服务并结束整个流程;最后则是具体到 AND 和 OR 表达式的表达,需要使用基本的字母、数字和特殊字符来定义和表示。
CN202110375310.1A 2021-04-08 2021-04-08 基于语法制导编辑器生成器的跨界服务长尾变化应变方法 Active CN113126976B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110375310.1A CN113126976B (zh) 2021-04-08 2021-04-08 基于语法制导编辑器生成器的跨界服务长尾变化应变方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110375310.1A CN113126976B (zh) 2021-04-08 2021-04-08 基于语法制导编辑器生成器的跨界服务长尾变化应变方法

Publications (2)

Publication Number Publication Date
CN113126976A true CN113126976A (zh) 2021-07-16
CN113126976B CN113126976B (zh) 2022-06-21

Family

ID=76775348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110375310.1A Active CN113126976B (zh) 2021-04-08 2021-04-08 基于语法制导编辑器生成器的跨界服务长尾变化应变方法

Country Status (1)

Country Link
CN (1) CN113126976B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193225A (zh) * 2023-11-07 2023-12-08 北京珂阳科技有限公司 晶圆制造工艺流程控制方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050155A1 (en) * 2008-08-19 2010-02-25 International Business Machines Corporation Method, computer program product, and hardware product for providing program individuality analysis for source code programs
US20120254830A1 (en) * 2008-10-06 2012-10-04 The Mathworks, Inc. Verification of computer-executable code generated from a model
CN103942086A (zh) * 2014-01-26 2014-07-23 华东师范大学 基于aadl的创建、分析和仿真混成系统模型的方法
CN108376313A (zh) * 2018-02-08 2018-08-07 上海虹谷信息科技有限公司 船舶备件供应的协调管理方法、系统、存储介质及协调终端
CN108874382A (zh) * 2017-05-15 2018-11-23 国立民用航空学院 用于处理代码的方法和装置
CN109799990A (zh) * 2017-11-16 2019-05-24 中标软件有限公司 源代码注释自动生成方法及系统
US10437572B1 (en) * 2018-08-03 2019-10-08 King Fahd University Of Petroleum And Minerals Methods, computer readable media, and systems for compiling concise expressive design pattern source code
CN112313637A (zh) * 2017-11-21 2021-02-02 施耐德电气美国股份有限公司 用于具有数值时间序列数据的分布式数据系统的语义搜索方法
CN112346722A (zh) * 2020-11-11 2021-02-09 苏州大学 一种实现编译型嵌入式Python的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100050155A1 (en) * 2008-08-19 2010-02-25 International Business Machines Corporation Method, computer program product, and hardware product for providing program individuality analysis for source code programs
US20120254830A1 (en) * 2008-10-06 2012-10-04 The Mathworks, Inc. Verification of computer-executable code generated from a model
CN103942086A (zh) * 2014-01-26 2014-07-23 华东师范大学 基于aadl的创建、分析和仿真混成系统模型的方法
CN108874382A (zh) * 2017-05-15 2018-11-23 国立民用航空学院 用于处理代码的方法和装置
CN109799990A (zh) * 2017-11-16 2019-05-24 中标软件有限公司 源代码注释自动生成方法及系统
CN112313637A (zh) * 2017-11-21 2021-02-02 施耐德电气美国股份有限公司 用于具有数值时间序列数据的分布式数据系统的语义搜索方法
CN108376313A (zh) * 2018-02-08 2018-08-07 上海虹谷信息科技有限公司 船舶备件供应的协调管理方法、系统、存储介质及协调终端
US10437572B1 (en) * 2018-08-03 2019-10-08 King Fahd University Of Petroleum And Minerals Methods, computer readable media, and systems for compiling concise expressive design pattern source code
CN112346722A (zh) * 2020-11-11 2021-02-09 苏州大学 一种实现编译型嵌入式Python的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ARUSOAIE: ""Automating Abstract Syntax Tree construction for Context Free Grammars"", 《14TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING》 *
KOUSHIK SEN等: ""GuideSE: Annotations for Guiding Concolic Testing"", 《2015 IEEE/ACM 10TH INTERNATIONAL WORKSHOP ON AUTOMATION OF SOFTWARE TEST》 *
慕江林: ""一种基于代码描述语义向量的Java代码搜索方法研究"", 《中国优秀博硕士学位论文全文数据库 信息科技辑》 *
李小满: ""基于程序分析和自然语言处理的注释定位技术研究"", 《中国优秀博硕士学位论文全文数据库 信息科技辑》 *
薛艳: ""G语言系统模型转换与验证的研究"", 《中国优秀博硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193225A (zh) * 2023-11-07 2023-12-08 北京珂阳科技有限公司 晶圆制造工艺流程控制方法及系统
CN117193225B (zh) * 2023-11-07 2024-01-02 北京珂阳科技有限公司 晶圆制造工艺流程控制方法及系统

Also Published As

Publication number Publication date
CN113126976B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
US10838848B2 (en) System and method for test generation
van der Aalst Process mining and simulation: A match made in heaven!
Alizadeh et al. An interactive and dynamic search-based approach to software refactoring recommendations
US10460042B2 (en) Populating a knowledgebase of an expert system
Rolón et al. Applying software metrics to evaluate business process models
Krishna et al. Checking business process evolution
Montangero The software process: Modelling and technology
Herzig Gamification as a service: Conceptualization of a generic enterprise gamification platform
Hoisl et al. Comparing three notations for defining scenario-based model tests: A controlled experiment
Gutiérrez-Madroñal et al. IoT–TEG: Test event generator system
Chen et al. On the use of GPT-4 for creating goal models: an exploratory study
CN113126976B (zh) 基于语法制导编辑器生成器的跨界服务长尾变化应变方法
Meziane et al. Artificial intelligence applications for improved software engineering development: New prospects: New Prospects
Malik et al. Automating test oracles from restricted natural language agile requirements
Williams A novel representation for search-based model-driven engineering
Aucher Dynamic epistemic logic in update logic
Farid The NORMAP methodology: Non-functional requirements modeling for agile processes
El-Saber CMMI-CM compliance checking of formal BPMN models using Maude
Li et al. Requirements‐related fault prevention during the transformation from formal specifications to programs
Cao et al. Guaranteeing sound reactions to long-tailed changes: A syntax-directed annotation approach
Alferes et al. Rule Technologies. Research, Tools, and Applications: 10th International Symposium, RuleML 2016, Stony Brook, NY, USA, July 6-9, 2016. Proceedings
Asplund et al. Conflict as software levels diversify: Tactical elimination or strategic transformation of practice?
Gross-Amblard et al. HEADWORK: a Data-centric Crowdsourcing Platform for Complex Tasks and Participants.
Estrada-Torres et al. Automatically generating decision-support chatbots based on DMN models
Jing Set‐Based Differential Evolution Algorithm Based on Guided Local Exploration for Automated Process Discovery

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