一种基于组件模型的软件开发方法、装置、设备及介质与流程

文档序号:32409930发布日期:2022-12-02 21:16阅读:44来源:国知局
一种基于组件模型的软件开发方法、装置、设备及介质与流程

1.本公开涉及软件开发技术领域,更为具体来说,本公开涉及一种基于组件模型的软件开发方法、装置、设备及介质。


背景技术:

2.工业控制系统是在工业过程控制中多种控制系统以及相关仪器、设备、现场网络的总称,此类系统在国家的工业发展中一直以来都具有非常重要的地位。近年来,包括控制技术、计算机技术、电子技术和机械制造技术在内的等各方面科学技术正在迅猛发展。
3.当下,工业控制系统的开发正逐渐趋向于一种多供应商、多团队协作、多模块集成的模式,其功能也愈发综合和复杂。越来越多的新技术以及更高效的通讯协议被集成其中,这对传统的工业控制系统开发团队和负责系统集成的控制系统现场工程师而言是一个巨大挑战。另一方面,现有的工业控制系统正变得更加开放,市场中各个层面的应用软件通常会有多家供应商提供并集成在一起。这些厂商提供的软件往往都会依赖特定运行环境,或者是特定的硬件控制器,缺乏一定的可移植性和灵活性。不同厂商之间的软件模块在互操作性方面也缺乏统一的部署和交互解决方案。
4.软件开发方法及相关技术对于软件系统而言一直以来都是备受关注的研究领域,而其中基于组件的软件开发一直以来是软件工程领域中颇具前景的开发方法。通过将一个系统作为多个子组件的组合而进行开发,而不是作为一个复杂的整体,基于组件的开发方法旨在提升软件的重用性以极大加快开发速度、节省开发成本。在一个合适的组件模型的支持下,应用软件可以通过复用已有的组件从而进行快速构造,模块化的各个组件也具备低耦合的特性以支持多团队协作的开发模式。此外,基于组件构建的软件系统将会具有较好的可扩展性和可用性以面对复杂的软件运行环境和不断升级更新的软件需求,使各个软件功能模块具备“即插即用”的灵活性。目前,已经有越来越多的基于组件的开发方法和组件模型被应用各个领域的软件开发,其中包括了嵌入式系统和特定的工业领域。
5.将组件技术应用于各种实际场景是目前计算机包括嵌入式领域的趋势之一,将基于组件的开发方法和软件架构引入工业控制领域将会有效地应对上述的当代工业控制系统的重用性、开放性和综合性的发展趋势,并能够提升系统的灵活性、兼容性和可扩展性。


技术实现要素:

