CN114995811B - 支持多种机载嵌入式操作系统的容器接口架构系统 - Google Patents

支持多种机载嵌入式操作系统的容器接口架构系统 Download PDF

Info

Publication number
CN114995811B
CN114995811B CN202210659588.6A CN202210659588A CN114995811B CN 114995811 B CN114995811 B CN 114995811B CN 202210659588 A CN202210659588 A CN 202210659588A CN 114995811 B CN114995811 B CN 114995811B
Authority
CN
China
Prior art keywords
software
layer
container
interface
operating system
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
Application number
CN202210659588.6A
Other languages
English (en)
Other versions
CN114995811A (zh
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 Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
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 Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN202210659588.6A priority Critical patent/CN114995811B/zh
Publication of CN114995811A publication Critical patent/CN114995811A/zh
Application granted granted Critical
Publication of CN114995811B publication Critical patent/CN114995811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Landscapes

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

Abstract

本发明提出了支持多种机载嵌入式操作系统的容器接口架构系统,该架构系统的层次自下而上依次为硬件模块层、异构嵌入式实时操作系统层、操作系统抽象软件层、核心基础服务软件层和容器层;主要针对当前机载嵌入式应用软件可移植性差的特点,基于多种嵌入式操作系统运行环境的接口特征,设计操作系统抽象层,对多种不同操作系统的接口进行适配和封装,实现操作系统接口的统一和标准化。基于操作系统抽象层,结合航空电子系统基础功能分析,设计了核心基础服务层,构建了5大类的核心基础服务库,为上层航电应用软件提供基础功能支撑。

Description

支持多种机载嵌入式操作系统的容器接口架构系统
技术领域
本发明涉及航空电子系统软件设计与实现领域,具体涉及支持多种机载嵌入式操作系统的容器接口架构系统。
技术背景
机载系统因其强实时、高可靠的需求,导致了应用软件部署和配置的复杂性和确定性,同时这些特点限制了机载应用软件的复用性和灵活性,使得相同的机载应用软件无法直接在其它运行环境内运行,或者需要通过大量并特定的软件更改工作才能移植到其它的运行环境上去。为了实现机载应用面向多种嵌入式运行环境的移植性,通常采用应用软件与机载硬件环境隔离机制如容器技术,通过将应用软件置于标准化的容器中运行,从而使其可以在任何运行有容器的运行环境上灵活部署,而无需关注特定的嵌入式硬件平台,满足跨平台复用和可移植的需求。本发明应用于航空电子系统平台基础设施环境设计和部署阶段,辅助航空电子系统应用软件的开发和部署。
发明内容
发明目的
为了实现航空电子系统应用软件的移植与跨平台复用,本发明提出了一种面向嵌入式环境的容器应用部署框架技术,目标是构建面向多种硬件平台和操作系统运行环境的航空电子系统基础设施框架,为航电应用提供标准化的容器运行环境,支撑航空电子系统应用软件的服务化设计,提升航电应用软件的可移植性并支持其灵活部署,从而降低航空电子系统的软件设计成本,并推动旧有航电软件的复用和升级。
技术方案
提供支持多种机载嵌入式操作系统的容器接口架构系统,
该架构系统的层次自下而上依次为硬件模块层、异构嵌入式实时操作系统层、操作系统抽象软件层、核心基础服务软件层和容器层;
硬件模块层为机载嵌入式软件运行提供关键性基础运行资源;
异构嵌入式实时操作系统层提供并控制对多类异构嵌入式计算平台和基础软件环境的实时控制与访问,操作系统层通过操作系统应用软件编程接口的方式向应用软件提供服务;
操作系统抽象软件层对典型的嵌入式操作系统和非嵌入式操作系统的应用软件编程接口进行适配,为核心基础服务层软件和容器层提供定义明确的通用接口;操作系统抽象软件确保嵌入式软件在多个平台,多个操作系统之间保持可移植性;
核心基础服务软件层为应用开发和运行时环境,提供核心基础服务,每个服务均定义了一个应用软件编程接口,作为应用软件开发的基础;
容器层中驻留有应用软件,并且容器层是为驻留的应用软件提供运行环境的软件,实现容器内驻留的应用软件与容器外部应用软件之间的隔离,容器外部应用软件的错误不会影响容器内驻留的应用软件正常运行。
进一步的,所述多类异构嵌入式计算平台为基于PowerPC或ARM的计算模块。
进一步的,所述非嵌入式操作系统为Linux、VxWorks、VxWorks653和天脉1。
进一步的,所述关键性基础运行资源包括计算、网络和存储。
进一步的,所述核心基础服务包括软件总线、时间、事件、执行和配置服务。
进一步的,容器根据预定的调度策略对驻留的应用软件进行调度,并支持对操作系统/中间件接口的访问。
进一步的,核心基础服务包括执行服务、时间服务、软件总线服务、配置服务以及事件服务。
进一步的,应用软件编程接口包括任务控制接口、模块加载接口、同步接口、队列接口、文件接口、时钟接口和网络接口。
有益效果
本发明构建了一种面向机载嵌入式环境的容器应用设计技术,基于多种实时嵌入式操作系统运行环境,定义了操作系统抽象层、核心基础服务层,以及容器接口层,将航空电子应用软件与具体硬件平台和操作系统运行环境相隔离,为航空电子应用软件提供了一个运行容器,从而支撑其跨平台、跨操作系统的可移植和重构建,实现航空电子系统的快速综合集成与灵活部署。本方法所构建的航空电子系统架构,以航空电子系统领域常用PowerPC、ARM为指令处理的硬件模块层作为计算基础,提供处理器、内存、存储器和外设等资源,运行如VxWorks、Linux、天脉1等嵌入式实时操作系统,针对各类不同操作系统接口不一致问题,采用分层解耦的方法,逐层部署操作系统抽象层软件、核心基础服务软件、容器层软件,将底层软硬件运行环境的接口差异进行层级化适配,支持应用软件的移植和复用。
附图说明
图1为平台基础设施环境的示意图;
图2为操作系统抽象层软件结构的示意图;
图3为核心基础服务层和操作系统抽象层关系的示意图;
图4为应用软件调度的示意图;
图5为容器实现框架的示意图;
图6为容器接口层软件通过应用接口控制应用软件的示意图;
图7为应用软件通过容器接口执行操作的示意图;
图8为实施例的示意图。
具体实施方式
提供支持多种机载嵌入式操作系统的容器接口架构方法,
该架构系统的层次自下而上依次为硬件模块层、异构嵌入式实时操作系统层、操作系统抽象软件层、核心基础服务软件层和容器层;
硬件模块层为机载嵌入式软件运行提供关键性基础运行资源,所述关键性基础运行资源包括计算、网络和存储。所述关键性基础运行资源为支持PowerPC,ARM、MIPS、X86等指令集的多核中央处理器,并支持虚拟化处理。
异构嵌入式实时操作系统层提供并控制对多类异构嵌入式计算平台和基础软件环境的实时控制与访问,操作系统层通过操作系统应用软件编程接口的方式向应用软件提供服务,所述多类异构嵌入式计算平台为基于PowerPC或ARM的计算模块;所述异构嵌入式实时操作系统层支持VxWorks、VxWorks653、Linux和天脉1典型航空电子领域实时嵌入式操作系统。
操作系统抽象软件层对嵌入式操作系统和非嵌入式操作系统的应用软件编程接口进行适配,为核心基础服务层软件和容器层提供定义明确的通用接口;操作系统抽象软件确保嵌入式软件在多个平台,多个操作系统之间保持可移植性,所述非嵌入式操作系统为Linux、VxWorks、VxWorks653和天脉1;
所述操作系统抽象软件层支持操作系统通用接口,操作系统通用接口包括实时操作系统通用接口、文件系统接口、中断/异常处理接口。
所述实时操作系统通用接口类包括任务控制接口、队列接口、信号量接口、动态加载和符号表接口、定时器接口、网络接口。
所述文件系统接口类包括了文件操作、目录操作和磁盘操作功能接口。
所述中断/异常处理接口类包括了系统异常接口、中断异常接口和浮点异常接口。
核心基础服务软件层为应用开发和运行时环境,提供核心基础服务,每个服务均定义有应用软件编程接口,作为应用软件开发的基础,核心基础服务包括执行服务、时间服务、软件总线服务、配置服务以及事件服务;应用软件编程接口包括任务控制接口、模块加载接口、同步接口、队列接口、文件接口、时钟接口和网络接口。
容器层中驻留有应用软件,并且容器层是为驻留的应用软件提供运行环境的软件,实现容器内驻留的应用软件与容器外部应用软件之间的隔离,容器外部应用软件的错误不会影响容器内驻留的应用软件正常运行,容器根据预定的调度策略对驻留的应用软件进行调度,并支持对操作系统/中间件接口的访问。
所述核心基础服务软件层支持执行服务、时间服务、软件总线服务、配置服务和事件服务五大类核心基础服务,并提供执行服务接口类、时间服务接口类、软件总线服务接口类、配置服务接口类和事件服务接口类五大类函数调用接口类。
容器层作为中间件软件,架设于操作系统抽象层软件和核心基础服务层之上,为驻留其上的应用软件提供基础的运行时功能,主要包括调度应用软件的执行过程、控制应用软件的消息输入和输出、提供应用软件与其它软件的内存隔离,以及管理应用软件错误。容器层软件以动态运行库或者静态库的形式,与应用软件代码一起被编译到系统中,并完全控制应用软件的启动、停止、消息输入和输出、错误管理等基础操作,将应用软件作为其内部完全受控实体。应用软件不具备主动执行权限,只能在容器层软件的控制下运行其业务逻辑,并调用容器层软件所提供的接口类函数获取对应的基础功能与服务。
所述容器层软件为应用软件提供初始化、启动、停止、关闭、消息输入和输出、错误管理、监听事件7类基础调用接口。
本发明核心发明点:操作系统抽象层软件、容器层软件。
操作系统抽象层软件的设计功能是屏蔽底层硬件和操作系统别类的差异,为核心基础服务层软件、容器层软件提供统一和标准的操作系统调用接口。操作系统抽象层软件能够适配VxWorks、VxWorks653、Linux以及天脉1等主流嵌入式实时操作系统的基础调用接口,统规到实时操作系统通用接口类、文件系统接口类、中断/异常处理接口类3大类函数调用接口。核心基础服务层软件和容器层软件只需要调用上述接口函数就可以使用基础操作系统服务。
容器层软件采用动态库或静态库的方式,与应用软件一起打包到运行时环境,为其提供包括执行流程调度、消息输入和输出控制、内存隔离,以及错误记录与管理等主要功能,具体提供运行控制接口类函数、记录与错误管理接口类函数、输入输出接口类函数。应用软件不主动运行,只能由容器层软件控制执行,并调用上述接口类函数从容器层软件获得对应的服务,
本发明次要发明点:核心基础服务库软件
核心基础服务库软件将各种类别的嵌入式实时操作系统如VxWorks、VxWorks653、Linux以及天脉1等所提供的基础服务进行统一,归类为执行服务、时间服务、软件总线服务、配置服务和事件服务五大类核心基础服务,并分别为上述每一类核心基础服务提供对应的统一调用接口,供容器层软件调用。核心基础服务层在操作系统抽象层软件之上进一步对各类异构平台服务进行统一和规约,确保容器层软件及应用软件的可移植性。
下述过程描述如何基于硬件模块层,异构嵌入式实时操作系统层、操作系统抽象层、核心基础服务层、容器层软件,来构建一整个可运行的航空电子系统软件。
1)将航空电子系统的顶层需求进行细化分解,明确航电系统需要完成和提供的完整能力。
2)明确航空电子软件运行的硬件平台类型,确定硬件模块层的详细需求,包括CPU、存储、网络等设备的具体型号,并进一步确定硬件模块之上所需运行的嵌入式实时操作系统类型和设备驱动,从而构建软件运行的基础环境。
3)确定航电应用软件的详细功能要求,对应用软件的详细功能点、执行流程、内部数据流等进行拆分和确认。
4)根据航电应用软件的详细功能需求,编制应用软件业务逻辑,完成软件处理流程的代码实现并编译成独立的可执行软件模块。
5)根据应用软件的代码实现,对容器层软件进行配置,使之满足应用软件代码实现中所需要的接口类函数需求。
6)根据应用软件代码实现和容器层软件所需的核心基础服务需求,配置对应的接口类函数。
7)根据确认的嵌入式实时操作系统类型,确定匹配的操作系统抽象层软件,例如平台运行支持PowerPC指令集的VxWorks操作系统,那么此处应选择该版本操作系统所对应的操作系统抽象层软件。
8)在完成所有系统综合所需要的软件模块之后,配置整个系统运行的基础参数,如时钟精度参数等,将上述所有的软件模块进行集成编译,打包成一整个可执行软件包。
9)将打包好的可执行软件包下载到2中确认的基础运行环境中运行、测试和部署。
跨平台移植和复用
本过程无需修改应用软件代码,并将其移植到其它异构硬件平台的运行环境上,假设原平台基础运行环境与待移植平台的硬件模块与操作系统均不相同。
1)确认待移植平台的软硬件基础运行环境类型,主要包括指令集类型和操作系统类型。
2)根据待移植平台的指令集类型和操作系统类型,选择对应的容器层软件并配置参数,使容器层软件能够满足应用软件代码中所有的接口需求。
3)根据待移植平台的指令集类型和操作系统类型将应用软件的源代码和上一个步骤配置好的容器层软件进行联合编译,构建适配到新平台的软件模块。
4)根据待移植平台的指令集类型和操作系统类型,配置待移植平台对应的核心基础服务层软件。
5)根据待移植平台的指令集类型和操作系统类型,配置待移植平台对应的操作系统抽象层软件。
6)在完成所有系统综合所需要的软件模块之后,配置待移植平台上整个系统运行的基础参数,如时钟精度参数等,将上述所有的软件模块进行集成编译,打包成一整个可执行软件包。
7)将打包好的可执行软件包下载到待移植平台上运行、测试和部署。

