Last updated
Year started2001
Latest version7
April 2019
Organization AEEC - Engineering Standards for Aircraft Systems
Domain Avionics
Website ARINC CDS website

ARINC 661 is a standard which aims to normalize the definition of a Cockpit Display System (CDS), and the communication between the CDS and User Applications (UA) which manage aircraft avionics functions. The GUI definition is completely defined in binary Definition Files (DF). [1]


The CDS software is constituted of a kernel which is able to create the GUI hierarchy specified in the DF during initialization, thus not needing to be recompiled if the GUI definition changes.

History and adoption in industry

The first version of the standard was adopted in 2001. Its first use was for Airbus A380 CDS development. The first supplement was adopted in 2003, and added new widgets. The second supplement was adopted in June 2005, and added supplementary widgets. Third supplement has been adopted in 2007. [2] Supplement 4 was adopted in 2010.

The standard is known today to be used for Airbus A380 and A400M CDS development, [3] [4] and also Boeing 787 CDS development. [5] AgustaWestland company use ARINC 661 for the development of a new Touchscreen unit in the upgraded Merlin helicopter for the Royal Navy. [6] [7] [8] [9] In March 2011, Embraer announced that it selected SCADE Solutions for ARINC 661, a COTS (Commercial Off The Shelf) tool for ARINC 661 development, for its future developments. [10]

An ARINC 661 Part 2 is currently in development, allowing to define custom widgets. It should be released in 2020. [11]

Supplement history

SupplementRelease DateHighlights
Initial version2001First use for Airbus A380 development
12003New widgets, vertical maps
2June 2005New widgets
32007New widgets
42010New widgets
52013New widgets, widgets extensions, Look specification, User Application to Cockpit Display System interface specification
62016New widgets, animations, Multitouch management widgets
72019New widgets, new widgets extensions, alternate XML format allowing to separate the XML files specifying Definition File from the files specifying the Layers

Technical overview

The standard normalizes :

In order to be compliant with the standard, a CDS must have a kernel that can create the widgets tree during CDS initialization, using the Definition File, and communicate with UA in both ways using the runtime protocol.

ARINC 661 does not imply the use of a particular Data bus structure to perform the low-level communication between CDS and UA. For example, an ARINC 429 or Ethernet protocol such as ARINC 664 can be used, but it is not mandatory.

GUI Structure

ARINC 661 structure.png
ARINC 661 structure

GUI definition

Each DF binary file specifies the GUI definition for one User Application (UA) User interface. Several UA user interface trees can be combined to constitute the CDS display definition.

A DF is composed of two parts : an optional symbol definition, and a widgets definition. The widget library is similar to Widgets used in computing. There are Containers, Lists, ScrollPanes, Buttons, Menus, Labels, EditBoxes, etc...

Although the DF File is binary, the standard has also defined an associated XML definition, which is easier to manipulate in tools.

Relationship with other UI languages

The concepts used by ARINC 661 are close to those used in User interface markup languages, except that the UI language is binary and not XML based. [12]

Main similarities from other User interface markup languages:

Main differences from other User interface markup languages :


The following example presents the XML Definition File for a Layer containing a panel enclosing a label, which shows the text "Hello World!". Note that contrary to most widget toolkits, ARINC 661 widgets origins are relative to the lower left-hand corner of their parent container, and screen units are not in pixel but in 1/100 of millimeters.

