CN112947914A - 一种基于模型的代码生成方法、装置、计算机设备及介质 - Google Patents

一种基于模型的代码生成方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN112947914A
CN112947914A CN202110347751.0A CN202110347751A CN112947914A CN 112947914 A CN112947914 A CN 112947914A CN 202110347751 A CN202110347751 A CN 202110347751A CN 112947914 A CN112947914 A CN 112947914A
Authority
CN
China
Prior art keywords
target
primitive
node
type
flow
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
CN202110347751.0A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202110347751.0A priority Critical patent/CN112947914A/zh
Publication of CN112947914A publication Critical patent/CN112947914A/zh
Pending legal-status Critical Current

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/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及自动程序设计,公开了一种基于模型的代码生成方法、装置、计算机设备及介质。该方法包括根据对图元的操作信息确定被操作的目标图元,获取对目标图元的配置信息;根据配置信息配置目标图元生成流程节点,显示流程节点组合成的流程图框架;获取流程图框架中的各个图解节点对应的业务数据,根据业务数据配置各个图解节点得到程序模型;获取目标语言类型,根据与目标语言类型以及流程节点类型对应的解析规则生成程序模型对应的代码。本发明实施例达到了基于程序设计自动生成程序代码的效果,实现“设计即编码”的软件设计理念,解决了传统程序开发中设计与开发脱节的问题,提高了程序代码开发效率,规避了开发过程中的不规范情况。

Description

