A661认证

系列索引:VAPS XT入门系列索引

本文翻译自维基百科。

随着飞机性能的提升,各类新型传感器的不断引入,座舱显控系统所需要显示和控制的内容越来越多。为了推动机载座舱显控系统向通用化方向发展,美国ARINC公司提出了ARINC 661标准,即"座舱显控系统与用户系统接口"标准。

ARINC 661是一个标准,旨在规范驾驶舱显示系统 (CDS) 的定义,以及CDS和管理飞机航空电子功能的用户应用程序 (UA) 之间的通信GUI定义完全在二进制定义文件(DF)中定义CDS 软件由一个内核构成,该内核能够在初始化期间创建在 DF 中指定的GUI层次结构,因此如果GUI定义发生变化 ,则无需重新编译。

历史和工业应用

该标准的第一个版本于 2001 年通过。它的第一个用途是用于空客 A380 CDS 的开发。2003 年采用了第一个补充,并添加了新的小部件。2005 年 6 月通过了第二次补充,增加了补充小部件。第三次补编已于2007年通过。补编4于2010年通过。

该标准今天被用于空客 A380 和A400M CDS 开发,以及波音 787 CDS 开发。AgustaWestland公司使用 ARINC 661 为皇家海军升级的Merlin直升机开发新的触摸屏单元。2011 年 3 月,巴西航空工业公司宣布选择 SCADE Solutions for ARINC 661,一种用于 ARINC 661 开发的 COTS(现成商用)工具,用于其未来的开发。

ARINC 661 Part 2 目前正在开发中,允许指定小部件的外观。它应该在 2020 年发布。

补充历史

补充发布日期强调
初始版本2001年首次用于空客 A380开发
12003年新的小部件,垂直地图
22005 年 6 月新小部件
32007年新小部件
42010新小部件
52013新的小部件、小部件扩展、外观规范、用户应用程序到驾驶舱显示系统接口规范
62016 年新的小部件、动画、多点触控管理小部件
72019新小部件、新小部件扩展、备用 XML 格式允许将指定定义文件的 XML 文件与指定层的文件分开
820203D 地图的新小部件、新的小部件扩展、元数据的第一个版本(标准内容的机器可读描述)、第 2 部分的第一个版本:用户界面标记语言

技术概述

标准规范化:

  • CDS界面的GUI定义,在一个名为DF(Definition File)的二进制文件中定义了图形界面树的结构。GUI树在初始化时(在标准中称为定义阶段)在 CDS 中使用包含在 DF 中的定义进行实例化。
  • 用户应用程序 (UA) 和 CDS 之间的运行时通信。此通信协议通常用于 UA 将小部件修改发送到 CDS,并将用户事件(例如按钮选择)从 CDS 返回到 UA。

为了符合标准,CDS 必须有一个内核,该内核可以在 CDS 初始化期间使用定义文件创建小部件树,并使用运行时协议以两种方式与 UA 通信。

ARINC 661 并不暗示使用特定的数据总线结构来执行 CDS 和 UA 之间的低级通信。例如,可以使用ARINC 429或以太网协议(如ARINC 664),但这不是强制性的。

GUI 结构

  • Cockpit Display System ( CDS ) 是负责显示和管理 GUI 的图形服务器
  • 用户应用程序 ( UA ) 是一种与 CDS 通信的系统应用程序。CDS 为每个用户应用程序管理一个或多个定义文件。在运行时,消息在 UA 和 CDS 之间交换。
  • 定义文件 ( DF ) 指定与一个用户应用程序相关联的 GUI 定义(请注意,一个用户应用程序可能与多个 DF 相关联)。定义文件包含一个或多个层的定义
  • 层(也称为 用户应用层定义或UALD )是小部件的 GUI容器
  • 小部件是 GUI 的基本构建块

GUI 定义

每个 DF 二进制文件指定一个用户应用程序 (UA) 用户界面的 GUI 定义。多个 UA 用户界面树可以组合起来构成 CDS 显示定义。

DF 由两部分组成:可选的符号定义和小部件定义。小部件库类似于计算中使用的小部件。有Containers、Lists、 ScrollPanes 、Buttons、Menus、Labels、EditBoxes等…

虽然 DF 文件是二进制文件,但该标准还定义了关联的 XML 定义,在工具中更易于操作。

与其他 UI 语言的关系

ARINC 661 使用的概念与用户界面标记语言中使用的概念很接近,除了 UI 语言是二进制的而不是基于XML的。

与其他用户界面标记语言的主要相似之处:

  • 接口定义在 CDS 中没有硬编码。相反,CDS 使用内核在初始化时实例化小部件树,使用预定义的小部件库
  • 小部件列表和小部件树的结构类似于常见的小部件工具包中的内容
  • 外观与界面的定义是分开的

