CN117369789B - 基于可视化配置工具生成代码的方法及可视化显示设备 - Google Patents
基于可视化配置工具生成代码的方法及可视化显示设备 Download PDFInfo
- Publication number
- CN117369789B CN117369789B CN202311343137.2A CN202311343137A CN117369789B CN 117369789 B CN117369789 B CN 117369789B CN 202311343137 A CN202311343137 A CN 202311343137A CN 117369789 B CN117369789 B CN 117369789B
- Authority
- CN
- China
- Prior art keywords
- configuration
- elements
- area
- attribute
- data
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000015654 memory Effects 0.000 claims abstract description 122
- 238000003745 diagnosis Methods 0.000 claims abstract description 68
- 230000006870 function Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 13
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 72
- 230000018109 developmental process Effects 0.000 description 12
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及计算机应用技术领域,公开了基于可视化配置工具生成代码的方法及可视化显示设备,该方法包括:获取诊断和内存管理配置数据;基于配置数据,建立可视化显示界面;检测用户在可视化显示界面上编辑的操作指令,并将用户编辑后的可视化显示界面上数据生成新的配置数据;基于新的配置数据,生成配置代码。利用可视化配置工具进行可视化操作,不仅简化了工作方式,提高了工作效率,而且还避免了手动编辑代码带来的错误,极大简化了诊断和内存管理的开发流程,提高了代码正确性。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种基于可视化配置工具生成代码的方法及可视化显示设备。
背景技术
在汽车电子控制单元(Electronic Control Unit,简称ECU)软件的开发项目中,诊断功能和内存管理功能是必不可少的模块,诊断提供了ECU软件标定,升级和故障处理的能力,内存管理则实现了持久化数据的能力。
在实际开发过程中,诊断和内存管理功能都涉及到大量模块,并有较高的关联度,每增加或删除一条诊断需求或存储需求,都需要对应修改大量文件,不仅耗时费力,且无法保证配置的正确性,容易导致代码编译不正确,甚至出现内存越界等重大错误。
发明内容
有鉴于此,本发明提供了一种基于可视化配置工具生成代码的方法及可视化显示设备,以解决现有技术中修改诊断和内存管理功能相关配置效率低下的问题。
第一方面,本发明提供了一种基于可视化配置工具生成代码的方法,该方法包括:
获取诊断和内存管理配置数据;
基于配置数据,建立可视化显示界面,可视化显示界面上包括菜单区以及配置区,配置区包括属性区以及参数编辑区,菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,属性区包括诊断配置元素以及内存管理配置元素需要配置的多个属性,参数编辑区包括至少一条诊断配置元素或内存管理配置元素的配置子元素,配置子元素中包括与每个属性对应的属性值,参数编辑区用于编辑属性值;
检测用户在可视化显示界面上编辑的操作指令,并将用户编辑后的可视化显示界面上数据生成新的配置数据;
基于新的配置数据,生成配置代码。
基于诊断和内存管理配置数据,建立可视化显示界面,用户可以在可视化显示界面中进行配置的编辑修改,再将编辑后的可视化显示界面转为新的配置数据,最后根据新的配置数据生成配置代码用于诊断和内存管理。利用可视化配置工具进行可视化操作,不仅简化了工作方式,提高了工作效率,而且还避免了手动编辑代码带来的错误,极大简化了诊断和内存管理的开发流程,提高了代码正确性。
在一种可选的实施方式中,可视化显示界面上还包括:功能选择区,功能选择区在用户于参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条配置子元素。
在一种可选的实施方式中,基于新的配置数据,生成配置代码,包括:
获取用户编写代码;
基于编写代码以及新的配置数据,生成配置代码,其中,配置代码中包括分割标识,分割标识用于在用户解析配置代码时,将新的配置数据与编写代码进行分离。
分割标识可以在用户解析配置代码时,自动将基于可视化显示界面生成的新的配置数据与用户编写代码进行分离,方便用户快速的再次修改代码,进而提高修改效率,降低代码编写的错误率,简化了诊断和内存管理的开发流程。
在一种可选的实施方式中,诊断和内存管理配置数据通过以下步骤创建:
确定诊断和内存管理的需求功能;
根据需求功能,创建初始xml文件;
解析初始xml文件,将初始xml文件转换为配置数据,并将配置数据用结构体链表的数据结构进行存储,其中,将初始xml文件中的根元素的子元素构建为一级配置元素,将结构体链表中的结构体构建为二级配置元素,将结构体中的成员变量和值分别构建为配置子元素的属性和属性值,其中,一级配置元素、二级配置元素以及配置子元素为依次向下包含的关系。
采用xml文件格式,将确定的诊断和内存管理的需求功能转换为配置数据,这样开发人员可以轻松地查看和修改配置数据,而不需要深入了解代码的实现细节,提高了配置数据的可维护性,便于修改和更新。并且可以轻松地添加、删除或修改诊断和内存管理的需求功能,而不会对整个结构体链表的定义和使用造成影响,具有可扩展性,能够适应不断变化的需求。
在一种可选的实施方式中,基于配置数据,建立可视化显示界面,包括:
根据一级配置元素与二级配置元素的从属关系,构建菜单栏,以生成菜单区,其中,一个一级配置元素对应至少一个二级配置元素;
根据配置子元素的属性以及对应的属性值构建表格,其中,一个二级配置元素对应至少一条配置子元素,表格中的属性栏为属性区,表格中用于更改属性值的单元格为参数编辑区。
在一种可选的实施方式中,参数编辑区包括编辑框、复选框、组合框,将用户编辑后的可视化显示界面上数据生成新的配置数据,包括:
当单元格为编辑框时,将编辑框中的内容生成字符串数据;
当单元格为复选框时,将复选框中的内容生成0或1;
当单元格为组合框时,将组合框中的内容生成宏;
基于表格中的所有配置子元素,构建一个新的结构体;
基于表格中的所有属性,构建与新的结构体对应的成员变量,将单元格中的内容作为新的结构体对应的成员变量的值;
根据所有新的结构体、每个新的结构体对应的成员变量、每个新的结构体对应的成员变量的值,创建新的结构体链表,将新的结构体链表作为新的配置数据。
第二方面,本发明提供了一种可视化显示设备,适用于上述基于可视化配置工具生成代码的方法,可视化显示设备包括:
菜单区,菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素;
配置区,配置区包括属性区以及参数编辑区,属性区包括诊断配置元素以及内存管理配置元素需要配置的多个属性;参数编辑区包括至少一条诊断配置元素或内存管理配置元素的配置子元素,配置子元素中包括与每个属性对应的属性值,参数编辑区用于编辑属性值;参数编辑区包括编辑框、复选框、组合框;
功能选择区,功能选择区在用户于参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条配置子元素。
第三方面,本发明提供了一种基于可视化配置工具生成代码的装置,该装置包括:
获取模块,用于获取诊断和内存管理配置数据;
配置数据转界面显示模块,用于基于配置数据,建立可视化显示界面,可视化显示界面上包括菜单区以及配置区,配置区包括属性区以及参数编辑区,菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,属性区包括与诊断配置元素以及内存管理配置元素需要配置的多个属性,参数编辑区包括至少一条诊断配置元素或内存管理配置元素的配置子元素,配置子元素中包括与每个属性对应的属性值,参数编辑区用于编辑属性值;
界面显示转配置数据模块,用于检测用户在可视化显示界面上编辑的操作指令,并将用户编辑后的可视化显示界面上数据生成新的配置数据;
生成模块,用于基于新的配置数据,生成配置代码。
第四方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于可视化配置工具生成代码的方法。
第五方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于可视化配置工具生成代码的方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于可视化配置工具生成代码的方法的流程示意图;
图2是根据本发明实施例的可视化显示界面的示意图;
图3是根据本发明实施例的诊断和内存管理配置数据创建的流程示意图;
图4是根据本发明实施例的步骤S102包括的方法的流程示意图;
图5是根据本发明实施例的用户操作的流程示意图;
图6是根据本发明实施例的基于可视化配置工具生成代码的装置的结构框图;
图7是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
用户在对诊断和内存管理功能实际开发过程中,往往涉及到大量模块,且每个模块之间还具有较高关联度。当用户更改一条配置需求时,往往需要修改大量代码,不仅费时费力,而且容易出现代码错误,无法编译的问题。
鉴于此,根据本发明实施例,提供了一种基于可视化配置工具生成代码的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种基于可视化配置工具生成代码的方法,可用于服务器、终端等设备,图1是根据本发明实施例的基于可视化配置工具生成代码的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取诊断和内存管理配置数据。该诊断和内存管理配置数据是由诊断和内存管理的需求功能创建生成。
步骤S102,基于配置数据,建立可视化显示界面,可视化显示界面上包括菜单区以及配置区,配置区包括属性区以及参数编辑区,菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,属性区包括诊断配置元素以及内存管理配置元素需要配置的多个属性,参数编辑区包括至少一条诊断配置元素或内存管理配置元素的配置子元素,配置子元素中包括与每个属性对应的属性值,参数编辑区用于编辑属性值。
本实施例中可以参照图2所示,为可视化显示界面的示意图。菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素。本实施例中,菜单区可以包括一级诊断配置元素以及一级内存管理配置元素,称为一级配置元素;菜单区还可以包括二级诊断配置元素以及二级内存管理配置元素,称为二级配置元素。例如:一级配置元素包括:DCM Config、DEM Config、NVM Config,其中,DCM Config和DEM Config为诊断配置元素,NVM Config为内存管理配置元素。一级配置元素DCM Config,包括多个二级配置元素:Dcm GeneralConfig、DID Table、RID Table;一级配置元素DEM Config,包括多个二级配置元素:OpCycle Table、Debounce Table、DTC Confg;一级配置元素NVM Config,包括多个二级配置元素:NvM Block Config、FEE Config。
属性区中包括的诊断配置元素的属性可以有:报文ID、缓冲区域大小、诊断数据ID、诊断数据长度、诊断数据行为、诊断程序、故障检测码等。内存管理配置元素的属性可以有:内存类型、内存大小、块优先级、内存标识、选择块读取、选择块写入等。本实施例中,每个二级配置元素对应的属性可能相同,也可能不同,主要由二级配置元素的类型决定。
而参数编辑区则用于编辑属性值,例如,可以在单元格中编辑写入,也可以在复选框中进行勾选,还可以根据组合框进行选择。从而在可视化显示界面中实现诊断和内存管理配置的修改。
步骤S103,检测用户在可视化显示界面上编辑的操作指令,并将用户编辑后的可视化显示界面上数据生成新的配置数据。
用户可以在生成的可视化显示界面上进行编辑,编辑后的可视化界面中可以用于生成新的诊断和内存管理配置数据。具体地,用户可以在参数编辑区中的编辑框中编写,例如输入字符或数字等、在复选框中勾选,例如打钩表示TRUE,否则表示FALSE、以及在组合框给定的选项中选择其中1项等,支持多种编辑方式,可以更加灵活、便捷的修改诊断和内存管理配置数据。原本增加一条需求,需要手动修改大量文件,现在只需在可视化显示界面上修改一个编辑框或勾选一个复选框即可完成。
步骤S104,基于新的配置数据,生成配置代码。生成的配置代码可以用于诊断和内存管理。
本实施例中,基于诊断和内存管理配置数据,建立可视化显示界面,用户可以在可视化显示界面中进行配置的编辑修改,再将编辑后的可视化显示界面转为新的配置数据,最后根据新的配置数据生成配置代码用于诊断和内存管理。利用可视化配置工具进行可视化操作,不仅简化了工作方式,提高了工作效率,而且还避免了手动编辑代码带来的错误,极大简化了诊断和内存管理的开发流程,提高了代码正确性。
在一些可选的实施方式中,可视化显示界面上还包括:功能选择区,功能选择区在用户于参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条配置子元素。
本实施例中,可以通过点击鼠标右键,在弹出的菜单中选择“Add”“Insert”“Delete”按钮,即可以实现增加、插入或删除一条配置子元素的操作。原本增加一条需求,需要手动修改大量文件,现在只需在可视化显示界面上增加一条配置子元素或勾选1个复选框即可完成。极大简化了诊断和内存管理的开发流程,提高了代码正确性以及工作效率。
在一些可选的实施方式中,基于新的配置数据,生成配置代码,包括:
获取用户编写代码;
基于编写代码以及新的配置数据,生成配置代码,其中,配置代码中包括分割标识,分割标识用于在用户解析配置代码时,将新的配置数据与编写代码进行分离。
通过”Generate”按钮,生成对应配置代码。可以根据项目需求,用Qfile类创建对应的.c和.h文件,并依据获取的结构体链表中的信息,构建.c和.h文件的变量,函数,结构体及注释等内容。填充用户代码,如果用户在自动生成的代码基础上添加了编写代码,则在重新自动生成代码后,将用户添加的编写代码填充到重新自动生成的代码上。
在用户实际开发诊断和内存管理的过程中,考虑到通过可视化配置界面生成的新的配置数据还可能会存在一些需要人工再次添加或修改的部分,鉴于此,本实施例中,还可以获取用户自行编写的代码,基于用户编写代码以及新的配置数据,生成最终的用于诊断和内存管理的配置代码。
进一步地,还考虑到用户在开发过程中,可能要修改添加了用户编写代码的配置代码,但是又不想重新利用可视化显示界面生成代码,因为重新生成的代码会把用户已经再次编写过的添加了用户编写代码的配置代码给覆盖掉,重新生成一个仅由可视化显示界面生成的代码。为了方便在已经生成的配置代码上进行进一步编辑修改,本实施例中,还设置了分割标识,该分割标识可以在用户解析配置代码时,自动将基于可视化显示界面生成的新的配置数据与用户编写代码进行分离,可以分辨出哪一部分为用户编写代码、哪一部分为由可视化显示界面自动生成的代码,方便用户快速的再次修改代码,进而提高修改效率,降低代码编写的错误率,简化了诊断和内存管理的开发流程。
举例说明:例如Code1,Code2,Code3为用户编写代码,加载所有配置代码到内存区,通过识别配置代码中分割标识来获取所有的用户编写代码,并用结构体链表存储,识别出的用户编写代码如下:
/**************************************************************/
/* !!!Don't Remove This Comment!!! */
/* User's Code start */
/**************************************************************/
Code1
Code2
Code3
/**************************************************************/
/* !!!Don't Remove This Comment!!! */
/* User's Code end */
/**************************************************************/
参照图3所示,在一些可选的实施方式中,诊断和内存管理配置数据通过以下步骤创建:
步骤S1011,确定诊断和内存管理的需求功能。
诊断功能可以帮助开发人员,也即是本申请中的用户定位和解决软件中的错误、问题或异常情况。可以提供有关软件运行时的详细信息,帮助开发人员进行故障排除和调试。本实施例中,诊断的需求功能可以包括:诊断通信、诊断事件等。
内存管理功能涉及管理嵌入式系统中的内存资源,可以确保程序正确、高效地使用内存。本实施例中,内存管理的需求功能可以包括:存储器类型、存储空间分配、数据存储策略等。
步骤S1012,根据需求功能,创建初始xml文件。XML,即Extensible MarkupLanguage,表示可扩展标记语言。
根据诊断和内存管理的需求功能,创建一个空的xml工程文件,也是初始xml文件,初始xml文件中指定了根元素以及根元素下的子元素。每个xml文件只会有一个根元素,而子元素可以有多个。根元素的名称可以是任意有效的XML标签名称,例如:“诊断和内存管理”。
步骤S1013,解析初始xml文件,将初始xml文件转换为配置数据,并将配置数据用结构体链表的数据结构进行存储,其中,将初始xml文件中的根元素的子元素构建为一级配置元素,将结构体链表中的结构体构建为二级配置元素,将结构体中的成员变量和值分别构建为配置子元素的属性和属性值,其中,一级配置元素、二级配置元素以及配置子元素为依次向下包含的关系。
解析初始xml文件,读取xml内容,将初始xml文件中定义的元素转换为配置数据,并用结构体链表存储。结构体链表是一种数据结构,常用于存储和一系列的结构体元素。然后,将配置数据中的结构体链表,构建为根元素的子元素,作为一级配置元素;将结构体链表中的结构体,构建为二级配置元素,将结构体中的成员变量和值,构建为配置子元素的属性和属性值,最后将根元素加载到Qt的QDomDocument类中,保存为xml文件。
参照上述步骤S102中,一级配置元素包括:DCM Config、DEM Config、NVM Config等;二级配置元素:Dcm General Config、DID Table、RID Table等。而每一个二级配置元素对应若干配置子元素,参照图2所示,参数编辑区中每一行数据代表一条配置子元素,每行对应的单元格则代表配置子元素中的属性值,每个属性值对应有属性。将配置数据用结构体链表存储,将存储后的数据用于转换可视化显示界面。
本实施例中,采用xml文件格式,将确定的诊断和内存管理的需求功能转换为配置数据,这样开发人员可以轻松地查看和修改配置数据,而不需要深入了解代码的实现细节,提高了配置数据的可维护性,便于修改和更新。并且可以轻松地添加、删除或修改诊断和内存管理的需求功能,而不会对整个结构体链表的定义和使用造成影响,具有可扩展性,能够适应不断变化的需求。
参照图4所示,在一些可选的实施方式中,上述步骤S102,基于配置数据,建立可视化显示界面,包括:
步骤S1021,根据一级配置元素与二级配置元素的从属关系,构建菜单栏,以生成菜单区,其中,一个一级配置元素对应至少一个二级配置元素。具体参见上述步骤S102中的描述。
步骤S1022,根据配置子元素的属性以及对应的属性值构建表格,其中,一个二级配置元素对应至少一条配置子元素,表格中的属性栏为属性区,表格中用于更改属性值的单元格为参数编辑区。具体参见上述描述。
利用解析出的配置数据,构建可视化显示界面。根据一级配置元素和二级配置元素的从属关系,构建菜单栏,用树状结构进行显示;根据配置子元素的属性和属性值构建表格,且每个结构体链表,构建一个表格,其中每个结构体构建一行配置信息,即配置子元素,每个结构体中的变量构建一个单元格,每个单元格又根据属性,构建为编辑框,复选框或组合框进行显示。
基于本实施例中的可视化显示界面,只需在可视化显示界面上增加一条配置子元素或勾选1个复选框即可完成诊断和内存管理配置数据的修改。极大简化了诊断和内存管理的开发流程,提高了代码正确性以及工作效率。
在一些可选的实施方式中,参数编辑区包括编辑框、复选框、组合框,将用户编辑后的可视化显示界面上数据生成新的配置数据,包括:
当单元格为编辑框时,将编辑框中的内容生成字符串数据;
当单元格为复选框时,将复选框中的内容生成0或1;
当单元格为组合框时,将组合框中的内容生成宏;
基于表格中的所有配置子元素,构建一个新的结构体;
基于表格中的所有属性,构建与新的结构体对应的成员变量,将单元格中的内容作为新的结构体对应的成员变量的值;
根据所有新的结构体、每个新的结构体对应的成员变量、每个新的结构体对应的成员变量的值,创建新的结构体链表,将新的结构体链表作为新的配置数据。
本实施例中,根据诊断与内存管理的需求功能,将参数编辑区设置为包括编辑框、复选框、组合框等多种可编辑方式,便于配置的修改。
遍历可视化显示界面中的元素,将编辑框中的内容生成字符串数据,将复选框中的内容生成0或1,将组合框中的内容生成宏。为配置信息表格中的每行数据构建结构体,根据列数,创建对应结构体的成员变量个数,并将单元格的数据作为结构体中成员变量的值,每行配置子元素,对应生成一个结构体变量。将配置信息表格中所有行的配置子元素数据汇总,形成链表,每个结构体变量作为结构体链表中的一个节点,每个配置信息表格,对应生成一个结构体链表。
本实施例中,根据新的配置数据生成配置代码用于诊断和内存管理,将用户编辑后的可视化显示界面转换为新的配置数据,不仅便于后续配置代码的再次修改,而且还可以用于再次生成新的可视化显示界面,具有较高的便捷性,极大简化了诊断和内存管理的开发流程,提高了代码正确性。
具体地,参照图5所示,用户操作流程如下:
步骤一,打开已有的xml配置工程文件或新建空的配置工程文件;
通过工具栏中”New Project”按钮来新建1个工程文件,或通过”Open Project”按钮打开已经存在工程文件。
步骤二,选择导入用户编写代码;
可以选择是否导入用户代码,如果选择导入,则通过工具栏”Load UserCode”按钮导入用户的编写代码,并解析编写代码。
步骤三,生成可视化显示界面;
根据新建的空的配置工程文件或已有的xml配置工程文件,并根据选择导入的用户编写代码,生成可视化显示界面。
步骤四,编辑可视化显示界面中的配置;
用户可以在显示界面上通过鼠标右键,调出右键菜单栏,包括“Add”“Insert”“Delete”3个按键,通过单击对应按键,实现增加、插入或删除一条配置。对于单元格的编辑,如果显示为复选框,用户可以选择打钩或取消打钩,如果显示为编辑框,用户可输入字符串或数字,如果为复选框,用户可选择给定选项中的一项。若编辑不符合规则,则进行弹窗提醒并补全/纠错。
步骤五,保存编辑后的配置;
通过单击工具栏中“Save Project”来实现工程文件的保存,以更新配置数据,生成新的xml文件。
步骤六,选择填充用户编写代码;
步骤七,生成配置代码;
通过单击工具栏“Generate”按键,实现配置代码的生成。
在本实施例中还提供了一种可视化显示设备,参照图2所示,该可视化显示设备用于实现上述基于可视化配置工具生成代码的方法中实施例及实施方式。该可视化显示设备,包括:
菜单区,菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素;
配置区,配置区包括属性区以及参数编辑区,属性区包括与诊断配置元素以及内存管理配置元素需要配置的多个属性;参数编辑区包括至少一条诊断配置元素或内存管理配置元素的配置子元素,配置子元素中包括与每个属性对应的属性值,参数编辑区用于编辑属性值;参数编辑区包括编辑框、复选框、组合框;
功能选择区,功能选择区在用户于参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条配置子元素。
本实施例中,基于诊断和内存管理配置数据,建立可视化显示界面,用户可以在可视化显示界面中进行配置的编辑修改,再将编辑后的可视化显示界面转为新的配置数据,最后根据新的配置数据生成配置代码用于诊断和内存管理。利用可视化显示界面进行可视化配置操作,不仅简化了工作方式,提高了工作效率,而且还避免了手动编辑代码带来的错误,极大简化了诊断和内存管理的开发流程,提高了代码正确性。
在本实施例中还提供了一种基于可视化配置工具生成代码的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于可视化配置工具生成代码的装置,如图6所示,包括:
获取模块201,用于获取诊断和内存管理配置数据;
配置数据转界面显示模块202,用于基于所述配置数据,建立可视化显示界面,所述可视化显示界面上包括菜单区以及配置区,所述配置区包括属性区以及参数编辑区,所述菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,所述属性区包括与所述诊断配置元素以及内存管理配置元素需要配置的多个属性,所述参数编辑区包括至少一条所述诊断配置元素或所述内存管理配置元素的配置子元素,所述配置子元素中包括与每个所述属性对应的属性值,所述参数编辑区用于编辑所述属性值;
界面显示转配置数据模块203,用于检测用户在所述可视化显示界面上编辑的操作指令,并将用户编辑后的所述可视化显示界面上数据生成新的配置数据;
生成模块204,用于基于所述新的配置数据,生成配置代码。
在一些可选实施例中,诊断和内存管理配置数据通过以下模块创建:
创建模块,用于确定诊断和内存管理的需求功能,还用于根据所述需求功能,创建初始xml文件;
代码解析模块,用户解析所述初始xml文件,将所述初始xml文件转换为配置数据,并将所述配置数据用结构体链表的数据结构进行存储,其中,将所述初始xml文件中的根元素的子元素构建为一级配置元素,将结构体链表中的结构体构建为二级配置元素,将所述结构体中的成员变量和值分别构建为所述配置子元素的属性和属性值,其中,所述一级配置元素、所述二级配置元素以及所述配置子元素为依次向下包含的关系。
本实施例中的基于可视化配置工具生成代码的装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种计算机设备,具有上述图6所示的基于可视化配置工具生成代码的装置。
请参阅图7,图7是本发明可选实施例提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种基于可视化配置工具生成代码的方法,其特征在于,所述方法包括:
获取诊断和内存管理配置数据;
基于所述配置数据,建立可视化显示界面,所述可视化显示界面上包括菜单区以及配置区,所述配置区包括属性区以及参数编辑区,所述菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,所述属性区包括所述诊断配置元素以及内存管理配置元素需要配置的多个属性,所述参数编辑区包括至少一条所述诊断配置元素或所述内存管理配置元素的配置子元素,所述配置子元素中包括与每个所述属性对应的属性值,所述参数编辑区用于编辑所述属性值;
检测用户在所述可视化显示界面上编辑的操作指令,并将用户编辑后的所述可视化显示界面上数据生成新的配置数据;
基于所述新的配置数据,生成配置代码;
所述诊断和内存管理配置数据通过以下步骤创建:
确定诊断和内存管理的需求功能;
根据所述需求功能,创建初始xml文件;
解析所述初始xml文件,将所述初始xml文件转换为配置数据,并将所述配置数据用结构体链表的数据结构进行存储,其中,将所述初始xml文件中的根元素的子元素构建为一级配置元素,将结构体链表中的结构体构建为二级配置元素,将所述结构体中的成员变量和值分别构建为所述配置子元素的属性和属性值,其中,所述一级配置元素、所述二级配置元素以及所述配置子元素为依次向下包含的关系;
所述基于所述配置数据,建立可视化显示界面,包括:
根据所述一级配置元素与所述二级配置元素的从属关系,构建菜单栏,以生成所述菜单区,其中,一个所述一级配置元素对应至少一个所述二级配置元素;
根据所述配置子元素的属性以及对应的属性值构建表格,其中,一个所述二级配置元素对应至少一条配置子元素,表格中的属性栏为所述属性区,表格中用于更改属性值的单元格为所述参数编辑区。
2.根据权利要求1所述的方法,其特征在于,所述可视化显示界面上还包括:功能选择区,所述功能选择区在用户于所述参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条所述配置子元素。
3.根据权利要求1所述的方法,其特征在于,所述基于所述新的配置数据,生成配置代码,包括:
获取用户编写代码;
基于所述编写代码以及所述新的配置数据,生成所述配置代码,其中,所述配置代码中包括分割标识,所述分割标识用于在用户解析所述配置代码时,将所述新的配置数据与所述编写代码进行分离。
4.根据权利要求1所述的方法,其特征在于,所述参数编辑区包括编辑框、复选框、组合框,所述将用户编辑后的所述可视化显示界面上数据生成新的配置数据,包括:
当所述单元格为编辑框时,将所述编辑框中的内容生成字符串数据;
当所述单元格为复选框时,将所述复选框中的内容生成0或1;
当所述单元格为组合框时,将所述组合框中的内容生成宏;
基于所述表格中的所有所述配置子元素,构建一个新的结构体;
基于所述表格中的所有所述属性,构建与所述新的结构体对应的成员变量,将所述单元格中的内容作为所述新的结构体对应的成员变量的值;
根据所有所述新的结构体、每个所述新的结构体对应的成员变量、每个所述新的结构体对应的成员变量的值,创建新的结构体链表,将所述新的结构体链表作为所述新的配置数据。
5.一种可视化显示设备,其特征在于,适用于上述权利要求1-4任意一项所述的基于可视化配置工具生成代码的方法,所述可视化显示设备包括:
菜单区,所述菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素;
配置区,所述配置区包括属性区以及参数编辑区,所述属性区包括所述诊断配置元素以及内存管理配置元素需要配置的多个属性;所述参数编辑区包括至少一条所述诊断配置元素或所述内存管理配置元素的配置子元素,所述配置子元素中包括与每个所述属性对应的属性值,所述参数编辑区用于编辑所述属性值;所述参数编辑区包括编辑框、复选框、组合框;
功能选择区,所述功能选择区在用户于所述参数编辑区进行鼠标右击事件时弹出,用于供用户选择增加或插入或删除至少一条所述配置子元素。
6.一种基于可视化配置工具生成代码的装置,其特征在于,所述装置包括:
获取模块,用于获取诊断和内存管理配置数据;
配置数据转界面显示模块,用于基于所述配置数据,建立可视化显示界面,所述可视化显示界面上包括菜单区以及配置区,所述配置区包括属性区以及参数编辑区,所述菜单区包括多级用于选择的诊断配置元素以及内存管理配置元素,所述属性区包括与所述诊断配置元素以及内存管理配置元素需要配置的多个属性,所述参数编辑区包括至少一条所述诊断配置元素或所述内存管理配置元素的配置子元素,所述配置子元素中包括与每个所述属性对应的属性值,所述参数编辑区用于编辑所述属性值;
界面显示转配置数据模块,用于检测用户在所述可视化显示界面上编辑的操作指令,并将用户编辑后的所述可视化显示界面上数据生成新的配置数据;
生成模块,用于基于所述新的配置数据,生成配置代码;
创建模块,用于确定诊断和内存管理的需求功能,还用于根据所述需求功能,创建初始xml文件;
代码解析模块,用于解析所述初始xml文件,将所述初始xml文件转换为配置数据,并将所述配置数据用结构体链表的数据结构进行存储,其中,将所述初始xml文件中的根元素的子元素构建为一级配置元素,将结构体链表中的结构体构建为二级配置元素,将所述结构体中的成员变量和值分别构建为所述配置子元素的属性和属性值,其中,所述一级配置元素、所述二级配置元素以及所述配置子元素为依次向下包含的关系;
所述配置数据转界面显示模块,还用于根据所述一级配置元素与所述二级配置元素的从属关系,构建菜单栏,以生成所述菜单区,其中,一个所述一级配置元素对应至少一个所述二级配置元素;根据所述配置子元素的属性以及对应的属性值构建表格,其中,一个所述二级配置元素对应至少一条配置子元素,表格中的属性栏为所述属性区,表格中用于更改属性值的单元格为所述参数编辑区。
7.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4任一项所述的基于可视化配置工具生成代码的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4任一项所述的基于可视化配置工具生成代码的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311343137.2A CN117369789B (zh) | 2023-10-13 | 2023-10-13 | 基于可视化配置工具生成代码的方法及可视化显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311343137.2A CN117369789B (zh) | 2023-10-13 | 2023-10-13 | 基于可视化配置工具生成代码的方法及可视化显示设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117369789A CN117369789A (zh) | 2024-01-09 |
CN117369789B true CN117369789B (zh) | 2024-06-11 |
Family
ID=89397761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311343137.2A Active CN117369789B (zh) | 2023-10-13 | 2023-10-13 | 基于可视化配置工具生成代码的方法及可视化显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369789B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830974A (zh) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | 一种可视化快速生成java代码的辅助开发工具 |
CN106445556A (zh) * | 2016-10-18 | 2017-02-22 | 中国银行股份有限公司 | 一种可视化代码生成方法及系统 |
CN107657150A (zh) * | 2017-09-07 | 2018-02-02 | 北京荣之联科技股份有限公司 | 一种可视化生物信息分析工具生成方法和装置 |
CN108469952A (zh) * | 2018-03-16 | 2018-08-31 | 祖龙(天津)科技有限公司 | 一种管理游戏配置的代码生成方法及配套工具 |
CN110286896A (zh) * | 2019-06-28 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 可视化编辑方法、装置、设备及存储介质 |
CN112988298A (zh) * | 2021-03-12 | 2021-06-18 | 土巴兔集团股份有限公司 | 可视化界面配置方法、装置、计算机设备及存储介质 |
CN113741879A (zh) * | 2021-08-30 | 2021-12-03 | 北京宇信科技集团股份有限公司 | 一种可视化开发平台、方法、介质和设备 |
CN114741070A (zh) * | 2022-04-12 | 2022-07-12 | 中国联合网络通信集团有限公司 | 代码生成方法、装置、电子设备及存储介质 |
CN114879957A (zh) * | 2022-03-24 | 2022-08-09 | 北京时代民芯科技有限公司 | 一种利用可扩展标签语言编辑Eclipse界面及调用工具的方法 |
-
2023
- 2023-10-13 CN CN202311343137.2A patent/CN117369789B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830974A (zh) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | 一种可视化快速生成java代码的辅助开发工具 |
CN106445556A (zh) * | 2016-10-18 | 2017-02-22 | 中国银行股份有限公司 | 一种可视化代码生成方法及系统 |
CN107657150A (zh) * | 2017-09-07 | 2018-02-02 | 北京荣之联科技股份有限公司 | 一种可视化生物信息分析工具生成方法和装置 |
CN108469952A (zh) * | 2018-03-16 | 2018-08-31 | 祖龙(天津)科技有限公司 | 一种管理游戏配置的代码生成方法及配套工具 |
CN110286896A (zh) * | 2019-06-28 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 可视化编辑方法、装置、设备及存储介质 |
CN112988298A (zh) * | 2021-03-12 | 2021-06-18 | 土巴兔集团股份有限公司 | 可视化界面配置方法、装置、计算机设备及存储介质 |
CN113741879A (zh) * | 2021-08-30 | 2021-12-03 | 北京宇信科技集团股份有限公司 | 一种可视化开发平台、方法、介质和设备 |
CN114879957A (zh) * | 2022-03-24 | 2022-08-09 | 北京时代民芯科技有限公司 | 一种利用可扩展标签语言编辑Eclipse界面及调用工具的方法 |
CN114741070A (zh) * | 2022-04-12 | 2022-07-12 | 中国联合网络通信集团有限公司 | 代码生成方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
基于XML的嵌入式图形界面自动生成技术;娄宇等;计算机应用;20090630(S1);全文 * |
基于模板的BREW应用可视化界面设计及代码生成;孙斌等;软件工程师;20100215(Z1);全文 * |
面向BREW平台的可视化UI设计工具开发;董宗然等;计算机工程与设计;20120716(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117369789A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
US9747190B2 (en) | Analysis system, analysis method, and computer program product | |
CN109189469B (zh) | 基于反射的安卓应用微服务化方法及系统 | |
US7881440B2 (en) | Method for automatic graphical profiling of a system | |
US9594543B2 (en) | Activity diagram model-based system behavior simulation method | |
US20170024195A1 (en) | System and method for providing code completion features for code modules | |
CN110944048A (zh) | 业务逻辑配置方法及装置 | |
CN111158656B (zh) | 基于因果树法的测试代码生成方法及装置 | |
CN114003451B (zh) | 一种接口测试方法、装置、系统及介质 | |
CN114791808A (zh) | 一种数据流图生成方法及装置 | |
CN116627418B (zh) | 一种基于递归算法的多级表单界面可视化生成方法及装置 | |
CN113672222A (zh) | 一种应用程序接口管理装置及其构建方法 | |
CN117369789B (zh) | 基于可视化配置工具生成代码的方法及可视化显示设备 | |
CN117215556A (zh) | 模块化的页面快速构建方法、系统、设备及介质 | |
CN115904480B (zh) | 代码重构方法、装置、电子设备及存储介质 | |
WO2023160402A1 (zh) | 数据建模方法、装置、设备和存储介质 | |
CN117149209A (zh) | 一种代码增量编译方法、装置、计算机设备及存储介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN114020604A (zh) | 一种基于工作流的自动化测试方法及装置 | |
Behrens et al. | Requirements analysis and prototyping using scenarios and statecharts | |
KR101012805B1 (ko) | 모듈러 메시지들의 수정 방법 및 장치 | |
CN115729557B (zh) | 脚本处理方法和装置 | |
CN115629828A (zh) | 一种状态机的展示方法、装置以及介质 | |
CN117931157A (zh) | Otx语言引擎构建和编辑方法、装置及计算机设备 | |
CN117908926A (zh) | 一种升级文件生成方法、装置、设备及存储介质 |
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 |