Claims (8)

1.支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:
该架构系统的层次自下而上依次为硬件模块层、异构嵌入式实时操作系统层、操作系统抽象软件层、核心基础服务软件层和容器层;
硬件模块层为机载嵌入式软件运行提供关键性基础运行资源;
异构嵌入式实时操作系统层提供并控制对多类异构嵌入式计算平台和基础软件环境的实时控制与访问,操作系统层通过操作系统应用软件编程接口的方式向应用软件提供服务;
操作系统抽象软件层对典型的嵌入式操作系统和非嵌入式操作系统的应用软件编程接口进行适配,为核心基础服务层软件和容器层提供定义明确的通用接口;操作系统抽象软件确保嵌入式软件在多个平台,多个操作系统之间保持可移植性;
核心基础服务软件层为应用开发和运行时环境,提供核心基础服务软件包括多种服务,每个服务均定义有应用软件编程接口,作为应用软件开发的基础;
容器层中驻留有应用软件,并且容器层是为驻留的应用软件提供运行环境的软件,实现容器内驻留的应用软件与容器外部应用软件之间的隔离,容器外部应用软件的错误不会影响容器内驻留的应用软件正常运行。
2.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:所述多类异构嵌入式计算平台为基于PowerPC或ARM的计算模块。
3.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:所述非嵌入式操作系统为Linux、VxWorks、VxWorks653和天脉1。
4.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:所述关键性基础运行资源包括计算、网络和存储。
5.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:所述核心基础服务包括软件总线、时间、事件、执行和配置服务。
6.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:容器根据预定的调度策略对驻留的应用软件进行调度,并支持对操作系统/中间件接口的访问。
7.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:核心基础服务包括执行服务、时间服务、软件总线服务、配置服务以及事件服务。
8.根据权利要求1所述的支持多种机载嵌入式操作系统的容器接口架构系统,其特征在于:应用软件编程接口包括任务控制接口、模块加载接口、同步接口、队列接口、文件接口、时钟接口和网络接口。
CN202210659588.6A 2022-06-10 2022-06-10 支持多种机载嵌入式操作系统的容器接口架构系统 Active CN114995811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210659588.6A CN114995811B (zh) 2022-06-10 2022-06-10 支持多种机载嵌入式操作系统的容器接口架构系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210659588.6A CN114995811B (zh) 2022-06-10 2022-06-10 支持多种机载嵌入式操作系统的容器接口架构系统

