APP下载

机载显示组件库CBB 技术研究

2024-02-03刘书羽

信息记录材料 2024年1期
关键词:库中组件逻辑

于 翔,吴 楠,刘书羽

(航空工业西安航空计算技术研究所 陕西 西安 710068)

0 引言

随着现代航空电子系统的发展,在飞机驾驶舱的布局中,多功能显示器已经取代了传统机械仪表,将所有主飞行信息和飞行员所需的相关显示画面综合显示在显示器中,驾驶员可以通过周边按键或触摸等不同方式来访问与管理信息,大大提高了飞行员的人机功效[1-3]。 但随着应用的广泛化和人机接口设计的复杂化,使得座舱显示系统的开发周期长、移植和维护性差、难以适应外部设备变化等,无法适应新一代航电系统高度综合化和开放性的需求[4]。 由于缺乏行业规范,业内的设计者根据自己的开发方法和流程,系统的接口设计也各不相同,给飞机座舱显示系统的开发和综合带来很大不便,显示系统的通用性,开放性及设计成本的提升问题都亟待解决。 规范化定义座舱显示系统的接口要求,提高系统通用性、开放性水平,缩短开发周期,便于系统快速更新换代,已成为航电系统发展迫切需要解决的一个问题[5-6]。

本文提出机载显示组件库共用构建模块(common building blocks,CBB)技术,通过将设计开发中常用的可标准化的图形组件、逻辑组件进行归纳,定义不同类型的使用方法与场景,并用可视化工具进行图形界面与逻辑结构设计,不断生成可定制化的组件模块。 将组件进行拆解、归纳、重组,基于可被复用的目的,以标准化模块输出为规范化的组件,通过多维度组合来构建项目,根据项目积累不断形成组件库。 在新项目研发时,可从组件库中导出相同模块直接复用或简单修改使用后,根据使用场景来快速搭建座舱显示软件界面,减少重复开发,增加软件产品复用,从而提高软件产品研发速度与质量。

1 机载显示组件的定义

计算机系统中通常将组件定义为具有相对独立功能、指定接口规范、可独立部署、可组装的软件实体。 组件应用的核心是对程序代码的不断重复使用,其功能相对单一或者独立,可由第三方组装。 机载显示组件借鉴通用组件的特点。 将显示组件定义为可被直接使用或做简单升级使用的能独立指示某一项或多项参数的模块化软件代码[7],可用于机载显示软件开发和用户界面构建中。 机载显示系统的用户界面是由图形界面与逻辑操作共同组成,用于完成飞机信息显示与导航驾驶操作[8]。 而且不同用途或型号的飞机显示系统其主要的显示画面都具有一定的相似性和通用性。 因此,将机载显示组件划分为图形组件和逻辑组件两大类,如图1 所示。

图1 显示组件划分

图形组件包括常用的飞机仪表、常用标识图形、常用标识符号、通用类图形、汉字字体库组件。 其中飞机仪表组件包括地平仪、高度表、罗盘、空速表、油量表,以及其他参数表等;常用标识图形组件包括航路点、航线、提示标志、告警标识等;常用标识符号组件包括飞机符、地理信息符、指示符等;通用类图形组件包括按钮、菜单、选项框、进度条等。

逻辑组件包括基本逻辑运算、基本四则运算、状态机转换、图形逻辑运算组件。 其中基本逻辑运算组件包括与、或、非、异或等运算;基本四则运算组件包括加、减、乘、除等运算;状态机转换组件包括状态、事件和转换等;图形逻辑运算组件包括图形旋转、移动、缩放等。

2 显示组件库的构建

组件库构建过程是将可共享的技术、功能模块按照一定的层级结构进行统一管理,这样能最大程度地缩短软件产品的开发周期,降低软件开发过程风险和成本。 由大量可复用的显示组件构成的库称为显示组件库。 显示组件是具有一定规范的标准接口所封装的图形或逻辑代码,即CBB 模块。 显示组件库是多个CBB 模块集合,而且已经过提炼、测试与验证。 经过软件产品研发及迭代更新,以及CBB 模块不断地沉淀与积累,逐步完善和扩展组件库。在组件库构建的过程中还需要规划未来使用场景。 通过技术路线规划与软件架构设计,在软件开发阶段逐步开发CBB 组件。 最后经过测试验证形成成熟的CBB 产品。

组件库CBB 技术的应用,能够将大型、复杂的应用场景分割成小的模块,从而实现不同模块的独立开发、维护与升级。 单个组件无法独立使用,必须将多个组件进行组合搭建应用系统,才能实现完整的应用功能。 各组件还可以进行任意组合和拆分,将用户界面开发化繁为简,并为用户提供可定制化服务。 组件库是由若干组件按照指定结构共同组成的、可构建完整软件功能的组件集合,组件之间可以是包含或并列关系。

显示组件库中包括图形库与逻辑库。 图形库中的组件定义了符号库、字体库、图片库、显示风格以及窗体部件。 用户可以通过修改上述定义和显示风格满足自身个性化的要求。 逻辑库中的组件主要包括逻辑控制、逻辑操作、界面切换等控制模块。 在此基础上,显示组件库增加适配库,使组件可以适应不同的软硬件平台。 适配库中的组件主要包括操作系统适配组件和显卡适配组件,可以提高图形组件与逻辑组件的可移植性与可适用性。 开发人员可以根据显示需求修改组件库中的模块,或通过已有组件的改造重新开发新模块。 为满足不同用户界面的显示需求,可将通用型组件的颜色、状态等常用参数进行配置,并将其定义为可配置的接口,使组件具有更强的适应性、通用性和可复用性。

