Project Details
Changes Log
Who We Are


    1  History and Adoption In Industry
    2  Technical Overview
    3  Architecture
    4  GUI Definition
    5  Relationship with other UI languages
    6  Supplement
    7  Example
    8  See also

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).
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. Supplement 4 was adopted in 2010. The standard is known today to be used for Airbus A380 and A400M CDS development. AgustaWestland company use ARINC 661 for the development of a new Touchscreen unit in the upgraded Merlin helicopter for the Royal Navy.

Technical Overview

The standard normalises:


A Cockpit Display System (or CDS), as defined in the ARINC 661 standard, is a graphic Server, constituted of a kernel which is able to create the GUI hierarchy specified in configuration Files called Definition Files during initialization, thus not needing to be recompiled if the GUI definition changes. The Cockpit Display System can be seen as the view in the Model−View−Controller pattern.

A User Application (or UA), as defined in the ARINC 661 standard, is an avionics function which is responsible for the logic of an ARINC 661 graphical application (the graphic part being managed by the Cockpit Display System (or CDS). The User Application can be seen as the controller in the Model−View−Controller pattern.

GUI Definition

Each binary or XML Definition file specify 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:
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. 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 normally initialized with the binary version of DFs. Main similarities from other User interface markup languages:
Main differences from other User interface markup languages:


Each release of the ARINC 661 standard is called supplement. Each supplement may add new widgets and capabilities.


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.
   <a661_df library_version="0" supp_version="2">  
         <prop name="ApplicationId" value="1"/>  
            <prop name="LayerId" value="5"/>  
            <prop name="ContextNumber" value="23"/>  
            <prop name="Height" value="10000"/>  
            <prop name="Width" value="10000"/>  
         <a661_widget name="SamplePanel" type="A661_PANEL">  
               <prop name="WidgetIdent" value="1"/>  
               <prop name="Enable" value="A661_TRUE" />  
               <prop name="Visible" value="A661_TRUE" />  
               <prop name="PosX" value="0"/>  
               <prop name="PosY" value="0"/>  
               <prop name="SizeX" value="10000"/>  
               <prop name="SizeY" value="10000"/>  
               <prop name="StyleSet" value="STYLESET_DEFAULT" />  
            <a661_widget name="Hello World Label" type="A661_LABEL">  
                  <prop name="WidgetIdent" value="2"/>  
                  <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!" />  

See Also

Categories: arinc661 | general | user

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence

Project Web Hosted by SourceForge.net Copyright 1999-2010 - Geeknet, Inc., All Rights Reserved About - Legal - Help