CN115016781A - 嵌入式软件开发方法、装置、电子设备及可读存储介质 - Google Patents

嵌入式软件开发方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN115016781A
CN115016781A CN202210827022.XA CN202210827022A CN115016781A CN 115016781 A CN115016781 A CN 115016781A CN 202210827022 A CN202210827022 A CN 202210827022A CN 115016781 A CN115016781 A CN 115016781A
Authority
CN
China
Prior art keywords
component
node
development
embedded software
data stream
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
CN202210827022.XA
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.)
Beijing Smartchip Microelectronics Technology Co Ltd
Beijing Smartchip Semiconductor Technology Co Ltd
Original Assignee
Beijing Smartchip Microelectronics Technology Co Ltd
Beijing Smartchip Semiconductor Technology Co Ltd
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 Beijing Smartchip Microelectronics Technology Co Ltd, Beijing Smartchip Semiconductor Technology Co Ltd filed Critical Beijing Smartchip Microelectronics Technology Co Ltd
Priority to CN202210827022.XA priority Critical patent/CN115016781A/zh
Publication of CN115016781A publication Critical patent/CN115016781A/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/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

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)
  • Stored Programmes (AREA)

Abstract

本公开涉及软件开发技术领域,具体涉及一种嵌入式软件开发方法、装置、电子设备及可读存储介质,所述方法包括:在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例;基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流;仿真调试所述节点数据流,直至满足开发需求。本发明通过将代码逻辑以流程图方式形成为节点数据流程,解决了目前嵌入式软件开发操作复杂、成本高的技术问题,能够更加直观地展现开发过程中的代码逻辑,能够实现更清晰的开发流程,还使得开发流程的真整个操作处理简单化、可视化、可编辑化,能够更便于用户进行各种操作。

Description