Publications (2)

Publication Number Publication Date
CN114995811A CN114995811A (zh) 2022-09-02
CN114995811B true CN114995811B (zh) 2024-05-03

Family

ID=83033039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210659588.6A Active CN114995811B (zh) 2022-06-10 2022-06-10 支持多种机载嵌入式操作系统的容器接口架构系统

Country Status (1)

Country Link
CN (1) CN114995811B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277346B (zh) * 2022-09-28 2023-01-20 中国电子科技集团公司第十研究所 一种面向嵌入式异构总线的云原生容器网络系统
CN115827045B (zh) * 2022-10-31 2023-07-14 北京凯思昊鹏软件工程技术有限公司 嵌入式系统中容器的接口配置系统和方法
CN116541066B (zh) * 2023-06-14 2023-10-13 飞腾信息技术有限公司 软件系统构建方法、装置、设备及计算机可读存储介质
CN117407004B (zh) * 2023-10-10 2024-10-18 浙江大学 一种跨架构、跨系统、跨平台的软件部署方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309291A (zh) * 2020-01-19 2020-06-19 北京航空航天大学 一种模块化嵌入式软件架构及其定制方法、定制系统
CN111488142A (zh) * 2020-04-10 2020-08-04 中电科航空电子有限公司 支持多操作系统平台的嵌入式航空通信中间件及其应用
CN112015371A (zh) * 2020-05-19 2020-12-01 中国航空无线电电子研究所 一种非嵌入式软件平台下的软件开发装置
CN112363799A (zh) * 2020-10-23 2021-02-12 中国航空无线电电子研究所 一种基于分层解耦架构的航空电子设备模拟器
WO2021218333A1 (zh) * 2020-04-27 2021-11-04 深圳壹账通智能科技有限公司 监管沙盒架构、监管方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309291A (zh) * 2020-01-19 2020-06-19 北京航空航天大学 一种模块化嵌入式软件架构及其定制方法、定制系统
CN111488142A (zh) * 2020-04-10 2020-08-04 中电科航空电子有限公司 支持多操作系统平台的嵌入式航空通信中间件及其应用
WO2021218333A1 (zh) * 2020-04-27 2021-11-04 深圳壹账通智能科技有限公司 监管沙盒架构、监管方法、装置及存储介质
CN112015371A (zh) * 2020-05-19 2020-12-01 中国航空无线电电子研究所 一种非嵌入式软件平台下的软件开发装置
CN112363799A (zh) * 2020-10-23 2021-02-12 中国航空无线电电子研究所 一种基于分层解耦架构的航空电子设备模拟器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
洪锡军,张激.嵌入式应用软件通用运行平台研究.计算机工程.2005,(第24期),全文. *
王力生 ; 仇志付 ; 唐军敏 ; .嵌入式操作系统的通用硬件抽象层设计.单片机与嵌入式系统应用.2006,(第10期),全文. *