<?xml version="1.0"?><!DOCTYPE a661_df SYSTEM "a661.dtd"><a661_dflibrary_version="0"supp_version="2"><model><propname="ApplicationId"value="1"/></model><a661_layer><model><propname="LayerId"value="5"/><propname="ContextNumber"value="23"/><propname="Height"value="10000"/><propname="Width"value="10000"/></model><a661_widgetname="SamplePanel"type="A661_PANEL"><model><propname="WidgetIdent"value="1"/><propname="Enable"value="A661_TRUE"/><propname="Visible"value="A661_TRUE"/><propname="PosX"value="0"/><propname="PosY"value="0"/><propname="SizeX"value="10000"/><propname="SizeY"value="10000"/><propname="StyleSet"value="STYLESET_DEFAULT"/></model><a661_widgetname="Hello World Label"type="A661_LABEL"><model><propname="WidgetIdent"value="2"/><propname="Anonymous"value="A661_FALSE"/><propname="Visible"value="A661_TRUE"/><propname="PosX"value="5000"/><propname="PosY"value="5000"/><propname="SizeX"value="1500"/><propname="SizeY"value="1000"/><propname="RotationAngle"value="0.0"/><propname="StyleSet"value="0"/><propname="MaxStringLength"value="20"/><propname="MotionAllowed"value="A661_TRUE"/><propname="Font"value="T4"/><propname="ColorIndex"value="black"/><propname="Alignment"value="A661_CENTER"/><propname="LabelString"value="Hello World!"/></model></a661_widget></a661_widget></a661_layer></a661_df>

Development and tools support

ARINC 661 GUI development includes tools for the specification of definition files and the kernel that use these files:

COTS specification tools for DF specification currently include PRESAGIS VAPS XT 661 Toolkit, SCADE Solutions for ARINC 661 Compliant Systems, and DiSTI's GL Studio ARINC 661 Toolkit.

Esterel Technologies announced on October 13, 2010, the availability of SCADE Solutions for ARINC 661 in 2011. [13] SCADE Solutions for ARINC 661 allow creating both ARINC 661-compliant CDS and UA. For CDS developers, the toolchain features a complete customizable ARINC 661 compliant model-based widgets library and the automated generation of a portable ARINC 661 server, compliant with the DO-178B/DO-178C safety objectives up to level A. For UA developers, the toolchain features the model-based design and generation of DFs and the automatic generation of communication code between SCADE Suite UA models and the ARINC 661 Server.

The GL Studio ARINC 661 Toolkit is a plug-in to GL Studio HMI Toolkit that delivers a set of pre-existing customizable widgets, a DF Generator, CDS, Communication Libraries, and a User Application Generator.

PRESAGIS [14] introduced the first COTS ARINC 661 development tool which allows creation of Widgets, Layers, DF Generation and embeddable real-time COTS CDS kernel with DO-178B/C certification artifacts. [15] [16] Because of the burden of Avionics software certification, the kernel must be embedded in a DO-178-compliant environment.

Flexible Software Solutions introduced COTS developing, testing and analysis tools for ARINC 661 protocol at the beginning of 2012. [17] The UA Accelerator software tool is used to develop ARINC 661 user applications while the UA Emulator software tool is used to test and debug UA and CDS ARINC 661 messaging. This technology and related products has since been acquired by PRESAGIS [18]

See also

Related Research Articles

Windowing system software that manages separately different parts of display screens

In computing, a windowing system is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements used to construct the graphical user interface (GUI) of programs.

wxWidgets widget toolkit for creating graphical user interfaces

wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.

Standard Widget Toolkit graphical widget toolkit for use with the Java platform

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

Graphical widget Element of interaction in a graphical user interface

A graphical widget in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application. User interface libraries such as Windows Presentation Foundation, GTK, and Cocoa, contain a collection of controls and the logic to render these.

The FOX toolkit is an open-source, cross-platform widget toolkit, i.e. a library of basic elements for building a graphical user interface (GUI). FOX stands for Free Objects for X.

Aeronautical Radio, Incorporated (ARINC), established in 1929, was a major provider of transport communications and systems engineering solutions for eight industries: aviation, airports, defense, government, healthcare, networks, security, and transportation. ARINC had installed computer data networks in police cars and railroad cars and also maintains the standards for line-replaceable units.

Graphical user interface builder

A graphical user interface builder, also known as GUI designer, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in source-code, with no visual feedback until the program is run.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.


JFace is defined by the Eclipse project as "a UI toolkit that provides helper classes for developing UI features that can be tedious to implement." The Standard Widget Toolkit (SWT) is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented.