一种基于模型的代码生成方法、装置、计算机设备及介质
技术领域
本发明实施例涉及自动程序设计技术,尤其涉及一种基于模型的代码生成方法、装置、计算机设备及介质。
背景技术
程序设计是根据业务实现的逻辑及概要设计,将具体的实现逻辑用程序实现的过程。
在传统程序开发过程中,程序设计与开发脱节,需要开发人员根据程序设计开发程序代码,因而对开发人员的开发能力要求较高。此外,如果开发框架发生变更,常常需要更换底层开发语言。例如,假设变更前的开发框架采用COBOL(Common Business-OrientedLanguage,面向商业的通用语言),变更后的开发框架采用Java,则开发人员需要重新开发程序代码,影响程序代码的开发效率。
发明内容
本发明实施例提供一种基于模型的代码生成方法、装置、计算机设备及介质,可以解决传统程序开发中设计与开发脱节的问题,提高了程序代码开发效率。
第一方面,本发明实施例提供了一种基于模型的代码生成方法,包括:
根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
第二方面,本发明实施例还提供了一种基于模型的代码生成装置,该装置包括:
信息获取模块,用于根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
框架生成模块,用于根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
框架配置模块,用于获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
代码生成模块,用于获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的基于模型的代码生成方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所述的基于模型的代码生成方法。
本发明实施例提供一种基于模型的代码生成方法、装置、计算机设备及介质,通过配置被操作的目标图元生成流程节点,组合流程节点得到流程图框架并显示,根据流程图框架中各个图解节点对应的业务数据配置对应图解节点得到程序模型,然后,根据与目标语言类型以及流程节点类型对应的解析规则将程序模型转换为代码,达到了基于程序设计自动生成程序代码的效果,实现“设计即编码”的软件设计理念,解决了传统程序开发中设计与开发脱节的问题,提高了程序代码开发效率,规避了开发过程中的不规范情况。
附图说明
图1为本发明实施例提供的一种基于模型的代码生成方法的流程图;
图2为本发明实施例提供的一种判值图元对应的配置界面的示意图;
图3为本发明实施例提供的一种判值图元的流程图框架示意图;
图4为本发明实施例提供的一种相关性分析界面的示意图;
图5为本发明实施例提供的一种相关性分析流程的示意图;
图6为本发明实施例提供的另一种基于模型的代码生成方法的流程图;
图7为本发明实施例提供的一种数据项清单的示意图;
图8为本发明实施例提供的一种基于模型的代码生成装置的结构框图;
图9为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种基于模型的代码生成方法的流程图,本实施例可适用于代码自动生成场景,该方法可以由基于模型的代码生成装置来执行,该装置可以由软件和/或硬件实现,并通常配置于计算机设备中,该装置通过执行本发明实施例提供的基于模型的代码生成方法。如图1所示,该方法包括:
步骤110、根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息。
本发明实施例中,模型可以是程序设计的逻辑载体。例如,模型可以为:业务规则模型、测试模型、或者企业架构模型等。本发明实施例通过模型化设计开发方法,在软件设计、开发过程中利用模型化、可视化技术进行设计,实现了“设计即编码”的软件设计理念,解决了传统程序开发中设计与开发脱节的问题,并提高了整体流程效率。其中,模型化是指程序使用的输入输出接口,每个字段都是有属性的,例如,属性可以是中文名、英文名、长度或类型等,且上述每个字段的属性均是规范化的。
图元是构成模型的逻辑节点。本发明实施例中,通过对业务设计的抽象,抽象出软件设计需要的多种图元。例如,模型可以是流程图,则图元就是构成流程图的流程节点。具体地,图元包括菜单连线图元、开始图元、结束图元、连接线图元、流程图元、数据传递图元、检查报错图元、条件分支图元、判值分支图元、循环图元、计算图元、运算图元、初始化图元、显示图元、字符串图元及查表图元等。可以采用图元工具栏的形式在主设计视图中显示各种类型的图元的图标。
对图元的操作信息包括将图元拖动至可视化界面中的模型编辑区。可以是用户选中待拖动的图元,并将其拖动至可视化界面中的模型编辑区。也可以是响应于用户输入的拖动指令,自动将拖动指令对应的图元拖动至可视化界面中的模型编辑区的特定位置,该特定位置由拖动指令确定。
目标图元可以理解为图元集合中被操作的图元。例如,目标图元可以是用户直接选中的图元,或者通过拖动指令选中的图元等。
配置信息是用户配置目标图元的数据。例如,配置信息可以包括目标图元对应的流程节点的类型、数量、功能以及流程节点的执行逻辑等等。需要说明的是,不同类型的图元对应的配置界面不同,在配置界面中输入的配置信息可能也不相同。可以根据图元的语法逻辑确定对应的配置界面。
示例性地,获取对图元工具栏中图元的操作信息,根据所述操作信息将被操作的图元确定为目标图元;在所述操作信息是将所述目标图元拖动至可视化界面中的模型编辑区时,根据所述目标图元的语法逻辑显示对应的配置界面;获取用户在所述配置界面输入的对所述目标图元的配置信息。例如,监测用户对图元工具栏的操作。若检测到用户选中判值图元,则将该判定图元确定为目标图元。如果对判值图元的操作信息是将其拖动至模型编辑区,则根据判值图元对应的语法逻辑调用判值图元对应的配置界面并显示。用户可以在配置界面中输入对判值图元的配置信息,从而,通过监测配置界面的用户操作,可以获取用户在配置界面输入的对判值图元的配置信息。图2为本发明实施例提供的一种判值图元对应的配置界面的示意图。如图2所示,配置界面包括分支数量设置区210、节点列表220和分支配置区230。用户可以配置分支数量以及各个分支包括的逻辑节点。例如,在用户设定了分支数量之后,在配置界面中对应显示分支编号,用户可以从节点列表中选择逻辑节点添加至各分支编号下。进而,通过监测配置界面的用户操作,即可获取用户输入的对判值图元的配置信息。
需要说明的是,通过在配置界面中的分支数量设置区210中选择分支数目,可以展示不同数目的分支。每个分支下可以选择多个逻辑节点。在节点列表220中没有列举条件分支节点、判值分支节点和循环分支节点。如果想使分支中含有这三种复杂逻辑的节点,则需要用户在流程图上设计。若检测到用户选择节点列表230中的“新建流程节点”,则按照流程节点的创建过程新建流程节点并配置相关信息。若检测到用户选择节点列表230中的“复用流程节点”,则弹出目前项目中所有已经创建的流程节点列表,以供用户选择。
步骤120、根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架。
其中,流程节点可以理解为配置后的目标图元。通过目标图元之间的连接关系组合流程节点得到流程图框架。本发明实施例中流程节点的类型包括:数据传递节点、检查节点、计算节点、运算节点、自定义节点、展示节点、初始化节点、字符串节点、条件分支节点、判值分支节点和循环分支节点等。根据流程节点是否需要进行业务数据配置还可以将上述流程节点划分为图解节点和普通节点。其中,图解节点是需要配置业务数据的节点,可以由开发人员根据业务需求规定哪些流程节点是图解节点。响应于图解节点的用户操作显示图解界面,以供用户在图解界面中输入业务数据。需要说明的是,需要对流程图框架进行业务数据配置得到满足业务需求的程序模型。可选地,流程图框架是业务主流程的框架,对于业务主流程可能包括的子流程可以不显示在模型编辑区,而是由用户操作触发在其它界面中显示。
示例性地,根据所述配置信息配置所述目标图元,生成所述目标图元对应的至少一个流程节点;对于第一类型的目标图元,在当前可视化界面内显示所述第一类型的目标图元对应的至少一个流程节点;对于第二类型的目标图元,将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示,根据所述第二类型的目标图元对应的流程节点生成子流程图,其中,所述子流程图不在所述当前可视化界面中显示;根据所述第一类型的目标图元和所述第二类型的目标图元之间的连接关系组合所述当前可视化界面内的所有流程节点,得到流程图框架。其中,可以根据图元的语法逻辑将图元工具栏包括的图元分为不同类型的图元。本发明实施例中,第一类型的目标图元是不包含子流程的图元,第二类型的目标图元是包含子流程的图元。例如,第一类型的目标图元是非流程图元,第二类型的目标图元是流程图元。
例如,在检测到如图2所示的配置界面中对于判值图元的配置信息之后,根据配置信息包括的数据配置判值图元得到包括运算节点、计算节点、初始化节点和图解节点等多个流程节点。根据图解节点、运算节点、初始化节点和图解节点之间的执行逻辑和连接关系生成判值图元对应的流程图框架。图3为本发明实施例提供的一种判值图元的流程图框架示意图。如图3所示,判值图元的流程图框架包括图解节点310,3条分支线(例如Case1、Case2和Case3)、运算节点320、计算节点330、初始化节点340和分支结束节点350(该节点仅是判值图元包含的组合节点,并不具有实际含义)。在每条分支线上具有类似“Case1”的标题,该标题默认由“Case”和该分支线的序号组合而成。“Case1”表示该分支的序号为1。在当前可视化界面内显示判值图元对应的多个流程节点组合成的流程图框架,流程图框架的结构参见图3。
对于第二类型的目标图元,诸如流程图元。基于配置信息配置流程图元,并将配置好的流程图元作为当前可视化界面内的流程节点进行显示。其中,基于配置信息配置流程图元包括:响应于对流程图元的拖动操作显示配置界面,获取用户在配置界面中配置的该流程图元包括的逻辑节点及执行逻辑等信息,根据执行逻辑组合各逻辑节点得到子流程图。需要说明的是,该子流程图并不显示在当前可视化界面中。在检测到当前可视化界面中显示的流程图元被操作时,响应于对流程图元的用户操作在下一级可视化界面中显示该子流程图。
根据第一类型的目标图元和第二类型的目标图元之间的连接关系组合当前可视化界面内显示的所有流程节点,得到流程图框架。其中,通过连接线图元表示不同目标图元之间的连接关系。例如,当两个目标图元之间通过连接线图元连接,则确定这两个目标图元之间具有连接关系,否则,确定这两个图元之间没有连接关系。
可选地,在生成目标图元对应的至少一个流程节点之后,采用预设的使用规范对目标图元对应的流程节点进行校验。其中,预设的使用规范包括可视化工具(例如VMD工具)已固化的规范以及用户使用时需要遵守的规范。例如,以判值分支节点为例,使用规范包括每条分支线的分支序号都必须不一样,否则校验报错;某条分支线下如果没有放置任何节点,则该分支线会对应生成CONTINUE语句;如果某条分支线的选择值列表为空,则该分支线的选择值为OTHER,但是只允许这样的分支线最多只有一条,否则校验报错。
步骤130、获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型。
本发明实施例中,业务数据是与银行业务相关的数据。其中,业务可以为贷款业务、货币兑换业务等金融业务。可选地,业务也可以包括账户激活、密码重置等非金融业务。
程序模型可以理解为程序设计的逻辑载体。
示例性地,对于所述流程图框架中的每个图解节点,检测到对对应图解节点的用户操作;显示被操作的图解节点对应的图解界面,获取所述图解界面内的用户操作信息,提取所述用户操作信息中的业务数据;配置所述业务数据给所述图解节点;在完成对所述流程图框架中的所有图解节点的业务数据配置操作时,将配置后的流程图作为程序模型。其中,图解界面与图解节点相对应,用户可在图解界面中配置图解节点所需的业务数据。例如,检测到对流程图框架中图解节点的用户操作,匹配用户操作信息与图解界面显示条件。若用户操作信息满足图解界面显示条件,则显示该图解节点对应的图解界面。获取用户在图解界面中输入的用户操作信息,根据用户操作信息中不同信息的标识(可以是信息ID)提取业务数据。将业务数据配置给图解节点,以完成对单个图解节点的业务数据配置。在完成对流程图框架中所有图解节点的业务数据配置操作时,得到配置后的流程图,将配置后的流程图作为程序模型。
例如,以图3中的判值图元为例,判值图元对应的流程节点包括的图解节点的图解界面可以包括两种类型的界面。一种类型的界面是判值图解,响应于图3中菱形图标的双击操作显示判值图解类型的图解界面。另一种类型的界面是分支图解,响应于图3中分支线上的双击操作显示分支图解类型的图解界面。
获取用户对判值图解对应的图解界面中判值变量和分支选择值列表添加的业务数据,根据业务数据配置对应的图解节点。其中,判值变量可以使用求子字符串函数功能。每个分支选择值列表中可以配置多个数据项。分支选择值列表中最多只能有一个列表不配置数据,否则图解界面无法“确认”关闭。
获取用户对分支图解对应的图解界面中判值分支序号和分支选择值列表配置的业务数据,根据业务数据配置对应的图解节点。例如,可以修改判值分支序号,各分支线的判值分支序号的大小决定了生成COBOL代码时WHEN语句的先后顺序。需要说明的是,可以通过修改判值分支序号文本框中的数字的方式修改判值分支序号,还可以采用其它方式对判值分支序号进行修改,本发明实施例并不作具体限定。分支图解对应的界面中分支选择列表和判值图解对应的界面上的分支选择列表的使用方式相同,且两个图解对应的界面间的数据会同步变更。
步骤140、获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码。
其中,目标语言类型包括面向商业的通用语言COBOL和/Java。需要说明的是,本发明实施例具备将程序模型实例化为其它类型的代码的能力,并不仅限于上述列举的两种。
解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。例如,解析规则可以包括:
与Java和流程图元对应的解析规则包括:转换后的字段的段名为m+所述流程图元的标识中的驼峰字符串;转换后的字段的参数为程序模型对应的程序的参数,返回值为空。例如,例如,流程图元的标识为FLOW ID,转换后的字段的段名为m+FLOW ID中的驼峰字符串;转换后的字段的参数为程序的Param,返回值为void。
与Java和数据传递图元对应的解析规则包括:确定在数据传递图元中是否存在条件语句,如果是,生成if语句,其中,条件语句之后的赋值语句位于if语句的语句体中;根据赋值语句的前、后数据,生成set语句。
与Java和检查报错图元对应的解析规则包括:确定检查报错图元中是否存在判断语句,如果是,将判断语句转换成if语句;根据分析检查报错图元中的报错内容节点,确定报错码和报错信息;根据报错码和报错信息,生成try-catch语法块。
与Java和计算图元对应的解析规则包括:获取计算图元的若干变量;生成与各个变量对应的set语句。
与Java和运算图元对应的解析规则包括:确定运算图元中的若干变量;根据变量及其对应的操作符,将运算图元转换成Java代码。
与Java和初始化图元对应的解析规则包括:提取初始化图元中的数据列表;对数据列表中的数据赋初始值。
与Java和字符串图元对应的解析规则包括:如果字符串处理为拼接,则通过“+”连接各个第一字符串;如果字符串处理为分割,则通过split方法分割第二字符串,将得到的字符串数组中的元素赋值给相应的变量。
与Java和调用节点图元对应的解析规则包括:确定调用节点图元是否存在对应的接口,如果是,确定接口对应的数据结构;初始化数据结构;为接口中的字段赋值。
与Java和条件分支图元对应的解析规则包括:将条件分支图元转换成if else语句。
与Java和判值分支图元对应的解析规则包括:将判值分支图元转换成if else语句。
与Java和循环分支图元对应的解析规则包括:如果循环分支图元为后验循环,则将循环分支图元转换为do while语句;如果循环分支图元为先验循环,则将循环分支图元转换为for语句。
与COBOL和流程图元对应的解析规则包括:转换后的字段的段名为流程图元的标识。对于COBOL代码,转换后的字段的段名为转换前图元的FLOW ID。
与COBOL和数据传递图元对应的解析规则包括:确定在数据传递图元中是否存在条件语句,如果是,生成if语句,其中,条件语句之后的赋值语句位于if语句的语句体中;根据赋值语句的前、后数据,生成move语句。
与COBOL和检查报错图元对应的解析规则包括:根据报错码和报错信息,生成if语句和move语句。
与COBOL和初始化图元对应的解析规则包括:提取初始化图元中的数据列表;对数据列表中的数据赋初始值。
与COBOL和自定义数据库图元对应的解析规则包括:通过JBDC(Java DataBaseConnectivity,java数据库连接)将SQL图元转换为COBOL代码。
与COBOL和判值分支图元对应的解析规则包括:将判值分支图元转换成EVALUATEWHEN语句。
需要说明的是,本发明实施例仅是对部分解析规则进行举例说明,而并不是限定。
示例性地,在检测到代码生成事件触发时,获取用户选择的目标语言类型;对于所述程序模型中的每个流程节点,获取与对应流程节点以及目标语言类型对应的目标解析规则,基于所述目标解析规则将所述对应流程节点转换为所述目标语言类型的程序代码;组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码。本发明实施例可以基于程序模型生成不同语言的程序代码,能够保证转换后的代码具有较高的一致性,避免不同语言的代码在业务实现过程中出现差别。例如,在检测到项目管理器中的代码生成功能被选中时,触发代码生成事件。获取用户选择的语言类型,作为目标语言类型。获取与目标语言类型以及程序模型中各个流程节点对应的目标解析规则,基于目标解析规则将对应的流程节点转换为目标语言类型的程序代码,组合各个程序代码实现将程序模型转换为目标语言类型的程序代码。
可选地,组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码,包括:根据所述程序模型中各个流程节点的逻辑关系确定各流程节点转换成的程序代码的执行顺序;根据所述执行顺序组合所述程序代码得到所述程序模型对应的代码。
本实施例的技术方案,通过配置被操作的目标图元生成流程节点,组合流程节点得到流程图框架并显示,根据流程图框架中各个图解节点对应的业务数据配置对应图解节点得到程序模型,然后,根据与目标语言类型以及流程节点类型对应的解析规则将程序模型转换为代码,达到了基于程序设计自动生成程序代码的效果,实现“设计即编码”的软件设计理念,解决了传统程序开发中设计与开发脱节的问题,提高了程序代码开发效率,规避了开发过程中的不规范情况。
在上述技术方案的基础上,在根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码之后,还包括:获取用户输入的待分析数据以及从版本管理工具获取的分析对象,对所述待分析数据和分析对象进行相关性分析,其中,所述相关性分析用于分析字段与接口、接口与接口、接口与程序以及程序与程序之间的相关性。传统程序开发过程中,由于没有模型之间的相关性,不能通过工具很好地展现程序之间的相关性。本发明实施例可以实现分析特定类型数据在版本管理库管理的程序(又可称为项目)中是否被用到、如何被用到,从而分析该特定类型数据对项目的不同影响度,是否需要重新编译项目文件等。例如,可以通过相关性分析功能分析数据字典变更项对配置可视图列表中的哪些公共数据结果、构建配置、交易(输入流)或项目造成影响。
图4为本发明实施例提供的一种相关性分析界面的示意图。如图4所示,相关性分析界面的页面元素主要包括:组件类型410、配置库视图列表420、导入平台相关性分析结果430、待分析数据类型440和待分析数据450。其中,组件类型410用于供用户选择进行相关性分析的组件的具体类型。可选地,组件类型可以包括应用组件以及主机平台等。配置库视图列表420是配置库视图的列表。在用户选择特定的组件类型之后,配置库视图列表420中自动列举出该类型对应的配置库视图。导入平台相关性分析结果430用于对平台相关性分析结果进行导入。用户选择应用组件类型的配置库视图进行分析时,因可能会用到平台视图的公共数据结构等,所以可能需要考虑平台视图对配置库视图的影响,此时,可以把平台视图的相关性分析结果文件作为输入数据的一部分用来分析配置库视图。待分析数据类型440用于供用户输入待分析数据的类型。其中,待分析数据的类型可以包括基本数据项、公共数据结构、构件配置、代码表值、错误码以及文件引擎等。待分析数据450用于供用户输入待分析的数据。
图5为本发明实施例提供的一种相关性分析流程的示意图。本实施例可以根据用户的不同需求选择不同的分析起点进行分析。在用户选择不同类型的待分析数据并提交分析后,系统会有不同的分析流程,并得到不同的分析结果EXCEL文件。如图5所示,以基本数据项为分析起点;待分析数据为基本数据项时,可能会影响到部分交易(输入流)、公共数据结构及项目私有数据结构(WK-AREA.ds),而影响到的公共数据结构可能又会影响到部分文件引擎、构件配置及项目,而影响到的构件配置、项目私有数据结构可能又会影响到部分项目。
以公共数据结构为分析起点;待分析数据为公共数据结构时,可能会影响到部分文件引擎、构件配置及项目,而影响到的构件配置可能又会影响到部分项目。
以构件配置为分析起点;待分析数据为构件配置时,可能会影响到部分项目。
以代码表值为分析起点;待分析数据为代码表值时,可能会影响到部分公共数据结构、构件配置,而影响到的公共数据结构、构件配置可能又会影响到部分项目。
以错误码以及文件引擎为分析起点;待分析数据为错误码、文件引擎时,可能会影响到部分项目。
本发明实施例通过相关性分析可以在将程序模型转换为程序代码后,分析变更程序模型中的某些设置信息的影响范围,从而为修改程序设计提供依据。
图6为本发明实施例提供的另一种基于模型的代码生成方法的流程图,本实施例在上述各实施例的基础上,对根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架进行进一步限定。
如图6所示,该方法包括:
步骤601、获取对图元工具栏中图元的操作信息,根据所述操作信息将被操作的图元确定为目标图元。
步骤602、在所述操作信息是将所述目标图元拖动至可视化界面中的模型编辑区时,根据所述目标图元的语法逻辑显示对应的配置界面。
步骤603、获取用户在所述配置界面输入的对所述目标图元的配置信息。
步骤604、根据所述配置信息配置所述目标图元,生成所述目标图元对应的至少一个流程节点。
示例性地,根据所述配置信息配置所述目标图元的功能和执行逻辑,得到所述目标图元对应的至少一个流程节点以及所述流程节点之间的连接关系。获取目标图元的语法逻辑,基于语法逻辑确定目标图元是第一类型的目标图元,还是第二类型的目标图元。
步骤605、对于第一类型的目标图元,在当前可视化界面内显示所述第一类型的目标图元对应的至少一个流程节点。
示例性地,对于第一类型的目标图元,若对应一个流程节点,则在当前可视化界面内显示所述一个流程节点;若对应至少两个流程节点,则根据所述至少两个流程节点之间的连接关系组成所述目标图元对应的子流程图,在当前可视化界面内显示所述子流程图。
步骤606、对于第二类型的目标图元,将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示,根据所述第二类型的目标图元对应的流程节点生成子流程图。
示例性地,在第二类型的目标图元是流程图元之时,根据所述流程图元对应的流程节点之间的连接关系生成子流程图,关联所述子流程图与对应的流程图元。检测到对所述流程图元的用户操作,新建所述当前可视化界面的下一级可视化界面;在所述下一级可视化界面中显示与所述流程图元关联的所述子流程图。
步骤607、对于所述流程图框架中的每个图解节点,检测到对对应图解节点的用户操作。
步骤608、显示被操作的图解节点对应的图解界面,获取所述图解界面内的用户操作信息,提取所述用户操作信息中的业务数据。
步骤609、配置所述业务数据给所述图解节点。
步骤610、在完成对所述流程图框架中的所有图解节点的业务数据配置操作时,将配置后的流程图作为程序模型。
步骤611、在检测到代码生成事件触发时,获取用户选择的目标语言类型。
步骤612、对于所述程序模型中的每个流程节点,获取与对应流程节点以及目标语言类型对应的目标解析规则,基于所述目标解析规则将所述对应流程节点转换为所述目标语言类型的程序代码。
步骤613、组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码。
本发明实施例通过在当前可视化界面中显示业务主流程,并响应于用户对第二类的目标图元的用户操作在下一级可视化界面中显示子流程,避免在同一可视化界面中显示所有流程图导致流程图冗长的情况,可以简化业务流程的流程图框架。
在一个示例性地实施方式中,用户通过详细设计透视图设计程序模型。其中,详细设计透视图界面包括主设计视图、VMD项目管理器及信息区视图、共享资源维护视图、构建视图及数据结构视图、数据字典视图和问题视图等。即详细设计透视图包含了开发过程中使用的各种功能对应的视图,是使用VMD工具进行业务功能开发的主界面。其中,主设计视图包括模型编辑区和图元工具栏等。VMD项目管理器及信息区视图展现了当前导入到工作空间的项目,每个项目即为一个业务模型,可能是交易级别的,也可能是构件级别的;信息区视图展现了当前业务模型所使用的输入输出接口及其它平台相关接口。共享资源维护视图展现了当前组件除业务模型外的包括输入输出接口、文件接口、数据库表、常量表、错误码、标准代码、构件配置、交易属性配置、文件引擎、以及多语言等在内的其它相关资源。构件视图及数据结构视图分别展现了除本组件外,与当前组件相关的其它组件对外发布的、可供使用的各种接口及业务模块构件。对于数据字典视图,数据项清单及代码表清单共同组成了企业级数据字典。数据项清单展现了企业级数据字典中可供使用的数据项字段。这些字段都是根据业务含义进行建模得到的。代码表清单展现了企业级数据字典中可供使用的业务常量,可用于判值分支场景作为分支条件使用。问题视图用于当程序模型校验不通过时,展现具体报错信息。图7为本发明实施例提供的一种数据项清单的示意图。在数据项清单中显示数据项id、数据项分类、业务定义、业务规则等字段的具体内容。
表1为一种企业级数据项清单中各字段的属性信息表。
Figure BDA0003001328720000191
Figure BDA0003001328720000201
Figure BDA0003001328720000211
本发明实施例中将数据模型与业务模型顺畅结合,在进行业务详细设计的同时,融入规范化的数据字典模型。其中,数据模型可以采用数据字典的形式体现,用于对数据的属性进行规范。不同类型的交易包括的模块不同,根据不同场景(记账与否、是否是数据库操作等)将模型分为不同类型的模块,根据不同类型的模型构成业务模型。
本发明实施例的程序模型包括各种逻辑的图元,图元的参数包括非共享参数和已发布的共享参数,涵盖了适用各种场景业务逻辑,并可根据新业务需求新增调整。可选地,在共享资源服务器中存放不同组件(与业务相关,例如贷款组件、存款组件、借记卡组件等)的接口信息,即为共享资源,可在开发不同组件时调用已经开发完成组件的基础资源,避免重复开发。采用并行空间资源机制实现不同上线时间的组件可以并行开发。其中,并行空间资源机制通过版本管理工具将开发空间进行隔离,不同开发空间对应不同上线时间的组件的开发资源,可以通过版本管理工具选择不同的时间进入对应的开发空间。需要说明的是,不同开发空间内可利用资源不同,且在不同开发空间内对同一程序模型进行开发时不产生互相干扰。其中,版本管理工具可以是配置管理系统ClearCase、SVN(subversion,版本管理工具)和分布式版本控制系统GIT等。
本发明实施例基于规范化的架构及抽象模型,具备极强的功能扩展性。除了将程序模型转换为代码之外,还包括报表定制化、程序调用关系及复杂度分析、权限管理、测试案例生成等功能。本发明实施例基于程序模型的相关性分析或者数据库中跟程序相关的数据导出为定制化的报表。程序调用关系及复杂度分析可以基于相关性分析确定调用关系。例如,调用关系可以是层次调用关系,包括数据项被谁调用了,接口被谁调用了,以及程序被谁调用了等。权限管理涉及特殊图元(例如自定义SQL图元)需要具有权限认证。测试案例生成包括根据所生成的代码自动生成的测试案例,用于测试所生成的代码。
图8为本发明实施例提供的一种基于模型的代码生成装置的结构框图,该装置通过执行本发明实施例提供的基于模型的代码生成方法实现程序代码自动生成。该装置可以由软件和/或硬件实现,并通常配置于计算机设备中,如图8所示,该装置包括:
信息获取模块810,用于根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
框架生成模块820,用于根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
框架配置模块830,用于获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
代码生成模块840,用于获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
本发明实施例提供一种基于模型的代码生成装置,达到了基于程序设计自动生成程序代码的效果,实现“设计即编码”的软件设计理念,解决了传统程序开发中设计与开发脱节的问题,提高了程序代码开发效率,规避了开发过程中的不规范情况。
可选地,信息获取模块810具体用于:
获取对图元工具栏中图元的操作信息,根据所述操作信息将被操作的图元确定为目标图元;
在所述操作信息是将所述目标图元拖动至可视化界面中的模型编辑区时,根据所述目标图元的语法逻辑显示对应的配置界面;
获取用户在所述配置界面输入的对所述目标图元的配置信息。
可选地,框架生成模块820包括:
图元配置子模块,用于根据所述配置信息配置所述目标图元,生成所述目标图元对应的至少一个流程节点;
第一显示子模块,用于对于第一类型的目标图元,在当前可视化界面内显示所述第一类型的目标图元对应的至少一个流程节点;
第二显示子模块,用于对于第二类型的目标图元,将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示,根据所述第二类型的目标图元对应的流程节点生成子流程图,其中,所述子流程图不在所述当前可视化界面中显示;
框架生成子模块,用于根据所述第一类型的目标图元和所述第二类型的目标图元之间的连接关系组合所述当前可视化界面内的所有流程节点,得到流程图框架。
可选地,图元配置子模块具体用于:
根据所述配置信息配置所述目标图元的功能和执行逻辑,得到所述目标图元对应的至少一个流程节点以及所述流程节点之间的连接关系。
可选地,第一显示子模块具体用于:
对于第一类型的目标图元,若对应一个流程节点,则在当前可视化界面内显示所述一个流程节点;
对于第一类型的目标图元,若对应至少两个流程节点,则根据所述至少两个流程节点之间的连接关系组成所述目标图元对应的子流程图,在当前可视化界面内显示所述子流程图。
可选地,框架生成模块820还包括:
关联子模块,用于在所述第二类型的目标图元是流程图元之时,根据所述流程图元对应的流程节点之间的连接关系生成子流程图,关联所述子流程图与对应的流程图元。
可选地,框架生成模块820还包括:
界面新建子模块,用于在将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示之后,检测到对所述流程图元的用户操作,新建所述当前可视化界面的下一级可视化界面;
子流程图显示子模块,用于在所述下一级可视化界面中显示与所述流程图元关联的所述子流程图。
进一步地,所述流程节点的类型包括:数据传递节点、检查节点、计算节点、运算节点、自定义节点、展示节点、初始化节点、字符串节点、条件分支节点、判值分支节点和循环分支节点。
可选地,框架配置模块830具体用于:
对于所述流程图框架中的每个图解节点,检测到对对应图解节点的用户操作;
显示被操作的图解节点对应的图解界面,获取所述图解界面内的用户操作信息,提取所述用户操作信息中的业务数据;
配置所述业务数据给所述图解节点;
在完成对所述流程图框架中的所有图解节点的业务数据配置操作时,将配置后的流程图作为程序模型。
进一步地,所述目标语言类型包括面向商业的通用语言COBOL和/Java。
可选地,代码生成模块840具体用于:
在检测到代码生成事件触发时,获取用户选择的目标语言类型;
对于所述程序模型中的每个流程节点,获取与对应流程节点以及目标语言类型对应的目标解析规则,基于所述目标解析规则将所述对应流程节点转换为所述目标语言类型的程序代码;
组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码。
可选地,代码生成模块840还具体用于:
根据所述程序模型中各个流程节点的逻辑关系确定各流程节点转换成的程序代码的执行顺序;
根据所述执行顺序组合所述程序代码得到所述程序模型对应的代码。
可选地,该装置还包括:
相关性分析模块,用于在根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码之后,获取用户输入的待分析数据以及从版本管理工具获取的分析对象,对所述待分析数据和分析对象进行相关性分析,其中,所述相关性分析用于分析字段与接口、接口与接口、接口与程序以及程序与程序之间的相关性。
本发明实施例所提供的基于模型的代码生成装置可执行本发明任意实施例所提供的基于模型的代码生成方法,具备执行方法相应的功能模块和有益效果。
图9为本发明实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括处理器90、存储器91、输入装置92和输出装置93;计算机设备中处理器90的数量可以是一个或多个,图C中以一个处理器90为例;计算机设备中的处理器90、存储器91、输入装置92和输出装置93可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器91作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于模型的代码生成方法对应的程序指令/模块(例如,基于模型的代码生成装置中的信息获取模块810、框架生成模块820、框架配置模块830和代码生成模块840)。处理器90通过运行存储在存储器91中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的基于模型的代码生成方法。
存储器91可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器91可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器91可进一步包括相对于处理器90远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置92可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置93可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于模型的代码生成方法,该方法包括:
根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于模型的代码生成方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于模型的代码生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种基于模型的代码生成方法,其特征在于,包括:
根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
2.根据权利要求1所述的方法,其特征在于,所述根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息,包括:
获取对图元工具栏中图元的操作信息,根据所述操作信息将被操作的图元确定为目标图元;
在所述操作信息是将所述目标图元拖动至可视化界面中的模型编辑区时,根据所述目标图元的语法逻辑显示对应的配置界面;
获取用户在所述配置界面输入的对所述目标图元的配置信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,包括:
根据所述配置信息配置所述目标图元,生成所述目标图元对应的至少一个流程节点;
对于第一类型的目标图元,在当前可视化界面内显示所述第一类型的目标图元对应的至少一个流程节点;
对于第二类型的目标图元,将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示,根据所述第二类型的目标图元对应的流程节点生成子流程图,其中,所述子流程图不在所述当前可视化界面中显示;
根据所述第一类型的目标图元和所述第二类型的目标图元之间的连接关系组合所述当前可视化界面内的所有流程节点,得到流程图框架。
4.根据权利要求3所述的方法,其特征在于,所述根据所述配置信息配置所述目标图元,生成所述目标图元对应的至少一个流程节点,包括:
根据所述配置信息配置所述目标图元的功能和执行逻辑,得到所述目标图元对应的至少一个流程节点以及所述流程节点之间的连接关系。
5.根据权利要求4所述的方法,其特征在于,所述对于第一类型的目标图元,在当前可视化界面内显示所述第一类型的目标图元对应的至少一个流程节点,包括:
对于第一类型的目标图元,若对应一个流程节点,则在当前可视化界面内显示所述一个流程节点;
对于第一类型的目标图元,若对应至少两个流程节点,则根据所述至少两个流程节点之间的连接关系组成所述目标图元对应的子流程图,在当前可视化界面内显示所述子流程图。
6.根据权利要求3所述的方法,其特征在于,在所述第二类型的目标图元是流程图元之时,还包括:
根据所述流程图元对应的流程节点之间的连接关系生成子流程图,关联所述子流程图与对应的流程图元。
7.根据权利要求6所述的方法,其特征在于,在将所述第二类型的目标图元作为所述当前可视化界面内的流程节点进行显示之后,还包括:
检测到对所述流程图元的用户操作,新建所述当前可视化界面的下一级可视化界面;
在所述下一级可视化界面中显示与所述流程图元关联的所述子流程图。
8.根据权利要求1所述的方法,其特征在于,所述流程节点的类型包括:数据传递节点、检查节点、计算节点、运算节点、自定义节点、展示节点、初始化节点、字符串节点、条件分支节点、判值分支节点和循环分支节点。
9.根据权利要求1所述的方法,其特征在于,所述获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型,包括:
对于所述流程图框架中的每个图解节点,检测到对对应图解节点的用户操作;
显示被操作的图解节点对应的图解界面,获取所述图解界面内的用户操作信息,提取所述用户操作信息中的业务数据;
配置所述业务数据给所述图解节点;
在完成对所述流程图框架中的所有图解节点的业务数据配置操作时,将配置后的流程图作为程序模型。
10.根据权利要求1所述的方法,其特征在于,所述目标语言类型包括面向商业的通用语言COBOL和/Java。
11.根据权利要求1所述的方法,其特征在于,所述获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,包括:
在检测到代码生成事件触发时,获取用户选择的目标语言类型;
对于所述程序模型中的每个流程节点,获取与对应流程节点以及目标语言类型对应的目标解析规则,基于所述目标解析规则将所述对应流程节点转换为所述目标语言类型的程序代码;
组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码。
12.根据权利要求11所述的方法,其特征在于,所述组合与所述目标语言类型对应的各个所述程序代码得到所述程序模型对应的代码,包括:
根据所述程序模型中各个流程节点的逻辑关系确定各流程节点转换成的程序代码的执行顺序;
根据所述执行顺序组合所述程序代码得到所述程序模型对应的代码。
13.根据权利要求1所述的方法,其特征在于,在根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码之后,还包括:
获取用户输入的待分析数据以及从版本管理工具获取的分析对象,对所述待分析数据和分析对象进行相关性分析,其中,所述相关性分析用于分析字段与接口、接口与接口、接口与程序以及程序与程序之间的相关性。
14.一种基于模型的代码生成装置,其特征在于,包括:
信息获取模块,用于根据对图元的操作信息确定被操作的目标图元,获取对所述目标图元的配置信息;
框架生成模块,用于根据所述配置信息配置所述目标图元生成流程节点,显示所述流程节点组合成的流程图框架,其中,所述流程节点包括图解节点;
框架配置模块,用于获取所述流程图框架中的各个所述图解节点对应的业务数据,根据所述业务数据配置各个所述图解节点得到程序模型;
代码生成模块,用于获取目标语言类型,根据与所述目标语言类型以及流程节点类型对应的解析规则生成所述程序模型对应的代码,其中,所述解析规则是将不同类型的流程节点解析为目标语言类型对应的程序代码的规则。
15.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的基于模型的代码生成方法。
16.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-13中任一所述的基于模型的代码生成方法。
CN202110347751.0A 2021-03-31 2021-03-31 一种基于模型的代码生成方法、装置、计算机设备及介质 Pending CN112947914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110347751.0A CN112947914A (zh) 2021-03-31 2021-03-31 一种基于模型的代码生成方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110347751.0A CN112947914A (zh) 2021-03-31 2021-03-31 一种基于模型的代码生成方法、装置、计算机设备及介质