嵌入式软件开发方法、装置、电子设备及可读存储介质
技术领域
本公开涉及软件开发技术领域,具体涉及一种嵌入式软件开发方法、装置、电子设备及可读存储介质。
背景技术
目前,各种电子设备(例如,手机、平板、电脑、车机、智能手表等等)都可以安装应用程序(application,APP)。开发人员需要为这些电子设备开发各种APP。一般地,同一个APP,开发人员需要分别给不同操作系统或不同设备形态的电子设备编写一套程序代码。举例来说,对于同一视频APP,开发人员需要给安卓系统的手机、iOS系统的手机、电脑等各写一套程序代码,且开发人员为一种电子设备写的代码无法直接复用到另一种不同操作系统的电子设备中。
嵌入式软件开发是一个对环境依赖度非常高,功能逻辑重复开发量高且操作繁琐的过程。现有的开发流程涉及到交叉编译环境配置,Makefile编写,可执行文件上传,以及调试、打包等环节。然而,在实际开发过程中,会存在配套开发软件较少甚至没有,开发流程不清晰,debug过程较为复杂,APP打包、运行不规范,编译选项和依赖库混乱等问题。当更换平台时,需要重新依据上面流程进行配置部署,造成不必要的时间成本增加。此外,当技术人员更迭时,又需要大量时间去熟悉开发流程。类似的项目开发会出现大量的重复逻辑代码,从而造成代码质量难以把控等问题。由此,如何提升开发平台开发APP的效率,快速地开发新APP是亟待解决的问题。
现有的嵌入式软件开发方法存在以下问题:开发人员需要自己编写Makefile,自己配置交叉编译环境,自己下发板端验证,因此操作复杂,进而造成对开发工程师要求较高,还增加了公司运营成本。此外,对于常用功能,如:日志管理等,常用方案中,均独立开发,造成相似功能重复但代码实现不同,从而导致后续维护成本高,难度大。
因此,有必要提供一种改进了的嵌入式软件开发方法。
发明内容
为了解决相关技术中类似的开发项目开发过程中存在配套开发软件较少甚至没有、开发流程不清晰、操作处理复杂且不规范(例如debug过程较为复杂,APP打包、运行不规范,编译选项和依赖库混乱)等问题,还存在因大量重复逻辑代码、相似功能重复但代码实现不同而造成的代码质量难把控,在开发过程中更换平台时需要重新依据上面流程进行配置部署,造成不必要的时间成本以及开发APP的效率低等问题。因此,本公开实施例提供一种嵌入式软件开发方法、装置、电子设备及可读存储介质。
第一方面,本公开实施例中提供了一种嵌入式软件开发方法,包括:在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例;基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流;仿真调试所述节点数据流,直至满足开发需求。
根据本公开的实施例,所述在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,包括:以下步骤中的一者:
在组态化开发平台中拉取已有的可视化代码组件,或者在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件;将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例。
根据本公开的实施例,所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。
根据本公开的实施例,所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中各组件节点至少包括一个数据接口;其中,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
根据本公开的实施例,进一步包括:所述数据接口包括输入接口和输出接口,所述实线连接于所述组件节点的输入接口或输出接口;用于连接两组件节点的每一条实线均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。根据权利要求1所述的嵌入式软件开发方法,其特征在于,所述基于所述组件节点以及所述组件节点之间的数据关系,形成节点数据流包括:将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流。
根据本公开的实施例,还包括:通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系。
根据本公开的实施例,所述仿真调试所述节点数据流,直至满足开发需求,包括:在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
根据本公开的实施例,还包括:在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。
第二方面,本公开实施例中提供了一种嵌入式软件开发装置,包括:构建模块,用于在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例;部署模块,基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流;调试处理模块,用于仿真调试所述节点数据流,直至满足开发需求。
根据本公开的实施例,包括操作处理模块,所述操作处理模块用于在组态化开发平台中拉取已有的可视化代码组件,或者在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件;将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例。
根据本公开的实施例,所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。
根据本公开的实施例,所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中各组件节点至少包括一个数据接口;其中,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
根据本公开的实施例,进一步包括:所述数据接口包括输入接口和输出接口,所述实线连接于所述组件节点的输入接口或输出接口;用于连接两组件节点的每一条实线均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。
根据本公开的实施例,包括:将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流。
根据本公开的实施例,还包括:通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系。
根据本公开的实施例,包括:在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
根据本公开的实施例,还包括:在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如本发明第一方面所述的嵌入式软件开发方法。
第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如本发明第一方面所述的嵌入式软件开发方法。
根据本公开实施例提供的技术方案,本发明通过在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,能够实现组件节点创建可视化,能够实现开发可视化;基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流,由此通过将代码逻辑以流程图方式形成为节点数据流(即代码逻辑流程图),能够更加直观地展现开发过程中(例如APP的开发过程)的代码逻辑,能够实现更清晰的开发流程,还使得开发流程的真整个操作处理简单化、可视化、可编辑化,能够更便于用户进行各种操作。
此外,通过局部代码修改等方式对已安装的代码组件进行标准化处理、统一化处理,并通过将重复代码以可视化的控件形式展现,使具有类似或相同功能的代码组件标准化、统一化,以使得在拉取组件节点时或者进行创建组件节点时,能够有效避免相似功能重复进行代码编辑等的用户重复操作等问题。
此外,通过对代码组件进行通用化处理,使得各代码组件的通用性增强,由此,在更换平台或更换开发环境时,能够直接拉取经通用化处理后的代码组件,而无需重新进行配置部署,进而有效避免了因更换平台或更换开发环境而重新进行配置部署所造成的不必要的时间成本,并提高了APP的开发效率。
此外,通过代码组件记录历史修改记录,可根据实际业务需求,调取任意历史代码组件进行代码创建以及编译、调试和运行,因此,能够有效避免因开发过程中更换平台时重新进行配置部署而造成不必要的时间成本以及开发APP的效率低等的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中。
图1示出根据本公开实施例的嵌入式软件开发方法的一示例的流程图。
图2示出本公开的实施例的嵌入式软件开发方法的组态化开发平台上构建组件节点的节点实例的示意图。
图3是图2中节点数据流中的组件节点的局部放大图。
图4示出根据本公开实施例的嵌入式软件开发方法的另一示例的流程图。
图5示出本公开的实施例的嵌入式软件开发装置的一示例的结构框图。
图6示出本公开的实施例的嵌入式软件开发装置的另一示例的结构框图。
图7示出根据本公开的实施例的电子设备的结构框图。
图8示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
在本公开中,如涉及对用户信息或用户数据的获取操作或向他人展示用户信息或用户数据的操作,则所述操作均为经用户授权、确认,或由用户主动选择的操作。
由于现有技术中类似的开发项目开发过程中配套开发软件较少甚至没有、开发流程不清晰、操作处理复杂且不规范等问题,存在因大量重复逻辑代码、相似功能重复但代码实现不同而造成的代码质量难把控,尤其在开发过程中更换平台时需要重新依据上面流程进行配置部署,造成不必要的时间成本以及开发APP的效率低等问题
针对如上问题,本发明提出一种嵌入式软件开发方法,在该方法中,通过构建一个兼容多种开发环境的平台,并将各种功能代码组件化、代码模块化、流程可视化、开发统一化等技术手段,将重复代码以可视化的控件形式展现,代码逻辑以流程图方式直观展现,在线开发的代码,保存后提交至代码仓库,后续团队开发可重复利用,通过在云平台上进行仿真测试、直至满足开发需求即可。本发明通过在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,能够实现组件节点创建可视化,能够实现开发可视化;基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流,由此通过将代码逻辑以流程图方式形成为节点数据流(即代码逻辑流程图),能够更加直观地展现开发过程中(例如APP的开发过程)的代码逻辑,能够实现更清晰的开发流程,还使得开发流程的真整个操作处理简单化、可视化、可编辑化,能够更便于用户进行各种操作。
图1示出根据本公开的实施例的嵌入式软件开发方法的一示例的流程图。如图1所示,所述嵌入式软件开发方法包括以下步骤S101 - S103:
在步骤S101中,在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例。
在步骤S102中,基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流。
在步骤S103中,仿真调试所述节点数据流,直至满足开发需求。
图2示出了本公开的实施例的嵌入式软件开发方法的组态化开发平台上构建组件节点的节点实例的示意图。
如图2所示,在应用本公开的嵌入式软件开发方法进行软件开发时,在组态化开发平台上进行代码编辑操作。所述组态化开发平台包括用于各自操作的工作区域、项目功能分类区域、管理区域等等。
需要说明的是,在本发明中,所述组态化开发平台为一个综合平台,且是一个集成的可视化平台,为用户提供可视化开发环境,其中对嵌入式软件开发的常用运行环境、运行语言等进行了配置,使得不同环境中的组件代码都可以在该平台中处理。此外,所述组态化开发平台支持云端、本地等部署方式,还支持嵌入第三方系统或者其他集成平台,也可作为独立平台。下面将参照图1和图2,具体结合开发APP(例如电压管理APP)的应用场景来说明本发明的嵌入式软件开发方法的具体处理过程。
首先,在步骤S101中,在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例。
作为具体的实施方式,在组态化开发平台中拉取已有的可视化代码组件,或者在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件。
在本实施方式中,所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。例如,所述组态化开发平台包括云平台(例如,FlexCloud平台)等。
在图2所示的工作区域中进行各种操作以进行节点数据流的创建。具体地,将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例,以用于开发APP的开发处理过程。
例如,运维人员等操作人员(即用户)点击图2的页面左侧部分包括已安装的代码组件,所述代码组件例如为漏保数据、电压监测数据等,并且所述代码组件是可视化代码组件。
具体地,将上述代码组件以组件节点的方式拉取并拖放到图2的页面中央部分的工作区域创建节点实例。
优先地,对代码组件的操作,还包括添加新代码组件、修改或删除已安装的代码组件。可选地,还包括对类似功能和相同功能的代码组件进行标准化、统一化处理。例如,通过局部代码修改等方式对已安装的代码组件进行标准化处理、统一化处理,并通过将重复代码以可视化的控件形式展现,使具有类似或相同功能的代码组件标准化、统一化,以使得在拉取组件节点时或者进行创建组件节点时,能够有效避免相似功能重复进行代码编辑等的用户重复操作等问题。
可选地,还包括对代码组件进行通用化处理,使得各代码组件的通用性增强,由此,在更换平台或更换开发环境时,能够直接拉取经通用化处理后的代码组件,而无需重新进行配置部署,进而有效避免了因更换平台或更换开发环境而重新进行配置部署所造成的不必要的时间成本,并提高了APP的开发效率。
具体地,基于所述可视化代码组件构建组件节点的节点实例,具体通过操作人员拖放组件节点到相应工作区域来创建组件节点的节点实例。例如通过双击所创建的组件节点来编辑单个实例,上述创建过程、编辑过程,均是可视化操作过程。由此,能够实现组件节点创建可视化,能够实现开发可视化。
通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系,能够实现各各组件节点的可编辑部署,能够更加简化整个开发流程的操作。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S102中,基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流。
具体地,所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中,各组件节点至少包括一个数据接口,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
更具体地,所述数据接口包括输入接口和输出接口,所述数据接口是实现输入和输出的代理者,能够进行接口协议检查、数据传递、数据查询、协商对接等,并且所述数据接口可支持的数据实体包括图像、音频、文字等。
需要说明的是,在本发明中,所述左侧是指页面左侧或者附图的页面左侧,而所述右侧是指与所述左侧相对的一侧,即页面右侧或者附图的页面右侧。
从图2中可知,在名称为流程1的工作区域中包括五个组件节点,所述五个组件节点a~e分别用于表征漏保数据拉取、电压检测、调试运行、数据图标、遥控命令转发的组件节点。所述五个组件节点之间通过实线连接,形成一个自左侧向右侧的节点数据流。
图3是图2中节点数据流中的组件节点的局部放大图。
如图3所示,每个组件均至少包括一个数据接口,其中,组件节点a(漏保数据拉取)包括数据接口1,数据接口1位于组件节点a的右侧,并且数据接口1是输出接口;组件节点d包括数据接口2,数据接口2位于组件节点d的左侧;组件节点c、x和y均包括输入接口和输出接口,其中,组件节点y包括位于其左侧的输入接口3和位于其右侧的输出接口4。
具体地,所述实线连接于所述组件节点的输入接口或输出接口,即通过连接组件节点的数据接口(即in接口和out接口)创建节点数据流,各组件节点的实例均记录有输出接口(out接口)、及其连线(连接实线)的信息。
进一步地,每一条实线(即用于连接两组件节点的每一条实线)均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。
可选地,将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流,其中,树状的节点数据流可参见图2所示的节点数据流。由此,通过将代码逻辑以流程图方式形成为节点数据流(即代码逻辑流程图),能够更加直观地展现开发过程中(例如APP的开发过程)的代码逻辑,能够实现更清晰的开发流程,还使得开发流程的整个操作处理简单化、可视化、可编辑化,能够更便于用户进行各种操作。
在另一实施方式中,如图4所示,所述嵌入式软件开发方法还包括在形成节点数据流的过程中对其各组件节点进行执行部署的步骤S201。
需要说明的是,由于图4中的步骤S101、步骤S102和步骤S103与图1中的步骤S101、步骤S102和步骤S103的内容大致相同,因此,省略了对该部分的重复说明。
在步骤S201中,在形成节点数据流的过程中对其各组件节点进行执行部署,以创建各组件节点的可执行实例。
可选地,通过读取用户所编辑的节点数据流,确定待处理节点,并读取相关联的组件节点及相应连线的信息,确定所述相关联的组件节点的类型、可编辑部分的数值和图表以及相关的数据关系或执行关系,其中,所述相关联的组件节点是指与待处理节点的数据接口有连接关系的组件节点。
进一步地,根据所确定的各节点实例之间的数据关系或执行关系,对待处理的组件节点进行执行部署,以创建各组件节点的可执行实例。
因此,通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系,能够实现各组件节点的可编辑部署,能够更加简化整个开发流程的操作。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。在其他实施方式中,还通过读取用户所编辑的数据流信息中的连接实线的信息,查询各组件节点或可执行实例之间的数据关系或执行关系,等等。
接下来,在步骤S103中,仿真调试所述节点数据流,直至满足开发需求。
具体地,对所形成的一个或多个节点数据流(即代码逻辑流程图)进行业务项目开发。
进一步地,在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并启动仿真调试,即仿真调试所述节点数据流。
需要说明的是,对于仿真调试,在另一实施方式中,还可以选用实际板端开发调试。上述仅作为可选示例进行说明,不能理解成对本发明的限制。此外,在其他实施方式中,还可以现有的其他测试方法进行调试,只要能够使所述节点数据流满足开发需求即可。
具体地,在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
可选地,在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。因此,通过代码组件记录历史修改记录,可根据实际业务需求,调取任意历史代码组件进行代码创建以及编译、调试和运行,因此,能够有效避免因开发过程中更换平台时重新进行配置部署而造成不必要的时间成本以及开发APP的效率低等的问题。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。
图5示出根据本公开的实施例的嵌入式软件开发装置的结构框图。其中,该嵌入式软件开发装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图5所示,所述嵌入式软件开发装置500包括构建模块510、部署模块520和调试处理模块530。
具体地,所述构建模块510用于在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。
优先地,对代码组件的操作,还包括添加新代码组件、修改或删除已安装的代码组件。通过局部代码修改等方式对已安装的代码组件进行标准化处理、统一化处理,并通过将重复代码以可视化的控件形式展现,使具有类似或相同功能的代码组件标准化、统一化,以使得在拉取组件节点时或者进行创建组件节点时,能够有效避免相似功能重复进行代码编辑等的用户重复操作等问题。
可选地,还包括对代码组件进行通用化处理,使得各代码组件的通用性增强,由此,在更换平台或更换开发环境时,能够直接拉取经通用化处理后的代码组件,而无需重新进行配置部署,进而有效避免了因更换平台或更换开发环境而重新进行配置部署所造成的不必要的时间成本,并提高了APP的开发效率。
因此,通过在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,具体通过操作人员拖放组件节点到相应工作区域来创建组件节点的节点实例。例如通过双击所创建的组件节点来编辑单个实例,上述创建过程、编辑过程,均是可视化操作过程。由此,能够实现组件节点创建可视化,能够实现开发可视化。
进一步地,所述部署模块520基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流。
具体地,所述调试处理模块530用于仿真调试所述节点数据流,直至满足开发需求。
在另一实施方式中,如图6所示,所述嵌入式软件开发装置500还包括操作处理模块610,即将图5中的构建模块510拆分成操作处理模块610和构建模块510。
具体地,所述操作处理模块610用于在组态化开发平台中拉取已有的可视化代码组件,或者在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件.
具体地,将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例。
进一步地,所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中各组件节点至少包括一个数据接口,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
具体地,所述数据接口包括输入接口和输出接口,所述实线连接于所述组件节点的输入接口或输出接口。用于连接两组件节点的每一条实线均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。
可选地,将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流。通过将代码逻辑以流程图方式形成为节点数据流(即代码逻辑流程图),能够更加直观地展现开发过程中(例如APP的开发过程)的代码逻辑,能够实现更清晰的开发流程,还使得开发流程的真整个操作处理简单化、可视化、可编辑化,能够更便于用户进行各种操作。
具体地,通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系。
进一步地,在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
可选地,在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。因此,通过代码组件记录历史修改记录,可根据实际业务需求,调取任意历史代码组件进行代码创建以及编译、调试和运行,因此,能够有效避免因开发过程中更换平台时重新进行配置部署而造成不必要的时间成本以及开发APP的效率低等的问题。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。
本公开还公开了一种电子设备,图7示出根据本公开的实施例的电子设备的结构框图。
如图7所示,所述电子设备包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现根据本公开的实施例的方法。
图8示出适于用来实现根据本公开实施例的方法的计算机可读存储介质的结构示意图。
如图8所示,计算机可读存储介质包括处理单元,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行上述实施例中的各种方法。在RAM中,还存储有计算机系统操作所需的各种程序和数据。处理单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信过程。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。其中,所述处理单元可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (20)