qooxdoo is an open-source Ajax web application framework. It is an LGPL- and/or EPL-licensed client-side and server-agnostic solution, and includes support for professional JavaScript development, a graphical user interface (GUI) toolkit and high-level client-server communication.

The Cockpit display systems provides the visible portion of the Human Machine Interface (HMI) by which aircrew manage the modern Glass cockpit and thus interface with the aircraft avionics.

CEGUI graphical user interface software library for the C++ programming language

Crazy Eddie's GUI (CEGUI) is a graphical user interface (GUI) library for the programming language C++. It was designed for the needs of video games, but is usable for non-game tasks, such as applications and tools. It is designed for user flexibility in look-and-feel, and to be adaptable to the user's choice in tools and operating systems.


fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. fpGUI is open source and free software, licensed under a Modified LGPL license. The toolkit has been implemented using the Free Pascal compiler, meaning it is written in the Object Pascal language.

A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

Abstract Window Toolkit standard Java library for graphical user interfaces, succeeded by Swing

The Abstract Window Toolkit (AWT) is Java's original platform-dependent windowing, graphics, and user-interface widget toolkit, preceding Swing. The AWT is part of the Java Foundation Classes (JFC) — the standard API for providing a graphical user interface (GUI) for a Java program. AWT is also the GUI toolkit for a number of Java ME profiles. For example, Connected Device Configuration profiles require Java runtimes on mobile telephones to support the Abstract Window Toolkit.

Fyne (software) Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.


  1. Eden, Paul (August 2017). "Glass Screens & Widgets Unseen". Retrieved 2018-09-10.
  2. "Cockpit Display Systems (CDS) Subcommittee". AEEC. 2007-06-14. Archived from the original on 11 June 2007. Retrieved 2007-06-16.
  3. Adams, Charlotte (2003-03-01). "A380 Innovations: A Balancing Act". Archived from the original on 30 June 2007. Retrieved 2007-06-16.
  4. Adams, Charlotte (2003-07-01). "Airbus A400M". Retrieved 2007-06-16.
  5. Jensen, David (2005-11-01). "B787 Cockpit: Boeing's Bold Move". Retrieved 2007-06-16.
  6. "AgustaWestland Selects Presagis's Next-Generation VAPS XT 661 Tool to Fly Aboard Its Aircraft". 2006-06-10. Retrieved 2009-07-25.
  7. "Barco wins major contract under Royal Navy Merlin upgrade program". Barco NV. 2007-06-18. Archived from the original on 2008-02-21. Retrieved 2009-01-03.
  8. "AgustaWestland Accelerates Merlin HMI TouchScreen display software development with COTS ARINC 661 prototyping tools". 2009-06-01. Retrieved 2010-07-25.
  9. "Helicopter HMIs: Managing risk with automatic code generation, standards, and simulation". September 2008. Retrieved 2010-07-25.
  10. "Embraer selects SCADE Solutions for ARINC 661 from Esterel for cockpit display development". 2011-03-17. Archived from the original on 2013-01-28. Retrieved 2011-05-06.
  11. Bellamy III, Woodrow (2018-07-14). "GE to Demo Open Architecture Plans at Farnborough". Retrieved 2018-09-10. Additionally, the software architecture on the system features ARINC 661 part 2, which allows customization of cockpit display widgets.
  12. The standard also specifies an XML format for the UI language, but it is mainly used to ease DF production by specification tools. The kernel is initialized with the binary version of DFs
  13. "Esterel Technologies Introduces SCADE ARINC 661 Solutions for Interactive Cockpit Displays Development". Esterel Technologies. 2010-10-13. Archived from the original on 21 November 2010. Retrieved 2010-11-07.
  14. "Understanding ARINC 661 and the benefits of 661-based development tools" (PDF). Presagis. Archived from the original (PDF) on 2015-09-24. Retrieved 2010-11-07.