3 显示组件库的管理

机制显示软件是用可视化工具来进行图形界面与逻辑结构设计与开发,并不断生成大量、可复用的组件。 本文提出使用工具对海量组件进行管理,构建了便于检索、操作和维护的组件库管理系统,对机载显示组件实现统一、高效的管理。 显示组件库管理工具是计算机端应用软件,以简单、易操作的原则进行界面设计,符合传统桌面的用户使用习惯和风格。 组件库管理工具主要包括用户管理、组件管理、组件检索、反馈信息管理和系统信息维护功能。 其中组件管理和组件检索是管理工具的核心功能,主要完成组件查询、使用与更新,组件库管理工具的功能如图2 所示。

图2 组件管理功能划分

用户管理主要分配不同的使用者,包括一般用户和管理员两类用户,一般用户只可修改自己的信息,管理员可对用户信息进行添加、修改和删除操作。

组件管理主要对组件库中的组件进行操作,用户可以对自己所开发或管理的组件进行入库、出库、组装、修改和删除等操作,主要完成对组件的更新和维护工作。

组件检索主要方便用户浏览和下载组件,用户可通过关键词或其他信息进行相关组件的检索,快速获取项目所需的组件,进行出库与下载后,即可使用组件进行开发。

反馈信息管理主要是用户在使用过程中对软件操作存在的问题或组件管理中出现问题提出反馈修改意见,根据反馈意见进行软件的后续迭代与升级。

系统信息维护主要是对当前软件版本状态等信息进行更新和维护,便于开发者进行升级和维护操作。

在后续的组件库开发中,组件库所管理的内容将进一步深化和丰富,将组件相关设计说明和测试验证也纳入组件库的范围内,进一步提升组件库的实用性与可靠性。

4 显示组件库的应用

4.1 CBB 的软件开发

鉴于机载软硬件环境支撑,突破传统的软件开发模式,在机载显示软件开发过程中采用CBB 技术,以组件化思想来指导软件开发,通过组件的不断积累、扩展与共享,达到通用性、同步性与共同建设的目的。 以模块化的界面组织方式,来灵活搭建显示系统,使得系统更容易扩展,同时共享相关开发技术与方法;CBB 技术具有组件化、搭建式、可视化、可灵活拆卸、松耦合等优点。

机载显示组件库CBB 技术的开发流程如图3 所示,该图体现了组件库的开发应用和升级维护的全过程。 开发人员在需求分析与系统设计完成后,可明确用户界面的功能需求,根据需求在CBB 组件库中进行检索,尽量复用已有的组件。 显示组件库中的组件已经过软件的设计、开发与测试各阶段的验证,并通过多轮迭代更新。 因此,在新显示软件研制过程中使用已有组件可在软件各个开发阶段减轻工作量,从而提高软件研发的速度和质量。

图3 显示组件开发流程

在应用显示组件库CBB 技术进行软件开发时:首先,根据驾驶员操作程序中的各种飞行工作状态模式,以及规定驾驶员的操作控制、显示画面和告警信息等来确定和捕获需求,将各界面的功能模块进行分析;其次,进行软件系统概要设计与详细设计,在此阶段对各界面的功能模块进行划分与分类;再次,是组件库的应用,根据具体的功能模块的划分及需求,先在组件库中进行检索,如有匹配或相似的组件可直接拿来进行复用,如不存在相关组件则需要新组件的定制开发;最后,将获取的组件进行组装,来快速搭建用户界面,从而完成整个显示界面及功能的开发。 在系统开发完成后,需要进行软件的测试、部署、运行,以及后续的升级与维护;通过所有开发流程后,将测试验证过的组件进行入库操作,至此完成组件的迭代更新,并扩展组件库中的CBB 模块。

4.2 CBB 的仿真验证

CBB 的仿真验证方法包括自动代码生成、设计阶段验证及仿真验证等功能,是一种解决复杂嵌入式系统的可视化方法。 采用图形化工具使开发人员能便捷地进行修改,通过仿真验证来测试软件功能是否满足需求,减少代码调试与测试工作;而且经过验证的组件可直接进行复用,减少对常用功能的重复开发工作,自动生成代码可消除手写代码的错误,提高软件产品的质量。

CBB 的软件开发采用了快速应用开发模型。 它在每个阶段都明确定义了输入输出的标准,测试从软件开发的早期开始,避免了错误的向下流动,使早期发现的错误成为可能;将测试贯穿整个软件的开发阶段。 采用可视化工具与CBB 模型的开发仿真验证技术,让软件开发人员在机载硬件平台研制完成之前,提前对显示应用软件进行开发调试,大幅缩短软件测试验证时间。 仿真验证技术的应用方便、安全、无损耗,提高软件开发效率,降低成本。

5 结语

本文研究机载显示软件组件化方法,由CBB 技术制定显示组件接口规范,形成标准的机载显示软件组件库,结合项目需求构建组件库管理工具,并在多机型上得到应用验证。 基于CBB 的机载显示软件开发技术,可为不同用途、不同机型的显示系统开发,提供通用的基础图形图像处理与显示服务。 显示组件库CBB 技术的应用,增加软件产品复用性,缩短软件的开发时间,提高软件研发质量,降低软件开发与维护成本。 该技术可推广到其他机载、车载及舰载显示类软件研发中。

猜你喜欢

库中组件逻辑
刑事印证证明准确达成的逻辑反思
动物城堡
动物城堡
无人机智能巡检在光伏电站组件诊断中的应用
逻辑
创新的逻辑
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
女人买买买的神逻辑
智能盘库在自动化立体库中的探索和应用