与其他用户界面标记语言的主要区别 :

  • 与其他用户界面标记语言相反,标准中定义的小部件库并没有真正利用其对象特性。例如,标准中没有继承的概念,尽管相同的属性可以多次用于多个小部件。
  • 一些小部件工具包或用户界面标记语言能够在容器中自动布置小部件(参见例如XUL中的盒子模型或Java Swing中的布局)。小部件在其容器中的位置和大小必​​须始终在 ARINC 661 定义中准确定义。但是,该标准的补充 3 在小部件之间添加了一种有限的“相对”布局功能(请参阅布局管理器)。
  • 没有机制来定义与 XUL 中使用的 XBL(或 SVG 中使用的 sXBL)等效的元素的表示和交互行为。有些符号可以重复使用,但它们主要是不能具有行为(除了定义它们的位置、旋转和颜色)或特定绑定的形状。
  • 没有CSS的等价物,例如在XUL或SVG中使用它们。相反,界面的外观是硬编码在 ARINC 661 内核中的。但是,补充 5 引入了一种指定小部件外观的方法。
  • 该标准没有SVG和XUL中使用的JavaScript等价物,因此与小部件相关的所有特定行为都必须由 UA 执行。
  • 该标准定义了特定的“地图”小部件,允许在 CDS中显示飞行计划等元素。

示例

以下示例显示了包含一个面板的层的 XML 定义文件,该面板包含一个标签,其中显示文本“Hello World!”。请注意,与大多数小部件工具包相反,ARINC 661小部件的起源是相对于其父容器的左下角,屏幕单位不是像素,而是 1/100 毫米。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0"?> 
<!DOCTYPE a661_df SYSTEM "a661.dtd">
<a661_df library_version= "0" supp_version= "2" >
<model>
<prop name= "ApplicationId" value= "1" / >
</model>
<a661_layer>
<model>
<prop name= "LayerId" value= "5" ></img>
<prop name= "ContextNumber" value= "23" ></img>
<prop name= "Height" value= "10000" ></img>
<prop name= "Widget" value= "10000" ></img>
</model>
<a661_widget name= "SamplePanel" type= "A661_PANEL" >
<model>
<prop name= "WidgetIdent" value= "1" ></img>
<prop name= "Enable" value= "A661_TRUE" />
<prop name= "Visible" value= "A661_TRUE" />
<prop name= "PosX" value= "0" ></img>
<prop name= "PosY" value= "0" ></img>
<prop name= "SizeX" value= "10000" ></img>
<prop name= "SizeY" value= "10000" ></img>
<prop name= "StyleSet" value= "STYLESET_DEFAULT" />
</model>
<a661_widget name= "Hello World Label" type= "A661_LABEL" >
<model>
<prop name= "WidgetIdent" value= "2" ></img>
<prop name= "Anonymous" value= "A661_FALSE" />
<prop name= "Visible" value= "A661_TRUE" />
<prop name= "PosX" value= "5000" />
<prop name= "PosY" value= "5000" />
<prop name= "SizeX" value= "1500" />
<prop name= "SizeY" value= "1000" />
<prop name= "RotationAngle" value = "0.0" />
<prop name = "StyleSet" value = "0" />
<prop name = "MaxStringLength" value = "20" />
<prop name = "MotionAllowed" value= "A661_TRUE" />
<prop name= "Font" value= "T4" />
<prop name= "ColorIndex" value= "black" />
<prop name= "Alignment" value= "A661_CENTER" />
<prop name= "LabelString" value= "Hello World!" />
</model>
</a661_widget>
</a661_widget>
</a661_layer>
</a661_df>

开发和工具支持

ARINC 661 GUI开发包括用于规范定义文件和使用这些文件的内核的工具:

  • 由于 ARINC 661 概念,规范工具不依赖于执行平台,
  • 内核本身依赖于执行平台。

用于 DF 规范的COTS规范工具目前包括 PRESAGIS VAPS XT 661 Toolkit、SCADE Solutions for ARINC 661 Compliant Systems 和 DiSTI 的 GL Studio ARINC 661 Toolkit。

Esterel Technologies于 2010 年 10 月 13 日宣布,2011 年推出适用于 ARINC 661 的 SCADE 解决方案。适用于 ARINC 661 的 SCADE 解决方案允许创建符合 ARINC 661 的 CDS 和 UA。对于 CDS 开发人员,该工具链具有完整的可定制 ARINC 661 兼容基于模型的小部件库和便携式 ARINC 661 服务器的自动生成,符合DO-178B / DO-178C安全目标,最高 A 级。对于 UA 开发人员,该工具链具有基于模型的设计和 DF 生成以及 SCADE Suite UA 模型和 ARINC 661 服务器之间通信代码的自动生成。

GL Studio ARINC 661 Toolkit是 GL Studio HMI Toolkit的一个插件,它提供了一组预先存在的可定制小部件、一个 DF 生成器、CDS、通信库和一个用户应用程序生成器。

PRESAGIS介绍了第一个COTS ARINC 661 开发工具,它允许创建小部件、层、DF 生成和具有 DO-178B/C 认证工件的嵌入式实时 COTS CDS 内核。由于航空电子软件认证的负担,内核必须嵌入到符合 DO-178 的环境中。

Flexible Software Solutions于 2012 年初推出了针对 ARINC 661 协议的 COTS 开发、测试和分析工具。UA Accelerator软件工具用于开发 ARINC 661 用户应用程序,而UA Emulator软件工具用于测试和调试 UA和 CDS ARINC 661 消息传递。该技术和相关产品已被PRASAGIS收购


A661认证
https://blog.jackeylea.com/vapsxt/introduction-of-a661/
作者
JackeyLea
发布于
2022年10月13日
许可协议