座舱显示控制界面组件化设计方法研究
2022-03-16李颖洁李柏瑞
李颖洁,王 军,李柏瑞
(航空工业第一飞机设计研究院,西安 710000)
0 引言
现代机载显示界面已经从传统的模拟控制发展到全数字化显示控制的信息界面[1],近年来,全触控的大屏幕显示也逐步应用于飞机驾驶舱,屏幕尺寸和控制方式的变化使得飞行员的操作效率大幅提升,随之也带来了界面显示信息量增大、人机交互模式复杂等问题,加剧了显示界面开发的难度。并且随着航电系统的任务需求和功能需求复杂度不断增加,座舱显示系统的设计周期和维护成本大幅增加[2]。
为了解决上述问题,ARINC公司提出了ARINC661[3],定义了座舱显示系统的接口要求,提出将CDS端图形显示与UA端的处理逻辑相隔离的设计方式,为提高座舱显示系统的通用性和开放性水平提供了解决方案,但为了保证其适用范围,一定程度上降低了整体性能。
因而,本文针对机载显示控制界面提出基于功能接口的界面组件设计方法,考虑到显示界面核心业务的稳定性,根据业务需求完成功能接口定义,建立可复用的显示控制组件,以提高显示界面的研发效率。
1 ARINC661规范的应用特点
ARINC661是针对显示控制应用系统研制制定的应用接口规范,该规范定义了用户应用座舱显示系统(User Application Cockpit Display System,UA-CDS)显示控制逻辑框架,将界面控制系统划分为UA和CDS两部分,CDS提供基本的界面生成功能,UA为CDS提供界面生成的数据和用户交互操作的逻辑处理[4]。此外,该规范定义了基本显示界面符号库(Widget Library),提出了标准的Widgets接口规范。CDS供应商开发标准符号库,UA端通过组件控制协议完成界面显示功能的设计及开发,实现界面应用显示与控制的业务分离。该规范是界面应用系统行业较为通用的应用参考标准。
基于ARINC661进行座舱显控系统设计,能够实现画面设计和逻辑设计相互独立,减少界面应用中由于非标准化接口设计引入的升级维护风险,一定程度上降低了界面系统的研制成本。在工程应用中,对于逻辑功能复杂的界面应用系统,UA将承担大量与CDS相关的显示控制业务,UA-CDS的协同开发将面临复杂的控制协议处理,实际上增加了UA的业务复杂度和开发成本。除此之外,UA-CDS的系统性能还依赖以下关键技术的应用水平。
1) Widget Library+Widget Server。Widget Library和Widget Server决定了CDS的功能水平,由于标准仅定义了基本Widget符号,在实际的显示界面开发过程中,还需依据功能需求开展相关Widget的定制化设计。国内虽然已在一些项目上开展了相关的技术研究和开发活动,但在实践中,Widgets设计通常需要庞大的工作量,与之匹配的Widget Server研制也需要开展定制的开发和验证,项目投入人力、物力资源巨大,并且在复杂交互系统的开发中已经面临性能瓶颈难以突破的严峻挑战。
2) 通信协议。ARINC661中通信协议是实现UA-CDS间的交互显示和控制的数据通信规范,如图1所示[5]。以交互类组件的交互过程为例,CDS端交互组件的控制响应完全依赖UA端通信协议的完成,所有交互控制需要建立“识别-控制-响应”回路。虽然发挥了标准交互组件的普适通用特点,但给交互组件的定制化应用开发引入了庞大的参数处理、传输业务。在该交互机制框架下,对交互控制的实时响应性能提升带来了限制和影响。并且UA与CDS异步通信可能造成数据丢失。
图1 Button类Widget交互过程Fig.1 The process of Button Widget interaction
ARINC661给出了一种UA-CDS显示控制架构及应用规范,可降低UA-CDS的功能耦合性和CDS开发成本,促进了CDS的产品化水平。但随着系统界面功能的复杂度增加,UA的显示控制业务也随之增多,导致UA与CDS之间控制数据传输量增大,同时对Server的控制响应性能要求更高。因此,对新型复杂界面系统的开发提出了新的挑战。
2 界面组件化设计方法
结合ARINC661规范中的逻辑与画面设计相分离的设计思想与机载显控软件设计特点,提出贴合工程实践的基于业务划分的界面设计方法,对于UA与CDS的业务进行重新划分:UA端为与业务功能相关的处理逻辑,CDS端为面向用户的显示界面,基于功能接口建立UA业务与CDS显示界面的关联,提供UA所需的界面功能。图2所示为基于功能接口的界面设计开发过程,对显示界面的需求进行分析,划分成独立的功能单元。根据标准化的功能接口,开展CDS端界面组件设计。CDS端的界面设计利用可视化建模工具进行,通过对组件库中组件进行定制(组件的实例化)、组合以及自定义符号的设计,得到座舱显示界面。UA端对接收到的外部系统数据以及界面交互的反馈数据进行处理,输出数据通过功能接口驱动CDS端画面显示,完成CDS端显示界面的动态更新。
图2 开发过程图Fig.2 Development process
在上述方法中,通过业务功能统一UA功能组件和CDS界面组件的接口设计,在满足UA业务功能的前提下,提高CDS界面功能的开放性和定制化水平。UA端关注其核心业务功能的设计,输出与业务功能相关标准化数据接口,进而促进UA业务功能开发的标准化水平。在显控系统的研制过程中,所需的界面显示功能已趋于稳定和成熟(即界面组件功能接口需求已确定),界面系统的设计主要集中在各显示控制功能的组合和界面表现形式的定制化,因此,通过界面组件功能接口的规范化设计,实现了UA业务接口与CDS显示控制接口的功能关联设计,既保证了UA端核心业务的稳定性,也提升了CDS端界面的定制化设计能力(支持具有相同功能接口、多种定制化样式设计的界面组件开发)。UA与CDS端遵循统一的业务功能接口设计规范,能够实现UA和CDS同步独立设计,UA的核心业务更加内聚,CDS端的组件化设计更加灵活、有效和易用。对于未来新型显控系统的开发,能够将所需UA与定制化CDS界面通过业务功能接口快速集成,从而更好地发挥复用UA核心业务带来的成本收益,促进CDS界面组件的设计更好地面向界面定制化、多样化发展的需求。
提出的基于功能接口的界面组件设计方法主要围绕以下两个方面:功能接口设计和界面组件设计。
2.1 功能接口设计
显示界面通常按照信息用途和功能进行区域划分,并根据使用需求对信息进行布局和呈现。显示界面按照功能划分过程如图3所示,组成界面的显示符号可以划分为通用符号类、飞机状态监控类、作战指示类以及交互类,每类符号显示在固定的画面区域。通用符号类提供飞行必要的指示信息,涵盖主要飞行信息显示和导航信息显示;飞机状态监控类提供飞机各系统运行状态、参数信息等显示;作战指示类符号提供攻击、防御相关的指示信息以及态势符号显示;交互类符号提供人机交互功能,采集用户界面输入信息。显示符号均提供可见性以及位置参数接口,用以提供基本的显示布局控制。按照显示界面需求,逐层分解即可获得各界面显示功能需求。
图3 功能划分Fig.3 Functional partitioning
依据界面功能需求,识别正常显示、异常显示、显示逻辑等显示需求,设计并定义相关图形符号的功能接口。对于交互型组件,还要根据交互符号的控制特性和控制事件,设计并定义交互控制接口。由于各型号的界面显示功能需求相对固定,可以针对显示控制接口开展标准化设计,建立统一设计原则和接口定义规范,在该接口规范的支持下,CDS端即可开展具有标准接口功能的界面组件库开发,UA端依据该接口设计要求完成对应接口功能的关联业务开发,两者之间通过接口名称的匹配建立数据接口互联,实现CDS和UA端并行设计和开发,进而能够高效地完成显示控制界面系统的集成。
座舱显示界面为飞行机组提供综合的显示控制信息,显示画面内容复杂,所定义的功能接口繁多,本文仅以指示空速为例表明功能接口的提取过程。指示空速要求速度带组件中具有刻度带和表盘两种显示样式,刻度随着当前速度值的变化上下滚动或者旋转,并叠加预置速度的指针和数字显示,当数据无效时显示琥珀色故障旗,从中提取出功能接口,接口定义如表1所示。
表1 功能接口定义Table 1 Definition of functional interfaces
2.2 界面组件设计
根据组件是否具有人机交互功能,将符号组件分为交互型组件和非交互型组件两种。
2.2.1 交互型组件
交互型组件提供界面操作控制,并根据操作提供相应的交互响应显示,承担了功能切换、命令执行、系统控制等工作,如按钮和菜单。常见的交互操作形式包括光标和触屏。以触屏操作为例,人机交互操作包括触碰屏幕和未触碰屏幕。
通常在显示界面上涉及的交互型组件反馈类型有两种[6],如表2所示。一类是触碰反馈样式,通过增加响应显示样式指示组件反馈操作,如高亮显示;另一类是点击反馈样式,点击操作后改变交互组件显示样式,用于表示组件的控制状态,如按钮“按下”、“弹起”。
表2 反馈类型Table 2 The types of feedback
与ARINC661中由UA通过控制协议完成交互组件反馈显示控制不同,本文方法在交互类组件设计中,将反馈样式设计在组件内部,缩短界面交互的反馈时间,使用户获得操作的即时反馈,在界面设计阶段即可开展界面交互样式的设计,加快了设计效率,从而尽早获得用户对界面交互设计的评估和反馈。
在工程应用中,用户对交互组件操作后,也会引起界面显示变化,用户在CDS端进行操作后,交互组件向UA发送控制指令,并更新组件显示样式,UA通过接收交互组件采集的界面操作指令,完成相关的指令处理,向非交互组件发送显示参数,非交互组件更改显示样式,交互过程如图4所示。
图4 交互过程Fig.4 Interactive process
2.2.2 非交互型组件
非交互型组件是指无交互操作的图形组件,主要以数字、文本和图符设计组合指示飞行参考信息和系统信息。非交互型组件可划分为基本显示符号组件和功能符号组件。基本显示符号是零件级的界面显示符号集合;功能符号组件则是使用基本显示符号组合和集成得到的部件级显示组件,具有特定的界面显示功能,是构建界面系统的主要组成单元。
基本显示符号组件是零件级显示符号,主要包括用于界面显示和指示的基本要素符号,如文本、数值、飞行矢量、飞机符号、指针、表盘、刻度带、航路点、机场、目标点、参考点等。
功能符号组件根据功能符号的显示需求,将相关的零件级符号进行组合和集成,并定义对应的显示功能接口,形成具有独立显示功能的显示功能组件。如速度带(数值+刻度带)、飞行计划(文本+航路点+机场)、罗盘(表盘+指针)等。
根据具体的功能需求,将已定义的功能接口与组件的属性相关联,驱动基本符号完成组件显示,利用条件容器将多种显示样式封装为一个显示组件,并添加样式接口进行显示样式选择,可实现显示符号的多样式组件库设计。
结合项目实际界面需求开展基本符号组件和功能符号组件的设计,通过不同项目的功能组件设计活动,可以得到具有相同功能接口、多种显示样式的功能符号组件,既符合组件接口的规范要求,也促进了多样式功能组件库的建立,为界面功能组件的设计和优化提供了方法和支持。
3 应用建模
显示控制界面组件化设计方法,是将对ARINC661规范研究与项目开发工程实践相结合进行总结整理而提出的,该方法在项目实践中有效指导了界面组件的标准化设计和多样式开发,本文从项目中选取导航页面的罗盘显示用以说明本文方法的应用情况。
罗盘具有3种显示模式:扩展模式、全罗盘模式以及计划模式。其中,扩展罗盘、全罗盘模式在大多数飞行阶段中使用,显示基本的飞行参数和所选的导航源提供的导航参数,计划模式显示编辑好的飞行计划。罗盘上的叠加信息包括TACAN指示、ADF指示、航迹航向指针等,其显示逻辑都是以罗盘圆心为原点,根据输入的指示方位值在罗盘上旋转,箭头指示方位角。组件设计过程如图5所示。
图5 组件设计过程Fig.5 Component design process
复用基本符号元素中的指针元素,按照TACAN指针、ADF指针的具体功能显示要求进行实例化设计,根据功能接口关联相关属性,并将其与罗盘样式相关联,最终完成3种罗盘样式的水平导航显示组件的设计。该组件设计过程充分体现了本文提出的组件设计技术优势,完成了基本符号到功能符号的组装、集成及复用的开发实践。
设计交互按钮实现罗盘显示样式的切换控制,根据3种罗盘组件设计样式选择接口,按钮组件提供的界面操作指令的采集,由相关的控制逻辑完成罗盘样式的选择,并更新按钮对应的外观和反馈样式。仿真结果如图6所示。
图6 仿真结果Fig.6 Simulation results
基于对ARINC661交互控制过程的分析,本例中分别使用ARINC661交互组件技术和本文提出的交互组件技术完成罗盘切换功能的开发,并测量采集了交互响应时间数据,结果如表3所示,其中,运行调度周期为50 ms。
表3 结果对比Table 3 Comparison of results ms
可以看出在基于ARINC661的模式中,由于交互机制上增加了控制确认回路,从控制发出到响应反馈经过了UA和CDS交互确认的2个周期的处理,导致按钮的响应反馈时间增大1倍,页面切换控制在两种交互机制下均执行了完整的UA-CDS处理回路,因此响应时间一致。以上测量结果说明:采用本文提出的交互组件设计技术将有效提升交互组件的控制反馈速度,有助于提高控制界面的操作性能和工效。
4 总结
本文研究分析了ARINC661规范的应用开发特点,该规范作为面向显示界面系统的通用规范具有很强的通用性,适用于资源充足、适航要求高的系统。但规范未定义航空通用显示符号,在具体的使用过程中需要定制化开发,对于复杂的系统,增加了UA端交互控制业务的开发成本,在这个层面上规范的通用性没有得到显著收益。因而,针对ARINC661应用过程中存在的交互组件响应回路复杂以及界面功能符号非标准化设计的问题,提出了基于功能接口的界面组件设计技术。该技术以UA核心业务功能接口为牵引,在CDS端构造多样式功能组件库,规范了UA端和CDS端的设计开发活动,适用于资源紧张、实时性要求高的系统。在新项目研制中,对已有的界面模型组件进行适当修改,即可完成新的界面设计,发挥了界面模型的复用能力,支持界面需求快速建模,高效捕获界面显示控制需求,提升了显示界面的设计及开发效率。