CN117891452A - 一种基于软件框架的航电嵌入式软件服务组件封装方法 - Google Patents
一种基于软件框架的航电嵌入式软件服务组件封装方法 Download PDFInfo
- Publication number
- CN117891452A CN117891452A CN202311850078.8A CN202311850078A CN117891452A CN 117891452 A CN117891452 A CN 117891452A CN 202311850078 A CN202311850078 A CN 202311850078A CN 117891452 A CN117891452 A CN 117891452A
- Authority
- CN
- China
- Prior art keywords
- interface
- service component
- service
- description
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 16
- 238000013499 data model Methods 0.000 claims description 64
- 238000007726 management method Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 14
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及航电嵌入式软件技术领域,提供一种基于软件框架的航电嵌入式软件服务组件封装方法,所述方法包括构建符合FACE标准的服务组件数据模型资源池、基于数据模型的单个服务组件建模、基于机载嵌入式软件开发框架的服务组件接口设计以及服务组件的适配封装。本发明有助于提升航电系统中嵌入式软件的可复用性和可移植性,进一步降低航电嵌入式软件组件的开发成本,满足了新兴航电应用软件对敏捷开发的需求。
Description
技术领域
本发明涉及航电嵌入式软件技术领域,特别涉及一种基于软件框架的航电嵌入式软件服务组件封装方法。
背景技术
伴随着多核架构CPU在航电计算机领域的普及,以目标识别、智能驾驶为代表的人工智能类应用程序将会越来越多地在航电系统中扮演着重要角色。然而,传统的航电嵌入式软件多以单体架构为主,存在着开发成本高、开发周期长、可复用性和可移植性差等问题,无法支持航电系统中新型应用程序的频繁升级和拓展。为了满足新兴应用程序对敏捷开发、高效移植的需求,近年来,以面向服务架构为代表的软件设计思维逐渐成为了航电嵌入式软件技术领域的主流。
发明内容
有鉴于此,本发明实施例提供了一种基于软件框架的航电嵌入式软件服务组件封装方法,以解决现有技术中传统的航电嵌入式软件开发成本高、开发周期长、可复用性和可移植性差的技术问题。
本发明提供的一种基于软件框架的航电嵌入式软件服务组件封装方法,具体包括:
构建服务组件的数据模型资源池,所述数据模型资源池符合FACE标准,所述所述数据模型资源池包括多种类型的数据模型;
基于所述服务组件的框架代码进行所述服务组件的接口设计,所述接口包括内部驱动接口和外部驱动接口;
基于所述数据模型资源池,选取与所述服务组件的需求对应的一个或多个数据模型,作为所述服务组件的组件模型;
基于所述组件模型,将所述内部驱动接口及其对应数据、所述外部驱动接口及其对应数据封装到所述服务组件中。
进一步的,所述选取与所述服务组件的需求对应的一个或多个数据模型,还包括:
如果所述数据模型资源池中不存在与所述服务组件的需求对应的数据模型,则根据所述服务组件的所述内部驱动接口和所述外部驱动接口创建新的数据模型,并将所述新的数据模型放入所述数据模型资源池中。
进一步的,所述方法还包括:
所述外部驱动接口包括输入输出接口、服务组件管理接口、服务组件描述接口以及服务质量描述接口;所述内部驱动接口与所述外部驱动接口进行数据交互。
进一步的,依据所述组件模型,将所述服务组件中涉及控制指令及业务功能数据的接口封装为所述输入输出接口。
进一步的,依据所述组件模型,将所述服务组件中涉及运行状态数据的接口封装为所述服务组件管理接口。
进一步的,如果所述内部驱动接口的功能模块中存在服务组件信息的相关描述,则将所述相关描述封装为所述服务组件描述接口;如果所述内部驱动接口的功能模块不存在所述相关描述,则在所述外部驱动接口的功能模块中新建描述信息,并将所述描述信息封装为所述服务组件描述接口。
进一步的,如果所述内部驱动接口的功能模块存在所述服务组件的质量约束的相关描述,则将所述质量约束的相关描述封装为所述服务质量接口;如果所述内部驱动接口的功能模块中不存在所述质量约束的相关描述,则在所述外部驱动接口的功能模块中新建质量约束的相关描述,并将新建的所述质量约束的相关描述封装为所述质量约束描述接口。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:本发明提供了一种基于软件框架的航电嵌入式软件服务组件封装方法,有助于提升航电系统中嵌入式软件的可复用性和可移植性,进一步降低航电嵌入式软件组件的开发成本,满足了新兴航电应用软件对敏捷开发的需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的数据模型资源池结构示意图;
图2是本发明实施例提供的服务组件结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明提供了一种基于软件框架的航电嵌入式软件服务组件封装方法,有助于提升航电系统中嵌入式软件的可复用性和可移植性,进一步降低航电嵌入式软件组件的开发成本,满足了新兴航电应用软件对敏捷开发的需求。
本实施例提供的一种基于软件框架的航电嵌入式软件服务组件封装方法,具体包括:
步骤S100:构建服务组件的数据模型资源池,所述数据模型资源池符合FACE标准,所述所述数据模型资源池包括多种类型的数据模型;
具体而言,在历史遗留系统的航电嵌入式应用软件所使用的数据模型(例如,枚举类型、结构体类型、信号组类型)基础之上,构建服务组件的数据模型资源池,若历史遗留系统中不存在服务组件所需的数据模型,则围绕服务组件的内部功能设计及外部交互接口创建新的数据模型,并将其放入数据模型资源池。
如图1所示,数据模型资源池中的数据模型由航电系统中的枚举类型数据、平台结构体类型数据和信号组类型数据中的数据元素组成。数据模型资源池是构建所有服务组件的数据模型的数据元素的存储库,服务组件的开发者可以利用或扩展这些元素。基于数据模型资源池,系统集成者可以在不同的服务组件开发者之间实现一个通用的数据语义环境。资源池中的数据模型可以来源于历史遗留系统,只需从其中选择服务组件开发所需的数据模型,并在此基础之上添加新创建的数据元素,以此不断完善数据模型资源池的构建。
步骤S200:基于所述服务组件的框架代码进行所述服务组件的接口设计,所述接口包括内部驱动接口和外部驱动接口;
进一步的,所述外部驱动接口包括输入输出接口、服务组件管理接口、服务组件描述接口以及服务质量描述接口;所述内部驱动接口与所述外部驱动接口进行数据交互。
具体而言,使用软件开发框架代码生成工具(如Rhapsody),导出服务组件的框架代码。框架代码中的服务组件接口可分为内部驱动接口和外部驱动接口两种。其中,外部驱动接口负责服务组件之间的数据交互,同时它包括了输入输出接口、服务组件管理接口、服务组件描述接口以及服务质量描述接口;内部驱动接口则负责实现服务组件的逻辑功能,该接口的数据只与服务组件自带的外部驱动接口进行交互。
进一步而言,如图2所示,由软件开发框架的代码生成工具生成的服务组件包含内部驱动接口和外部驱动接口这两种类型。内部驱动接口是服务组件业务逻辑功能的实现部分,无需承担与其他服务组件交互的责任。该类型的接口由开发者自行定义,其数据只与服务组件本身的外部驱动接口进行交互;外部驱动接口则是服务组件之间进行数据交互的中介,由软件框架负责生成,包含输入输出接口、服务组件管理接口、服务组件描述接口以及服务质量描述接口。输入输出接口描述了服务组件之间进行功能业务数据交互时所需的输入信息和输出信息。其中:输入输出接口依据数据模型进行定义,借助航电系统中的通信中间件完成服务组件之间的数据交互;服务组件管理接口用于实现组件的加载、启动、停止以及组件运行状态的监控。与输入输出接口相似,服务组件接口依据数据模型进行定义,借助航电系统中的通信中间件完成服务组件的管理;服务组件描述接口用于反馈组件的基础信息,例如服务组件ID、开发者信息、版本号、与其他服务组件的依赖关系等;服务组件质量描述接口用户反馈组件的服务质量相关信息,例如时延、可用性、完好性等。
步骤S300:基于所述数据模型资源池,选取与所述服务组件的需求对应的一个或多个数据模型,作为所述服务组件的组件模型;
具体而言,依据FACE标准,从资源池中选取服务组件建模所需的数据模型,若数据模型资源池中没有相应的数据模型,基于服务组件的功能需求创建新的数据模型,并进行一致性检验,最后添加到数据模型资源池中。依据FACE标准,结合服务组件接口的功能实现需求,从数据模型资源池中选取可用的枚举类型、结构体类型和信号组类型数据,最终得到服务组件的数据模型,并以UML模型图及文本表格的形式呈现。在建立服务组件的数据模型之后,将依照FACE标准中所规定的一致性检验方法对组件数据模型进行一致性检验,以此来保证所建立组件数据模型的有效性。
步骤S400:基于所述组件模型,将所述内部驱动接口及其对应数据、所述外部驱动接口及其对应数据封装到所述服务组件中。
进一步的,依据所述组件模型,将所述服务组件中涉及控制指令及业务功能数据的接口封装为所述输入输出接口。
进一步的,依据所述组件模型,将所述服务组件中涉及运行状态数据的接口封装为所述服务组件管理接口。
进一步的,如果所述内部驱动接口的功能模块中存在服务组件信息的相关描述,则将所述相关描述封装为所述服务组件描述接口;如果所述内部驱动接口的功能模块不存在所述相关描述,则在所述外部驱动接口的功能模块中新建描述信息,并将所述描述信息封装为所述服务组件描述接口。
进一步的,如果所述内部驱动接口的功能模块存在所述服务组件的质量约束的相关描述,则将所述质量约束的相关描述封装为所述服务质量接口;如果所述内部驱动接口的功能模块中不存在所述质量约束的相关描述,则在所述外部驱动接口的功能模块中新建质量约束的相关描述,并将新建的所述质量约束的相关描述封装为所述质量约束描述接口。
具体而言,将现有的航电系统中负责数据加载的功能单元封装为数据加载服务组件,该服务组件实现了接收来自显控的航电任务数据加载请求,并通知子系统执行数据加载,监控数据加载过程,最终将生成的数据加载结果报告发送回显控。对其业务逻辑进行梳理,其主要接口有:执行航电任务数据加载、数据加载通知、加载过程监控、生成数据加载结果报告等。
对服务组件进行适配封装时,依据服务组件的数据模型,将服务组件中涉及控制指令及业务功能数据的接口封装为输入输出接口;依据服务组件的数据模型,将服务组件中涉及运行状态数据的接口封装为服务组件管理接口;若服务组件的内驱功能模块存在服务组件信息(例如,服务组件版本、开发者)的相关描述,则将其封装为服务组件的描述接口;若服务组件的内驱功能模块不存在服务组件信息的相关描述,则需要在外部接口模块中新建描述信息,并封装为服务组件的描述接口,以供查询;若服务组件的内驱功能模块存在服务组件的质量约束(例如,时间延迟),则将其封装为服务组件的服务质量接口;若服务组件的内驱功能模块不存在服务组件质量约束的相关描述,则需要在外部接口模块中新建质量约束,并封装为服务组件的质量约束描述接口,以供查询。
本发明实施例实现了如下技术效果:
1、有助于提升航电系统中嵌入式软件的可复用性和可移植性,进一步降低航电嵌入式软件组件的开发成本,满足了新兴航电应用软件对敏捷开发的需求;
2、通过对组件数据模型进行一致性检验,以此来保证所建立组件数据模型的有效性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,所述方法包括:
构建服务组件的数据模型资源池,所述数据模型资源池符合FACE标准,所述所述数据模型资源池包括多种类型的数据模型;
基于所述服务组件的框架代码进行所述服务组件的接口设计,所述接口包括内部驱动接口和外部驱动接口;
基于所述数据模型资源池,选取与所述服务组件的需求对应的一个或多个数据模型,作为所述服务组件的组件模型;
基于所述组件模型,将所述内部驱动接口及其对应数据、所述外部驱动接口及其对应数据封装到所述服务组件中。
2.根据权利要求1所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,所述选取与所述服务组件的需求对应的一个或多个数据模型,还包括:
如果所述数据模型资源池中不存在与所述服务组件的需求对应的数据模型,则根据所述服务组件的所述内部驱动接口和所述外部驱动接口创建新的数据模型,并将所述新的数据模型放入所述数据模型资源池中。
3.根据权利要求1所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,所述方法还包括:
所述外部驱动接口包括输入输出接口、服务组件管理接口、服务组件描述接口以及服务质量描述接口;所述内部驱动接口与所述外部驱动接口进行数据交互。
4.根据权利要求3所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,依据所述组件模型,将所述服务组件中涉及控制指令及业务功能数据的接口封装为所述输入输出接口。
5.根据权利要求3所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,依据所述组件模型,将所述服务组件中涉及运行状态数据的接口封装为所述服务组件管理接口。
6.根据权利要求3所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,如果所述内部驱动接口的功能模块中存在服务组件信息的相关描述,则将所述相关描述封装为所述服务组件描述接口;如果所述内部驱动接口的功能模块不存在所述相关描述,则在所述外部驱动接口的功能模块中新建描述信息,并将所述描述信息封装为所述服务组件描述接口。
7.根据权利要求3所述的一种基于软件框架的航电嵌入式软件服务组件封装方法,其特征在于,如果所述内部驱动接口的功能模块存在所述服务组件的质量约束的相关描述,则将所述质量约束的相关描述封装为所述服务质量描述接口;如果所述内部驱动接口的功能模块中不存在所述质量约束的相关描述,则在所述外部驱动接口的功能模块中新建质量约束的相关描述,并将新建的所述质量约束的相关描述封装为所述服务质量描述接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311850078.8A CN117891452A (zh) | 2023-12-28 | 2023-12-28 | 一种基于软件框架的航电嵌入式软件服务组件封装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311850078.8A CN117891452A (zh) | 2023-12-28 | 2023-12-28 | 一种基于软件框架的航电嵌入式软件服务组件封装方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117891452A true CN117891452A (zh) | 2024-04-16 |
Family
ID=90643599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311850078.8A Pending CN117891452A (zh) | 2023-12-28 | 2023-12-28 | 一种基于软件框架的航电嵌入式软件服务组件封装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891452A (zh) |
-
2023
- 2023-12-28 CN CN202311850078.8A patent/CN117891452A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Uhrin et al. | Workflows in AiiDA: Engineering a high-throughput, event-based engine for robust and modular computational workflows | |
US11106459B2 (en) | Distributed parallel build system | |
JP2009532754A (ja) | 継続ベースのメタランタイムのための抽象実行モデル | |
Heroux et al. | ECP software technology capability assessment report | |
CN111818128A (zh) | 基于容器云的组件化仿真模型运行控制系统、方法及介质 | |
CN110717268B (zh) | 一种基于face架构的可移植组件单元封装方法 | |
Gokhale et al. | Model driven middleware | |
CN114064083A (zh) | 通过在配置中心自定义模板部署云原生应用的方法及应用 | |
CN105573763A (zh) | 一种支持rtos的嵌入式系统建模方法 | |
CN113377497A (zh) | 一种基于服务虚拟化的服务开发系统 | |
Berthier et al. | Designing autonomic management systems by using reactive control techniques | |
CN117891452A (zh) | 一种基于软件框架的航电嵌入式软件服务组件封装方法 | |
Balasubramanian et al. | Drems ml: A wide spectrum architecture design language for distributed computing platforms | |
Tešanovic et al. | Embedded databases for embedded real-time systems: A component-based approach | |
Radeski et al. | Component-based development extensions to HLA | |
Wannipurage et al. | A Framework to capture and reproduce the Absolute State of Jupyter Notebooks | |
CN108874509A (zh) | 一种精简的虚拟器件生成和部署方法 | |
Bambagini et al. | A code generation framework for distributed real-time embedded systems | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
US7437740B1 (en) | Generation of Java language application programming interface for an object-oriented data store | |
CN117950646B (zh) | 软件开发方法、装置、计算机设备、存储介质及程序产品 | |
CN117331565B (zh) | 软件生成方法、装置、计算机设备及存储介质 | |
He et al. | Software architectural reflection mechanism for runtime adaptation | |
Cervera | Run to the Source: The Effective Reproducibility of Robotics Code Repositories | |
Hunt et al. | Object Oriented Analysis and Design |
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 |