一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于飞行器的机载计算系统和飞行器的制作方法

2022-02-19 00:46:15 来源:中国专利 TAG:


1.本披露总体涉及计算系统。更具体地,本披露涉及一种用于飞行器的机载计算系统,该机载计算系统包括多个分区,每个分区包括被配置成执行与飞行器有关的功能的至少一个软件组件。


背景技术:

2.在飞行器工业中,存在的总体趋势是空中计算系统呈现出稳定增长的复杂性,该机载计算系统总体上包括嵌入式实时计算系统,比如安全相关的航空电子系统和飞行器机舱管理系统。由于在软件认证期间需要向认证器提供正确性证明,因此通常根据以接口为中心的方法来创建安全相关的计算系统,在该以接口为中心的方法中,软件组件具有明确定义的接口、并且使用其接口彼此通信。但是,在可能具有数百个软件组件的情况下,这种方法可能导致组件之间的依赖性,这使得整个软件不易于维护和扩展。
3.出于安全原因,关键软件组件通常在不同的分区上执行,即在分离的执行环境中执行,以避免一个组件的故障影响另一个组件的可操作性。在这方面,期望可以在分区的层面上完成认证器所要求的系统的安全性和数据认证,以便如果更改了分区中的一个分区,就可以清楚地识别出此更改对其他分区的影响。另外,由于系统软件开发过程以及验证和认证活动占整个开发工作的大部分,因此通常期望降低认证的复杂性。为了减少由于更改而导致的重新认证工作,在如果(且仅如果)可以证明分区不受更改影响的情况下,可以将分区排除在重新认证过程之外。但是,分区之间存在的耦合和依赖性(例如,呈在分区上执行的软件组件之间的数据流的形式)越多,证明一个分区不受施加到其他分区的更改的影响就越难。


技术实现要素:

4.因此,本披露的目的是提供一种架构方法,该架构方法使得能够处理空中计算系统增大的复杂性,并允许创建保持可维护和可扩展的大规模系统。
5.根据本披露的第一方面,提供了一种用于飞行器的机载计算系统。所述计算系统包括多个分区,每个分区包括被配置成执行与所述飞行器有关的功能的至少一个软件组件,其中,所述多个分区中的不同分区的软件组件被配置成经由所述计算系统的通信集线器交换数据,所述通信集线器被配置成存储所述多个分区的导出软件组件导出的数据通过、并且将所存储的数据提供给所述多个分区的读取软件组件。
6.因此,通信集线器可以用作多个分区的软件组件之间的通信装置(或“服务”),并且这样可以减少分区之间的耦合,这是由于每个分区(包括在其上执行的软件组件)仅可以与通信集线器进行接口连接,而可能不支持与驻留在计算系统其他分区上的软件组件进行直接接口连接。而是,在不同分区中执行的软件组件可以通过通信集线器(例如,排他地)进行通信以交换数据,例如以交换其功能状态。
7.从架构的角度,代替使用以接口为中心的方法,本披露的计算系统因此可以基于
以数据为中心的方法,例如,利用数据融合的概念(与多个数据源的集成有关,以产生比任何单个数据源所提供的信息更一致、准确和/或有用的信息)和/或数据集中的概念(与使用中央软件组件从不同源接收一组数据并使其用于具有限制或不限制的已识别客户有关)的方法。换句话说,通信集线器可以使数据由多个分区的读取软件组件可观察(或“可读取”)的导出软件组件导出。
8.导出软件组件可以对应于多个分区的软件组件中的将数据导出(或“写入”)到通信集线器的那些软件组件,使得多个分区的其他软件组件(即读取软件组件)可以经由通信集线器读取(或通常“访问”)数据。多个分区的软件组件(无论是导出软件组件或是读取软件组件)可以包括分别执行与飞行器有关的实时或非实时功能的实时和非实时软件组件中的至少一者。例如,与飞行器有关的功能可以包括航空电子系统的通用功能,并且计算系统通常可以是嵌入式(例如,实时)计算系统。作为示例,计算系统可以是机舱管理系统,并且多个分区的软件组件可以包括用于控制机舱照明的照明控制组件和用于检测机舱中的烟雾的烟雾检测组件中的至少一者。每个软件组件可以在多个分区中的对应分区上执行,其中每个分区可以是用于执行对应软件组件的分离的(或“独立的”)执行环境。
9.通信集线器可以被实现为在计算系统上执行的软件服务,并且因此,通信集线器也可以是计算系统的软件组件。虽然在一个变体中,通信集线器可以被实现为单片软件组件,但是在其他变体中,可以使用(例如,分布式)子组件来实现通信集线器,其中,中央集线器组件存储导出的数据,并且其中,每个分区包括本地集线器组件,该本地集线器组件用作到对应分区内的软件组件的本地通信装置(或“服务”)。每个本地集线器组件可以向对应分区的软件组件提供接口(例如,应用编程接口(api)),以提供对通信集线器的存储装置的访问(例如,读取和/或写入访问)。因此,所述通信集线器可以包括存储所述数据的中央集线器组件和所述多个分区的每个中的本地集线器组件,每个本地集线器组件提供能够由对应分区的所述至少一个软件组件使用以访问由所述中央集线器组件存储的数据的接口。
10.由导出软件组件导出的数据可以对应于可能需要与计算系统的其他软件组件共享的导出软件组件的功能(或“内部”)状态。作为示例,照明控制组件可能需要读取烟雾检测组件的功能状态,比如当前烟雾检测状态。烟雾检测组件因此可以将当前烟雾检测状态导出到通信集线器,并且照明控制组件可以从通信集线器读取当前烟雾检测状态,以控制关于机舱照明的参数(例如,包括当前照明亮度)。在由导出软件组件导出的数据中,每个数据可以由多个分区中的恰好一个导出软件组件直接导出,例如,以确保导出到通信集线器的存储装置的每个数据只能被特定软件组件写入,从而防止该软件组件导出的功能状态被另一软件组件覆写。另一方面,对导出的数据的读取访问可以不受限制,因此,通信集线器存储的每个数据可以被多个分区的任何读取软件组件读取。将理解,对导出的数据的读取访问也可以被限于(例如,出于数据安全性原因)具有明确读取权限的软件组件,从而由通信集线器存储的每个数据可以通过多个分区的具有对应数据的明确读取权限的读取软件组件读取。
11.在一种实施方式中,由通信集线器存储的数据可以组织成树数据结构,其中,例如,数据可以表示树中的叶元素。数据因此可以存储在树结构中,并且多个分区的软件组件可以使用用于遍历树结构的路径以访问由通信集线器存储的数据。可以在设计时(即,在运行时之前)定义路径,并且软件组件可以配置有导出/写入和读取其感兴趣的数据所需的路
径。路径配置可以以例如定义要由对应软件组件导出和/或读取的数据的各个分区配置的形式来提供,并且可以在运行时基于各个分区配置来构建用于存储数据的树结构。因此,所述通信集线器可以被配置成在所述计算系统初始化时从所述多个分区读取定义将由对应分区的所述至少一个软件组件访问的数据的各个分区配置,其中,所述通信集线器被配置成基于所述各个分区配置来构造所述树结构。
12.通信集线器本身可以不依赖于特定的树结构,但可以基于在设计时确定的各个分区配置来动态构造该树。这样,可以说通信集线器不“知晓”数据及其值,而仅知晓如何处理和存储数据。从通信集线器的角度,数据可以说表示不透明的数据(例如,具有周知的大小),而数据的实际内容可以与通信集线器无关。
13.为了强制每个数据只能由一个导出软件组件导出,如上所述,通信集线器可以被配置成当将多个分区的多个导出软件组件定义为导出相同的数据时(即换句话说,当多个软件组件声称是相同的数据的编写者时(例如,由于设计时的错误配置))检测各个分区配置中的错误配置。在这种情况下,可以向具有较高关键性的软件组件授予提供者权限,即,通信集线器可以被配置成当检测到错误配置时向多个导出软件组件中的具有最高关键性的导出软件组件授予导出权限。关键性可以涉及根据软件组件的安全性相关性在多个分区的软件组件之间的(例如,预定义的)优先级划分。作为示例,由于烟雾检测相对于机舱照明通常具有更高的安全相关性,因此可以为烟雾检测组件分配比照明控制组件更高的关键性,这样,在将冲突数据写入例如通信集线器的存储装置时,通信集线器可以使得烟雾检测组件的优先级高于照明控制组件。
14.尽管通常可以想到,计算系统对应于其中中央集线器组件和本地集线器组件可以对应于联网组件的分布式计算系统,但是在一个特定实施方式中,该计算系统可以对应于单片计算系统。在这种情况下,计算系统可以包括至少一个处理器和至少一个存储器,其中,多个分区可以表示在单片系统上提供分离的执行环境的逻辑分区。在这样的实施方式中,通信集线器可以被配置成例如使用计算系统的存储器管理单元(mmu)来强制授予导出权限。特别地,所述通信集线器可以使用共享存储器来实现,其中,由通信集线器存储的数据被存储在共享存储器中。为了访问优化和通信集线器的高效实现,在这种情况下,本地集线器组件中的每一个本地集线器组件可以维护索引表,索引表将用于遍历树结构以访问由通信集线器存储的数据的路径映射到共享存储器的物理地址。可以在通信集线器初始化时创建(或“构建”)索引表,以便有关可用数据的信息在每个分区中可用,并且可以提供给在其上执行的软件组件。mmu可以管理共享存储器,并且可以用于将对通信集线器的访问尝试(读取和/或写入尝试)转换为共享存储器的相应物理地址。这可以引起快速且可预测的访问时间,而访问时间可以不随数据的增大而增大,从而实现了高度可扩展的系统。
15.如上所述,由于不同分区的软件组件可以不彼此直接接口连接(软件组件“不知晓”彼此),因此软件组件可以经由通信集线器(例如,通过共享存储器)间接通信。软件组件因此可以与通信集线器接口连接并且通过由通信集线器提供的接口读取或写入感兴趣的数据。如上所述,由于通信集线器可能不知晓数据及其值,因此可以采用相对较小(轻量)的api来提供对通信集线器的访问。由通信集线器提供的示例性api可以支持“获取(get)”功能、“放置(put)”功能以及可选的“订阅(subscribe)”功能。读取软件组件可以使用“获取”功能来从通信集线器的存储装置中读取数据,导出软件组件可以使用“获取”功能来将数据
导出/写入通信集线器的存储装置中,可以使用“订阅”功能来订阅有关感兴趣的数据的更改值的更新。在这些功能中的每一个功能中,例如,可以通过用于遍历树结构的路径(即,表示功能参数的路径)来识别对特定数据的访问。与以接口为中心的方法相比,由此可以减少api占用空间,并且可以通过单个协调的api访问所有数据。
16.在由通信集线器存储的数据的值由导出软件组件更新的情况下,该数据的值可能会被覆写,因此该数据始终反映最近更新的值(对应于“采样特性”)。在其他变体中,通信集线器可以被配置成在接收到更新时存储数据的值历史(对应于“排队特性”,例如遵循先进先出方案)。为此,本地集线器组件中的每一个本地集线器组件可以维护由所述通信集线器存储的数据的值历史。为了支持轻量级api的使用和通信集线器的存储装置中的数据的优化存储,由所述通信集线器存储的每个数据可以具有大小属性和时效(age)属性中的至少一者。例如,时效属性可以用于检测对通信集线器完成的最新写入访问。
17.通信集线器作为使多个分区的软件组件之间能够通信的独立软件服务组件,可能需要在启动多个分区的软件组件之前进行操作。因此,当计算系统初始化时,可以(需要)在启动多个分区的软件组件之前完成通信集线器的初始化。为了通信集线器存储装置的初始化,通信集线器可以被配置成在计算系统初始化时(例如,在读取各个分区配置并构造树结构之后)用默认值或者如果没有默认值可用则用“无数据”指示填充要访问的数据。
18.该通信系统可以进一步包括监测组件,该监测组件被配置成导出由通信集线器存储的数据的快照。以这种方式,由通信集线器保持的数据可以用于支持工程和/或维护活动,例如执行系统恢复。监测组件可以在对通信集线器的整个存储装置(例如,存储在共享存储器中的整个树结构)具有完全读取权限的单独分区上实现。
19.根据本披露的第二方面,提供了一种包括根据第一方面的计算系统的飞行器。
附图说明
20.在下文中,将参照附图中展示的示例性实施方式进一步描述本披露,在附图中:
21.图1示意性地展示了根据本披露的用于飞行器的示例性机载计算系统;
22.图2a和图2b通过使用通信集线器作为根据本披露的中间通信装置,提供了在分区及其软件组件之间可实现的减少的耦合的图示;
23.图3展示了根据本披露的由通信集线器存储的示例性树结构;
24.图4示意性地展示了图1的计算系统的与实施方式有关的视图,其中使用共享存储器来实现通信集线器的存储;
25.图5展示了当计算系统是单片系统时计算系统的示例性组成;
26.图6展示了包括根据本披露的计算系统的示例性飞行器。
具体实施方式
27.在下面的描述中,出于解释而非限制的目的,阐述了具体细节,以便提供对本披露的透彻理解。对于本领域的技术人员来说,显而易见的是可以用与这些具体细节相偏离的其他实施方式来实践本披露。
28.图1示意性地展示了根据本披露的用于飞行器的示例性机载计算系统100。计算系统100包括多个分区102,每个分区包括被配置成执行与飞行器有关的功能的至少一个软件
组件104。各个分区102的软件组件104(为了清楚展示起见,在图中仅为最左边的分区提供附图标记)可以包括分别执行与飞行器有关的实时功能或非实时功能的实时软件组件和非实时软件组件。例如,与飞行器有关的功能可以包括航空电子系统的通用功能。
29.计算系统100进一步包括通信集线器106,该通信集线器被配置成存储软件组件104之中的导出软件组件导出的数据,并且将所存储的数据提供给软件组件104之中的读取软件组件。在所示的示例中,通信集线器106使用若干子组件实现,并且更具体地,包括负责存储由导出软件组件104导出的数据的中央集线器组件108(在图中表示为实时通信集线器核,“rtch核”)以及多个分区102中的每一个分区种的本地集线器组件110(在图中表示为“本地rtch核”),其中,本地集线器组件110中的每一个本地集线器组件提供api形式的接口112,该接口可被对应分区102的软件组件104使用,以访问由中央集线器组件108存储的数据。
30.在计算系统100中,驻留在不同分区102上的软件组件104通常被配置成经由通信集线器106交换数据。通信集线器106因此可以用作软件组件104之间的通信装置(或“服务”),并且可以因此减少分区102之间的耦合。在图2a和图2b中示例性地展示了通过使用通信集线器106作为中间通信装置来减少分区102及其软件组件104之间的耦合的工作,这些图示出了四个分区的示例性设置。图2a展示了典型的以接口为中心的方法的情况,其中软件组件支持彼此之间的直接接口并且使用这些接口执行其通信。如图2a可以看到的,当使用以接口为中心的方法时,分区及其软件组件之间存在大量的耦合和依赖性。另一方面,图2b展示了在每个分区中提供本地集线器组件的情况(就如同图1的示例),其中,分区的软件组件仅与那个分区的本地集线器组件进行接口连接,并且因此,通常遵循以数据为中心的方法,经由对应的本地集线器组件与其他软件组件进行通信。从图2b中立即显而易见的是,与图2a相比,通过将架构转变为以数据为中心的方法,分区及其软件组件之间的耦合和依赖性明显减少。
31.计算系统100可以是嵌入式(例如,实时)计算系统。作为示例,计算系统100可以是机舱管理系统,并且软件组件104可以包括用于控制机舱照明的照明控制组件和用于检测机舱中的烟雾的烟雾检测组件中的至少一者。由导出软件组件104导出的数据可以对应于可能需要与计算系统100的其他软件组件104共享的导出软件组件104的功能状态。作为示例,照明控制组件可能需要读取烟雾检测组件的功能状态,比如当前烟雾检测状态。烟雾检测组件因此可以将当前烟雾检测状态导出到通信集线器106,并且照明控制组件可以从通信集线器106读取当前烟雾检测状态,以控制关于机舱照明的参数(例如包括当前照明亮度)。
32.在图1的示例性实施方式中,由通信集线器106存储的数据以树状数据结构组织,并且软件组件104可以使用用于遍历树结构的路径来访问数据。可以在设计时定义树中的路径,并且软件组件104可以配置有导出/写入和读取其感兴趣的数据所需的路径。路径配置可以被提供为在分区102处可用的(例如,由对应本地集线器组件110保持的)各个分区配置114的一部分,并且可以定义由对应软件组件104导出和/或读取的数据。然后可以在运行时基于各个分区配置114来构造用于存储数据的树结构。在图1中,通过附图标记116表示构造树结构所基于的特定路径部分,并通过附图标记118表示由构造操作产生的整个树结构。一旦被构造,树结构被存储在中央集线器组件108的存储装置120中,在图1的示例中,中央
集线器组件仅在功能上被指示为数据库。
33.图3示出了从各个分区配置114中定义的路径配置中构造的示例树结构。在示例性树结构中,所存储的数据是树的叶元素,并且通常被表示为“主题(topic)”。如图所示,所存储的数据示例性地包括用于飞行器相关主题“isonground”的布尔值、用于机舱温度相关主题“temp”的整数值以及用于机舱的区域1和区域2的照明相关主题“brightness(亮度)”的整数值。
34.如图1所示,每个本地集线器组件110维护索引表122,该索引表将用于遍历树结构以访问由中央集线器组件108存储的数据的路径映射到存储装置120中相应的存储位置。可以在通信集线器106初始化时创建索引表122,使得关于可用数据的信息在每个分区102中可用,并且可以(例如,在api 112上存在请求时)被提供给对应软件组件104。为了对所存储的数据实现“排队特性”,每个本地集线器组件110伴随有先进先出“fifo”存储器124(称为“主题fifo”)以维护中央集线器组件108存储的数据的值历史。软件组件104通常可以经由api 112访问由通信集线器106提供的服务(包括主题fifo的服务)。api 112可以对应于支持“获取(get)”功能、“放置(put)”功能以及可选的“订阅(subscribe)”功能的协调且轻量级的api,这些功能可以采用遍历该树的路径以将例如感兴趣的数据识别为参数。
35.为了确保计算系统100的正确初始化,计算系统100的启动程序可以包括以下步骤。在第一步骤中,可以启动计算系统100,并且随后,在第二步骤中,中央集线器组件108可以从对应分区102读取各个分区配置114。在第三步骤中,本地集线器组件110可以为每个分区建立索引表122,使得每个分区102和分区内的每个软件组件104可以知晓可用主题。在第四步骤中,中央集线器组件108可以用其默认值或者在没有默认值可用的情况下用“无数据”指示填充主题。一旦通信集线器106的初始化完成并且集线器106准备好进行操作,就可以在第五步骤中启动分区102和软件组件104。在第六步骤中,在分区102和软件组件104的启动完成之后,计算系统100就可以启动并运行。
36.虽然图1总体示出了中央集线器组件108及其存储装置120的功能视图,但是图4示出了计算系统100的与实施方式更相关的视图,其中中央集线器组件108的存储装置120是使用共享存储器实现的。这样,图4与图1的示例的不同之处在于,中央集线器组件108的存储装置120的视图仅由虚拟数据库给出,而包括导出的数据的基础数据实际上存储在共享存储器中。如图4所示,在这种情况下,与构造树结构所基于的路径部分相对应的数据可以存储在共享存储器中的特定物理地址处(在图中表示为“分区数据”)。然后,对应分区102的索引表122可以将用于遍历树结构的路径映射到共享存储器的物理地址。当mmu管理共享存储器并负责将对存储装置120的访问尝试转换为共享存储器的物理地址时,可以实现具有快速且可预测的访问时间的特别有效的实施方式。
37.特别是在图4的情况下,计算系统100可以对应于包括至少一个处理器和至少一个存储器的单片计算系统,其中,分区102被实现为逻辑分区,该逻辑分区提供分离的执行环境以用于在单片系统上执行各种软件组件104。为了说明的目的,图5示出了具有至少一个处理器502和至少一个存储器504以执行本文关于计算系统100描述的任务的这种计算系统100的示例性组成。如图6所示,计算系统100可以被设置在飞行器600中,例如设置在飞行器600的机头处的航空电子舱中。
38.从上面已经显而易见的是,本披露可以基于架构方法提供用于飞行器的机载计算
系统,该架构方法通常将以接口为中心的模式转变为更多以数据为中心的模式,从而减少在计算系统的不同分区中执行的软件组件之间的耦合和依赖性。该方法可以使得能够以断开耦合的方式创建软件组件,以消除依赖性,这些依赖性将以其他方式导致系统不易于维护和扩展。而是,所提出的方法可以改善可扩展性和可维护性,同时保持必要的实时保证。同样,该方法可以支持安全关键组件和非安全关键组件之间的通信,同时完全保持关键部件的安全特征。减少的耦合和依赖性通常可以允许处理增大的系统复杂性,并且可以使得在对其他分区施加更改时更容易证明一个分区不受影响。以这种方式,通常可以在分区层面上执行认证,并且可以减少认证工作以及整个系统开发的复杂性。通信集线器可能不会尤其是在计算系统使用共享存储器实现为单片系统时给软件带来瓶颈或单点故障。
39.所相信的是从前面的描述中,将完全理解本文呈现的技术的优点,并且将显而易见的是,可以对本披露的示例性方面的形式、构造和布置进行各种改变而不脱离本披露的范围或并不牺牲掉其所有的有利效果。因为本文呈现的技术可以以多种方式变化,所以应该认识到的是本披露应当仅由以下权利要求的范围来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献