1.一种嵌入式软件开发方法,其特征在于,包括:
在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例;
基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流;
仿真调试所述节点数据流,直至满足开发需求。
2.根据权利要求1所述的嵌入式软件开发方法,其特征在于,所述在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例,包括:
以下步骤中的一者:
在组态化开发平台中拉取已有的可视化代码组件;
在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件;
将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例。
3.根据权利要求1所述的嵌入式软件开发方法,其特征在于,
所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。
4.根据权利要求1或2所述的嵌入式软件开发方法,其特征在于,
所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中各组件节点至少包括一个数据接口;
其中,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
5.根据权利要求4所述的嵌入式软件开发方法,其特征在于,进一步包括:
所述数据接口包括输入接口和输出接口,所述实线连接于所述组件节点的输入接口或输出接口;
用于连接两组件节点的每一条实线均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。
6.根据权利要求1所述的嵌入式软件开发方法,其特征在于,所述基于所述组件节点以及所述组件节点之间的数据关系,形成节点数据流包括:
将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流。
7.根据权利要求6所述的嵌入式软件开发方法,其特征在于,还包括:
通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系。
8.根据权利要求1所述的嵌入式软件开发方法,其特征在于,所述仿真调试所述节点数据流,直至满足开发需求,包括:
在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
9.根据权利要求1或8所述的嵌入式软件开发方法,其特征在于,还包括:
在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。
10.一种嵌入式软件开发装置,其特征在于,包括:
构建模块,用于在组态化开发平台中获取可视化代码组件,基于所述可视化代码组件构建组件节点的节点实例;
部署模块,基于所述组件节点的节点实例以及所述组件节点之间的数据关系,形成节点数据流;
调试处理模块,用于仿真调试所述节点数据流,直至满足开发需求。
11.根据权利要求10所述的嵌入式软件开发装置,其特征在于,包括操作处理模块,所述操作处理模块用于在组态化开发平台中拉取已有的可视化代码组件,或者在组态化开发平台的后台首先添加新的可视化组件,然后在组态化开发平台中拉取所述新的可视化组件;
将各组件以组件节点的形式通过拖放、拉取、双击、单击或其他操作方式在相应工作区域创建节点实例。
12.根据权利要求10所述的嵌入式软件开发装置,其特征在于,
所述组态化开发平台为预先配置的、能够支持多种开发环境的平台。
13.根据权利要求10所述的嵌入式软件开发装置,其特征在于,
所述组件节点之间通过实线连接以形成数据关系,所述数据关系具有指定方向性,其中各组件节点至少包括一个数据接口;
其中,所述指定方向性包括自左侧向右侧或者自右侧向左侧。
14.根据权利要求13所述的嵌入式软件开发装置,其特征在于,进一步包括:
所述数据接口包括输入接口和输出接口,所述实线连接于所述组件节点的输入接口或输出接口;
用于连接两组件节点的每一条实线均包含作为起点的启动组件节点和作为终点的目标组件节点的实例信息,所述实例信息包括节点类型和可编辑信息。
15.根据权利要求10所述的嵌入式软件开发装置,其特征在于,包括:
将具有方向性数据关系的多个组件节点进行可编辑部署,以形成树状或网状的节点数据流。
16.根据权利要求15所述的嵌入式软件开发装置,其特征在于,还包括:
通过读取用户所编辑的节点数据流,确定各组件节点的类型、可编辑部分的数值和图表以及各实例之间的数据关系或执行关系。
17.根据权利要求10所述的嵌入式软件开发装置,其特征在于,包括:
在所述节点数据流编辑或部署完成时,将所述节点数据流进行本地保存,并在模拟应用环境中进行仿真执行,以通过修改代码组件的参数、修改组件节点、变更组件节点在所述节点数据流中的位置来进行调试,直至满足开发需求。
18.根据权利要求10或17所述的嵌入式软件开发装置,其特征在于,还包括:
在所述节点数据流编辑或部署过程、以及调试期间,均包括组件代码保存和组件更新记录处理。
19.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至9中任一项所述的嵌入式软件开发方法。
20.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1至9中任一项所述的嵌入式软件开发方法。
CN202210827022.XA 2022-07-14 2022-07-14 嵌入式软件开发方法、装置、电子设备及可读存储介质 Pending CN115016781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210827022.XA CN115016781A (zh) 2022-07-14 2022-07-14 嵌入式软件开发方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210827022.XA CN115016781A (zh) 2022-07-14 2022-07-14 嵌入式软件开发方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115016781A true CN115016781A (zh) 2022-09-06

