Loading... # 架构 FACE将一些基于软件的功能“分段”以组件形式开发。该组件通过定义好的接口向其他组件开放,并且对特定关键接口及“分段”接口之间的差异进行了定义。下图描述了一种FACE的参考架构。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/4048165384.png) # FACE功能段 * 操作系统段(OSS) OSS提供对分区、进程、线程及内存管理等功能性支持,所有FACE功能段都是在操作系统段的基础上搭建的,它是所有功能段的底层,OSS使用适当的处理器控制机制来管理控制其他分段访问的计算平台资源、运行时间和框架接口。操作系统段内的软件代码由供应商提供。 * I/O 服务段(IOSS) IOSS包括FACE定义的基于消息的I/O服务接口,其目的是为平台特定服务段访问航电I/O硬件提供一种标准化机制 * 平台特定服务段(PSSS) 平台特定服务段建立了一种航空器平台独有的基础设施,它为位于PCS的组件提供设备数据。PSSS的组件在共享相应平台设备的多个平台之间是可移植和可重用的。PSSS可分为三个子段: * 平台特定设备服务(PSDS) 提供对硬件设备进行控制、读写数据的服务。 * 平台特定通用服务(PSCS) 由更高级别的服务组成,包括日志服务,设备协议中介(DPM)服务,流媒体,健康监控和故障管理(HMFM)以及配置服务。 * 平台特定图形服务(PSGS) PSGS为可移植组件段中的某些特殊应用提供一些“扩展”的服务。在某些应用场景中,例如某些图形服务,可能会存在绕过IOSS直接与驱动程序交互,甚至绕过TSS直接与驱动程序交互的需求。 * 传输服务段(TSS) TSS提供一个标准化的、透明的接口,促进软件组件经济地集成到不同的架构和平台中。TSS为PCS和PSSS中的软件组件提供一种标准化接口机制。TSS处理了软件组件信息的分发、路由、优先级排序、寻址、关联、抽象、以及转换等。 * 可移植组件段(PCS) PCS由提供功能和/或业务逻辑的软件组件组成。PCS组件旨在保持硬件和传感器独立。此外,这些组件不受限于任何数据传输或操作系统实现,以达到可移植性和互操作性的目标。 # FACE标准接口 * OSS接口 操作系统段接口为软件提供了一种使用操作系统内的服务和与OSS相关的其他功能的标准化手段。 OSS接口由OSS UoC提供给其他网段的UoCs。 该接口包括ARINC 653,POSIX和HMFM的API。 OSS接口包括一个或多个以下网络功能:编程语言运行时间,组件框架,生命周期管理和配置服务接口。 * IOS接口 IOS接口为软件组件提供了与设备驱动程序通信的标准化手段。 该接口支持几种常见的I / O总线体系结构。 * TS接口 传输服务接口为软件提供了使用TSS提供的通信服务的标准方法。 类型特定(TS)接口由TSS内的软件组件提供给PSSS和PCS内的软件组件。 FACE数据架构管理通过TS接口传输的数据。 * 面向组件的支持接口 面向组件的支持接口(Component-Oriented Support Interfaces)包括可注入接口和生命周期管理服务接口。 这些接口是FACE标准化接口,针对组件支持的横切关注点,因此在FACE参考架构中没有描述。 * 可注入接口 可注入接口(Injectable Interface)为集成软件提供了一种标准化的方法来解决软件组件之间固有的使用/提供接口依赖关系问题。 为了让软件组件使用一个接口,它必须与至少一个提供该接口的软件组件集成在同一个地址空间中。 可注入接口实现了软件开发的依赖注入模式。 * 生命周期管理服务接口 生命周期管理(LCM)服务接口为软件组件提供了一种标准化方法,以支持与组件框架一致的行为:初始化,配置,框架启动/拆卸和运行状态转换。 LCM服务接口由任何FACE参考架构功能段中的软件组件可选地提供,并且任选地由系统集成实现使用或由任何FACE参考架构功能段中的软件组件使用。 # FACE数据模型架构(2.0) FACE数据模型的目的是在FACE组件之间提供可互操作的数据交换手段。 为了实现这个目的,数据模型定义了用于创建在可移植性单元(UoP)之间交换的消息的数据类型。 除了强类型外,还定义了正式单位(formal units)和单位转换,以便TSS可以在必要时对数据进行转换。 这消除了UoP执行数据转换的需要,因此降低了为支持不同继承方式而修改UoP的可能性。 数据模型构建的基础在于建模关注点的分离,分别从概念上、逻辑上和平台细节上对某个实现所需的所有可移植单元(UoP)之间的数据交换进行建模。这三个抽象的层次分别被称为概念数据模型(CDM)、逻辑数据模型额(LDM)、平台数据模型(PDM)。其中,CDM和LDM是平台无关的(Platform-Independent Model,PIM),PSM是平台相关的(Platform-Specific Model,PSM)。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/3791955111.png) ## 概念数据模型(CDM) 领域概念在CDM中表示为实体或基本元素,而基本元素又可以分为可观测量和信息元素。其中,可观测量是可以通过测量物理世界来量化的东西,例如温度、压力等。信息元素通常不是通过测量物理世界来量化的,而是具有描述性的,例如名字、唯一ID、加密算法等。 下图展示了一些可观测量和信息元素的例子。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/2510135855.png) 实体是通过基本元素和其他实体构建的非基础概念。 下图是3个实体的示例,分别为飞行器、推进系统和货物。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/275768533.png) 关联是一种特殊的实体,用来表征两个或多个实体之间关系。 下图是航电领域中关联的一个示例,通过CargoCollection将航空器实体与货物实体相关联。CargoCollection定义了货物与航空器相关联的机制。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/1808338308.png) 视图是从一个或多个实体中选择的一组特征。 视图保留所选特征的上下文(即实体)。 例如,一个视图可能包含一个航空器的位置。位置特性是从航空器实体中选择的,保留了航空器的位置(而不是地面车辆的位置)的上下文。特征选择机制提供了从实体的组合和关联层次结构中选择任意深度的特征的能力。 例如,下图的AVStatus视图就是从AirVehicle实体中选择了location和altitude特征、以及AirVehicle关联的PropulsionSystem实体的Temperature特征(体现了任意深度)。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/1758456265.png) 实际上,通过TSS在UoP之间传递的数据正是视图(View)。 ## 逻辑数据模型(LDM) LDM中的元素通过细化CDM元素而创建的,由此产生的LDM元素是CDM元素的一个实现。单个CDM元素可以由多个LDM元素来实现以支持各种逻辑处理模型。LDM与CDM相比,处于较低的抽象层次,因为它提供了更多的细节。它联系了CDM和PDM。 LDM的基本要素细化自CDM的基本要素(可观测量和信息元素)。LDM的基本元素可以分为度量和信息元素。度量是一个或多个数量,表示在定义的参照系中的可观察值。每个值都记录为具有指定精度、值域、单位的比率。LDM的信息元素是可以在特定值域中记录的CDM信息元素的实现。下图是LDM基本元素的一些示例。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/1966499257.png) LDM实体是LDM中的非基本元素,它们是CDM实体的实现。LDM实体的组合层次结构反映了它实现的CDM实体的组合层次结构。 LDM实体组成层级中的LDM基本要素是其实现的CDM实体中CDM基本要素的实现。 下图展示了一个具有位置和唯一ID的概念飞行器,及其被实现的具有经度和纬度位置以及唯一标识符的逻辑飞行器。根据不同的参照系,位置有多种表示方式,因此可以实现另一个逻辑飞行器,其位置元素用笛卡尔坐标系的X、Y、Z定义。这两种方式都可以用来表示逻辑飞行器实体的位置。类似地,唯一ID也可以具有多个逻辑表示,诸如GUID或经过编码的唯一字符串。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/338678777.png) LDM支持数据转换,可以定义单位或参考系之间的转换,其支持的两种转换关系为: * 仿射转换,可用于大多数单位转换,如英尺和米的转换。 * 描述性转换,相当于为用户建模提供信息,从而在TSS中手动进行转换。 视图是LDM的非基本元素,是CDM视图的实现。下图展示了一个LDM视图AVStatus_LL_AGL_C,其是CDM视图AVStatus的实现。一个选择了飞行器位置的概念视图被实现为从逻辑飞行器中选择纬度和经度位置的逻辑视图。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/767935996.png) ## 平台数据模型(PDM) PDM中的元素通过细化LDM元素而创建的,由此产生的PDM元素是LDM元素的一个实现。单个LDM元素可以由多个PDM元素来实现以支持各种平台表示。 LDM的基础元素在PDM中实现为物理数据类型。PDM支持的物理数据类型直接对应于接口定义语言(Interface Definition Language,IDL)的数据类型:boolean, octet, char, wide char, float, double, long double, fixed point, short, long, long long, unsigned short, unsigned long, unsigned long long, enumeration, string, 以及wide string。 下图展示了PDM基本元素的一些示例。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/2569937914.png) 实体是PDM中的非基础元素,是LDM中实体的实现。 PDM实体的组合层次结构反映了它实现的LDM实体的组合层次结构。 PDM实体的组成层级中的PDM物理数据类型是其实现的LDM实体中的LDM基本元素的实现。 下图展示了一个具有经纬度位置和GUID标示的逻辑飞行器,及其被实现的具有用于表示经度和纬度的两个浮点数以及用于GUID的字符串表示的平台飞行器。 当然,经纬度位置可以有多种表示方法,可以实现另一个平台飞行器用两个双精度浮点数表示的纬度和经度。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/3891142565.png) 视图是PDM中的非基础元素,是LDM中视图的实现。下图展示了一个PDM视图AVStatus_LL_AGL_C_PX,其是LDM视图AVStatus_LL_AGL_C的实现,一个具有选择了飞行器经纬度位置的逻辑视图被实现为从平台飞行器选择经纬度浮点位置的平台视图。 ![](http://blog.lxalxy.com/usr/uploads/2021/03/3266205002.png) © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