Publications (1)

Publication Number Publication Date
CN112947914A true CN112947914A (zh) 2021-06-11

Family

ID=76231395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110347751.0A Pending CN112947914A (zh) 2021-03-31 2021-03-31 一种基于模型的代码生成方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN112947914A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807987A (zh) * 2021-07-29 2021-12-17 卡斯柯信号有限公司 一种基于ctc仿真实训流程的参数动态计算方法及装置
CN113918211A (zh) * 2021-12-13 2022-01-11 昆仑智汇数据科技(北京)有限公司 一种工业设备对象数据模型的执行方法、装置及设备
CN117555533A (zh) * 2024-01-12 2024-02-13 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质
CN117667062A (zh) * 2024-01-31 2024-03-08 成都信息工程大学 飞行驾驶舱人机交互界面的开发系统及开发方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807987A (zh) * 2021-07-29 2021-12-17 卡斯柯信号有限公司 一种基于ctc仿真实训流程的参数动态计算方法及装置
CN113918211A (zh) * 2021-12-13 2022-01-11 昆仑智汇数据科技(北京)有限公司 一种工业设备对象数据模型的执行方法、装置及设备
CN117555533A (zh) * 2024-01-12 2024-02-13 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质
CN117555533B (zh) * 2024-01-12 2024-04-12 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质
CN117667062A (zh) * 2024-01-31 2024-03-08 成都信息工程大学 飞行驾驶舱人机交互界面的开发系统及开发方法