Family

ID=83079980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210827022.XA Pending CN115016781A (zh) 2022-07-14 2022-07-14 嵌入式软件开发方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115016781A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100198799A1 (en) * 2007-06-20 2010-08-05 Sanjeev Krishnan Method and Apparatus for Software Simulation
CN112965785A (zh) * 2021-03-05 2021-06-15 食亨(上海)科技服务有限公司 基于容器的微服务应用开发方法及开发平台
CN113703749A (zh) * 2021-09-06 2021-11-26 河北雄安新区公安局 一种基于可视化编程技术的信息系统及其构建方法
CN114115838A (zh) * 2021-11-11 2022-03-01 中电九天智能科技有限公司 一种基于分布式组件和云平台的数据交互方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100198799A1 (en) * 2007-06-20 2010-08-05 Sanjeev Krishnan Method and Apparatus for Software Simulation
CN112965785A (zh) * 2021-03-05 2021-06-15 食亨(上海)科技服务有限公司 基于容器的微服务应用开发方法及开发平台
CN113703749A (zh) * 2021-09-06 2021-11-26 河北雄安新区公安局 一种基于可视化编程技术的信息系统及其构建方法
CN114115838A (zh) * 2021-11-11 2022-03-01 中电九天智能科技有限公司 一种基于分布式组件和云平台的数据交互方法及系统