6.本发明的主要目的在于将基于组件的开发方法以及组件模型技术应用于工业控制系统的开发和集成之中,提升软件应用的可复用性和灵活性,降低开发成本,以应对日趋复杂和规模不断增大的工业场景下需求,并为工业应用提供一套统一的开发方法。
7.第一方面,本公开提供了一种基于组件模型的软件开发方法,包括:
8.根据待开发软件的需求构建基于组件模型的第一开发组件;
9.基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件;
10.将所述第二开发组件结合实际运行环境打包上传至云端组件库;
11.根据所述待开发软件的架构从所述云端组件库中调取需要的所述第二开发组件以进行软件开发。
12.进一步,所述根据待开发软件的需求构建基于组件模型的第一开发组件具体包括:
13.根据待开发软件的不同功能,分别定义各组件以及组件间的交互端口,其中,所述交互端口具体包括:交互接口信息、时间信息和数据区域映射信息。
14.进一步,所述基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件具体包括:
15.通过图形化工具封装所述第一开发组件;
16.结合所述待开发软件的应用场景,构建具有独立运行功能的第二开发组件并进行通信适配。
17.进一步,所述将封装和适配后的所述第二开发组件结合实际运行环境打包上传至云端组件库之前,所述方法还包括:
18.对所述第二开发组件结合实际运行环境进行编译和测试。
19.进一步,所述基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件具体包括:
20.基于所述待开发软件的应用场景,采用容器封装方法对所述第一开发组件进行封装并进行通信适配以得到第二开发组件。
21.进一步,所述将所述第二开发组件结合实际运行环境打包上传至云端组件库具体包括:
22.将所述第二开发组件和实际运行环境以镜像形式打包,并上传到云端组件库以待复用。
23.进一步,所述方法还包括:
24.对开发后的软件应用场景的硬件架构进行定义;
25.根据所述硬件架构到软件架构的映射从云端组件库选取对应的组件。
26.为实现上述技术目的,第二方面,本公开提供了一种基于组件模型的软件开发装置,包括:
27.组件构建模块,用于根据待开发软件的需求构建基于组件模型的第一开发组件;
28.组件封装模块,用于基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件;
29.传输模块,用于将所述第二开发组件结合实际运行环境打包上传至云端组件库;
30.软件开发模块,用于根据所述待开发软件的架构从所述云端组件库中调取需要的所述第二开发组件以进行软件开发。
31.为实现上述技术目的,第三方面,本公开提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的第一方面所述的方法的步骤。
32.为实现上述技术目的,第四方面,本公开提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面所述的方法。
33.本公开的有益效果为:
34.由此,通过基于组件模型的工业控制系统软件开发方法,工业应用的构建将变得更加灵活。本技术为基于组件开发的工业控制系统设计了软件架构并给出了实现方案。通过结合容器技术和发布订阅式中间件等技术手段,实现组件模型中赋予软件组件的灵活性和可扩展性,并提供有效的运行时支持和管理功能。首先,综合分析传统工业控制系统的开发方法后总结了重用性、开放性和综合性的发展趋势和需求,选取了基于组件的开发方法并为工业控制领域的特性设计了一套开发流程,基于所提出的开发方法为工业控制系统设计了一套组件模型。并且,针对组件模型设计一套软件架构,采用了控制反转容器、容器技术和发布订阅式消息中间件等技术手段以使具备灵活性和动态性,更贴合工业控制系统的需求。
附图说明
35.图1示出了本公开的实施例提供的一种基于组件模型的软件开发方法的流程示意图;
36.图2示出了本公开的实施例提供的一种基于组件模型的软件开发方法的流程示意图;
37.图3示出了本公开的实施例提供的一种基于组件模型的软件开发方法的流程示意图;
38.图4示出了本公开的实施例提供的基于组件模型的软件开发系统的结构示意图;
39.图5示出了本公开的实施例提供的一种电子设备的结构示意图。
具体实施方式
40.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
41.在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
42.实施例一:
43.如图1所示:
44.本公开提供了一种基于组件模型的软件开发方法,包括:
45.s101:根据待开发软件的需求构建基于组件模型的第一开发组件;
46.s102:基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件;
47.s103:将所述第二开发组件结合实际运行环境打包上传至云端组件库;
48.s104:根据所述待开发软件的架构从所述云端组件库中调取需要的所述第二开发组件以进行软件开发。
49.例如,对于如图2中的控制系统,对控制器a进行组件定义,如附图3所示。在控制器a中,定义两个名为coetransport和motioncontrol的高层组件,coetransport由canopenadapter和ethercatmastercontroller两个低层组件,提供与伺服驱动器进行通信的支持。
50.在本技术的一个实施例中,使用rttr控制反转容器实现两个低层组件,其中负责ethercat通信的ethercatmastercontroller基于some实现。组件在运行时向rttr控制反转容器注册相关属性和对外提供的方法。
51.进一步,所述根据待开发软件的需求构建基于组件模型的第一开发组件具体包括:
52.根据待开发软件的不同功能,分别定义各组件以及组件间的交互端口,其中,所述交互端口具体包括:交互接口信息、时间信息和数据区域映射信息。
53.进一步,所述基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件具体包括:
54.通过图形化工具封装所述第一开发组件;
55.结合所述待开发软件的应用场景,构建具有独立运行功能的第二开发组件并进行通信适配。
56.具体的,使用sirius实现用于组装低层组件的图形化工具,使定义好的低层组件连接关系自动生成xml格式文件,以供运行时控制反转容器对组件进行绑定和组装成高层组件。
57.进一步,所述将封装和适配后的所述第二开发组件结合实际运行环境打包上传至云端组件库之前,所述方法还包括:
58.对所述第二开发组件结合实际运行环境进行编译和测试。
59.进一步,所述基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件具体包括:
60.基于所述待开发软件的应用场景,采用容器封装方法对所述第一开发组件进行封装并进行通信适配以得到第二开发组件。
61.具体的,采用runc容器运行时作为组件的隔离封装方法。
62.具体的,在本技术的一个实施例中,web服务器和plc运行时是第三方兼容性组件,web服务器负责远程监视系统并接收新工件的产品相关参数和机械臂动作集坐标;控制器b在plc逻辑中控制车床上的传感器和触发器,当工件处于合适位置时,向控制器a发送传输信号。
63.进一步,所述将所述第二开发组件结合实际运行环境打包上传至云端组件库具体包括:
64.将所述第二开发组件和实际运行环境以镜像形式打包,并上传到云端组件库以待复用。
65.具体的,参考面向服务架构的对软件应用组件与外部的通信进行统一的接口定义;对组件面向dds消息中间件进行适配,使其所提供和向外请求的功能或服务将在运行时注册并建立连接。
66.进一步,所述方法还包括:
67.对开发后的软件应用场景的硬件架构进行定义;
68.根据所述硬件架构到软件架构的映射从云端组件库选取对应的组件。
69.具体的,oem针对硬件架构对系统定义,并根据硬件架构到软件架构的映射从组件库拉取组件,复用组件进行开发,同时进行应用部署和维护。
70.由此,通过基于组件模型的工业控制系统软件开发方法,工业应用的构建将变得更加灵活。本技术为基于组件开发的工业控制系统设计了软件架构并给出了实现方案。通过结合容器技术和发布订阅式中间件等技术手段,实现组件模型中赋予软件组件的灵活性和可扩展性,并提供有效的运行时支持和管理功能。首先,综合分析传统工业控制系统的开发方法后总结了重用性、开放性和综合性的发展趋势和需求,选取了基于组件的开发方法并为工业控制领域的特性设计了一套开发流程,基于所提出的开发方法为工业控制系统设计了一套组件模型。并且,针对组件模型设计一套软件架构,采用了控制反转容器、容器技术和发布订阅式消息中间件等技术手段以使具备灵活性和动态性,更贴合工业控制系统的需求。
71.实施例二:
72.如图4所示:
73.本公开提供了一种基于组件模型的软件开发装置,包括:
74.组件构建模块201,用于根据待开发软件的需求构建基于组件模型的第一开发组件;
75.组件封装模块202,用于基于所述待开发软件的应用场景对所述第一开发组件进行封装和通信适配得到第二开发组件;
76.传输模块203,用于将所述第二开发组件结合实际运行环境打包上传至云端组件库;
77.软件开发模块204,用于根据所述待开发软件的架构从所述云端组件库中调取需要的所述第二开发组件以进行软件开发。
78.本公开所述的基于组件模型的软件开发装置中,所述组件构建模块201依次与所述组件封装模块202、所述传输模块203、所述软件开发模块204相连接。
79.实施例三:
80.本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的基于组件模型的软件开发方法的步骤。
81.本公开的计算机存储介质可以采用半导体存储器、磁芯存储器、磁鼓存储器或磁盘存储器实现。
82.半导体存储器,主要用于计算机的半导体存储元件主要有mos和双极型两种。mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。nmos和cmos问世后,使mos存储器在半导体存储器中开始占主要地位。nmos速度快,如英特尔公司的1k位静态随机存储器的存取时间为45ns。而cmos耗电省,4k位的cmos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(ram),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(rom)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。rom又分为不可改写的熔断丝式只读存储器
──
prom和可改写的只读存储器eprom两种。
83.磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4ms~8mb,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
84.磁鼓存储器,一种磁记录的外存储器。由于其信息存取速度快,工作稳定可靠,虽然其容量较小,正逐渐被磁盘存储器所取代,但仍被用作实时过程控制计算机和中、大型计算机的外存储器。为了适应小型和微型计算机的需要,出现了超小型磁鼓,其体积小、重量轻、可靠性高、使用方便。
85.磁盘存储器,一种磁记录的外存储器。它兼有磁鼓和磁带存储器的优点,即其存储容量较磁鼓容量大,而存取速度则较磁带存储器快,又可脱机贮存,因此在各种计算机系统中磁盘被广泛用作大容量的外存储器。磁盘一般分为硬磁盘和软磁盘存储器两大类。
86.硬磁盘存储器的品种很多。从结构上,分可换式和固定式两种。可换式磁盘盘片可调换,固定式磁盘盘片是固定的。可换式和固定式磁盘都有多片组合和单片结构两种,又都可分为固定磁头型和活动磁头型。固定磁头型磁盘的容量较小,记录密度低存取速度高,但造价高。活动磁头型磁盘记录密度高(可达1000~6250位/英寸),因而容量大,但存取速度相对固定磁头磁盘低。磁盘产品的存储容量可达几百兆字节,位密度为每英寸6 250位,道密度为每英寸475道。其中多片可换磁盘存储器由于盘组可以更换,具有很大的脱体容量,而且容量大,速度高,可存储大容量情报资料,在联机情报检索系统、数据库管理系统中得到广泛应用。
87.实施例四:
88.本公开实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于组件模型的软件开发方法的步骤。
89.图5为一个实施例中电子设备的内部结构示意图。如图5所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于组件模型的软件开发方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于组件模型的软件开发方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
90.该电子设备可以包括投影仪、具有投影功能的手机、电脑、电视等。
91.所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(control unit),利用各
种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
92.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
93.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
94.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
95.进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
96.可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
97.进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
98.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
99.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1