Similar Documents

Publication Publication Date Title
CN109324791B (zh) 金融自助终端业务流程开发方法、装置及终端设备
US11561772B2 (en) Low-code development platform
CN112947914A (zh) 一种基于模型的代码生成方法、装置、计算机设备及介质
CN112394922B (zh) 决策配置方法、业务决策方法和决策引擎系统
Ghamarian et al. Modelling and analysis using GROOVE
CN102236549B (zh) 跨动态边界的运行时分析的可视化
CN111427561A (zh) 业务代码的生成方法、装置、计算机设备和存储介质
CN108628605A (zh) 流式数据处理方法、装置、服务器和介质
CN109739494B (zh) 一种基于Tree-LSTM的API使用代码生成式推荐方法
Lima et al. A framework for verifying deadlock and nondeterminism in UML activity diagrams based on CSP
US20200226232A1 (en) Method of selecting software files
US20240143285A1 (en) Architecture discovery
CN115639980A (zh) 一种低代码平台可拖拽的前端逻辑编排方法及装置
CN106484389B (zh) 动作流分段管理
CN114115841A (zh) 数据流接口动态编排方法、装置、设备、介质及程序产品
CN115048104A (zh) 基于语法树的代码生成方法及其装置、电子设备
US20220075710A1 (en) System and method for improved unit test creation
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
Kulesza et al. Mapping features to aspects: A model-based generative approach
CN115563164A (zh) 一种规则引擎生成方法、装置、设备及可读存储介质
CN114174983B (zh) 用于高级构造的优化的自动验证的方法和系统
Dantas et al. Using aspects to make adaptive object-models adaptable
Takeda et al. MERA: Meta language for software engineering
US20080195453A1 (en) Organisational Representational System
Wada et al. Design and implementation of the matilda distributed uml virtual machine

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