Similar Documents

Publication Publication Date Title
US10303581B2 (en) Graphical transaction model
US8694953B2 (en) Tool and methodology for enterprise software applications
JP5941541B2 (ja) モバイル・アプリケーション開発のためのシステムおよび方法
US20120174058A1 (en) Platform for distributed applications
Sandobalin et al. An infrastructure modelling tool for cloud provisioning
US20230367702A1 (en) Mocking Robotic Process Automation (RPA) Activities For Workflow Testing
CN106933729A (zh) 一种基于云平台的测试方法和系统
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
US20170351509A1 (en) Prototype management system
CN107577709B (zh) 一种信息系统资源模型的图形化管理方法
US20110126171A1 (en) Dynamic native editor code view facade
US11315208B2 (en) Conceptual representation of business processes for cross-domain mapping
CN113094125B (zh) 业务流程处理方法、装置、服务器及存储介质
EP3848866A1 (en) Method and system for managing engineering workflow in a cloud computing environment
CN115016781A (zh) 嵌入式软件开发方法、装置、电子设备及可读存储介质
US20220413843A1 (en) Combining model-driven applications and canvas-type applications with application lifecycle management
CN111435306A (zh) 一种代码的管理方法和装置
KR20230115340A (ko) 사용자 인터페이스 애플리케이션들을 개발하기 위한시스템 및 방법
JP5319643B2 (ja) ソフトウェアプロダクトライン開発支援装置およびその方法
CN110221827B (zh) 数据处理方法及相关装置
JP2009169628A (ja) 監視制御システムの構築装置、構築方法およびプログラム
EP4030282A1 (en) Computing system and method for software architecture planning
US11257264B2 (en) Maintaining data transformation graphs
KR100836218B1 (ko) 제품 계열 시스템의 특징 관리 자동화 방법 및 장치
Rocha et al. A Comparative Study of Milestones for Featuring GUI Prototyping Tools

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220906

RJ01 Rejection of invention patent application after publication