Also Published As

Publication number Publication date
CN114995811A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN114995811B (zh) 支持多种机载嵌入式操作系统的容器接口架构系统
CN110851145B (zh) 一种基于容器编排的边缘云安装维护方法及系统
US6691146B1 (en) Logical partition manager and method
US20220237007A1 (en) Supervisory device with deployed independent application containers for automation control programs
CN114579091B (zh) 跨操作系统的机器人流程自动化系统及方法
CN112015371B (zh) 一种非嵌入式软件平台下的软件开发装置
CN113448686A (zh) 一种资源部署方法、装置、电子设备及存储介质
CN109656528A (zh) 基于标准的组件化软件开发方法
CN111158743B (zh) 大数据运维管理平台
CN115658232A (zh) 一种云原生平台快速部署方法及系统
US8719778B2 (en) Interconnection interface for flexible online/offline deployment of an n-layered software application
CN117271013A (zh) 基于工业软件的多云技术适配方法及系统
US20240160420A1 (en) System and method for adapting a reconfigurable runtime system used in automation systems
US7757205B2 (en) System for preparing a standard framework for automation appliances
CN115686462A (zh) 基于React-Native的工程化架构方法及系统
EP3926473B1 (en) Systems and methods of providing an abstraction layer between an application layer and hardware components of a computing device
CN111597022B (zh) 一种自动融合多专业业务功能的融合系统及融合方法
CN112114863A (zh) 微内核代支持的操作系统架构
CN111562951B (zh) 一种雷达应用组件服务化实现方法
Wang Component-based performance-sensitive real-time embedded software
CN117112184B (zh) 一种基于容器技术的任务调度服务方法及系统
Drosos et al. Real-time communication protocol development using SDL for an embedded system on chip based on ARM microcontroller
CN111258679B (zh) 应用于智能电表上的app生命周期管理方法
Dorninger A process model runtime environment based on OSGi
Peschke The JAKOBI architecture-a distributed dynamic execution environment in Java

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