ARINC 661: Wikis

Advertisements

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

Advertisements

From Wikipedia, the free encyclopedia

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.

Contents

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[1].

The standard is known today to be used for Airbus A380 and A400M CDS development[2][3], and also Boeing 787 CDS development[4]. AgustaWestland company will use ARINC 661 for its future helicopters and it is to be implemented in the upgraded Merlin helicopter for the Royal Navy[5][6][7].

Technical Overview

The standard normalizes :

  • the GUI definition of the CDS interface, in a binary file called DF (Definition File) defining the structure of the graphical interface tree. The GUI tree is instantiated at initialization time (called the Definition Phase in the standard) in the CDS, using the definition contained in the DF.
  • the communication at runtime between the User Applications (UA) and the CDS. This communication protocol is typically used for UAs to send widgets modifications to the CDS, and return user events (such as buttons selection) from CDS to UA.

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 can be used, but it is not mandatory.

GUI Definition

Each DF binary 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 : 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[8].

Main similarities from other User interface markup languages:

  • The interface definition is not hard-coded in the CDS. Instead, the CDS use a kernel which instantiate the widget tree at initialization, using a predefined widget library
  • The widget list and the structure of the widget tree are similar to what can be found in common Widget toolkits
  • The Look and feel is separated from the definition of the interface

Main differences from other User interface markup languages :

  • The widget library defined in the standard does not really take advantage of its object nature, contrary to other User interface markup languages. For example, there is no notion of inheritance in the standard, although the same properties can be used more than once for several widgets.
  • Some Widget toolkits or User interface markup languages have the ability to lay out widgets automatically in a container (see for example the box model in XUL, or the layouts in Java Swing). Widgets position and size in their container must always be defined exactly in an ARINC 661 definition. However, the supplement 3 of the standard has added a limited sort of "relative" layout capability between widgets (see Layout manager).
  • There is no equivalent of XBL, like what is used in XUL or SVG. There are symbols that can be reused, but they are mainly shapes that cannot have behaviors (apart from defining their position, rotation, and color), or specific bindings.
  • There is no equivalent of Cascading Style Sheets, as they are used in XUL or SVG for example. Instead, the Look and feel of the interface is hard-coded in the ARINC 661 kernel.
  • The standard does not have an equivalent of Javascript, as used in SVG and XUL, so all specific behavior associated with the widgets must be performed by the UAs.
  • The standard has defined specific "Map" widgets which allows to present elements such as Flight plans in CDS.

Example

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_df library_version="0" supp_version="2">
    <model>
      <prop name="ApplicationId" value="1"/>
    </model>
    <a661_layer>
      <model>
        <prop name="LayerId" value="5"/>
        <prop name="ContextNumber" value="23"/>
        <prop name="Height" value="10000"/>
        <prop name="Width" value="10000"/>
      </model>
      <a661_widget name="SamplePanel" type="A661_PANEL">
        <model>
          <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" />
        </model>
        <a661_widget name="Hello World Label" type="A661_LABEL">
           <model>
             <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!" />
           </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 :

  • Thanks to ARINC 661 concepts, the specification tools have no dependency on the execution platform,
  • The kernel itself depends on the execution platform.

COTS specification tools for DF specification include DiSTI's GL Studio ARINC 661 Toolkit and Version 2.2 of VAPS XT 661.

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

VAPS XT 661 introduced the first embeddable real-time COTS CDS kernel while future versions will offer a DO-178B/C certifiable version of this kernel[citation needed]. It must also be noted that because of the burden of Avionics software certification, the kernel must be embedded in a DO-178B-compliant environment.

See also

References

  1. ^ "Cockpit Display Systems (CDS) Subcommittee". AEEC. 2007-06-14. http://www.arinc.com/aeec/projects/cds/index.html. Retrieved 2007-06-16. 
  2. ^ Adams, Charlotte (2003-03-01). "A380 Innovations: A Balancing Act". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/756.html. Retrieved 2007-06-16. 
  3. ^ Adams, Charlotte (2003-07-01). "Airbus A400M". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/957.html. Retrieved 2007-06-16. 
  4. ^ Jensen, David (2005-11-01). "B787 Cockpit: Boeing’s Bold Move". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/1181.html. Retrieved 2007-06-16. 
  5. ^ "AgustaWestland Selects Presagis’s Next-Generation VAPS XT 661 Tool to Fly Aboard Its Aircraft". airforce-technology.com. 2006-05-10. http://www.airforce-technology.com/contractors/training/engenuity/press4.html. Retrieved 2007-06-16. 
  6. ^ "Barco wins major contract under Royal Navy Merlin upgrade program". Barco NV. 2007-06-18. http://www.barco.com/aerospace/en/Pressreleases/show.asp?index=1919. Retrieved 2009-01-03. 
  7. ^ "Case Study \ AugustaWestland Accelerates Merlin HM TouchScreen display software development with COTS ARINC 661 prototyping tools". presagis.com. 2007-11-20. http://www.presagis.com/about_us/events/listing/military_aerospace_electronics/. Retrieved 2009-01-03. 
  8. ^ 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

External links


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.

Contents

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[1]. Supplement 4 was adopted in 2010.

The standard is known today to be used for Airbus A380 and A400M CDS development[2][3], and also Boeing 787 CDS development[4]. AgustaWestland company use ARINC 661 for the development of a new Touchscreen unit in the upgraded Merlin helicopter for the Royal Navy[5][6][7][8].

Technical Overview

The standard normalizes :

  • the GUI definition of the CDS interface, in a binary file called DF (Definition File) defining the structure of the graphical interface tree. The GUI tree is instantiated at initialization time (called the Definition Phase in the standard) in the CDS, using the definition contained in the DF.
  • the communication at runtime between the User Applications (UA) and the CDS. This communication protocol is typically used for UAs to send widgets modifications to the CDS, and return user events (such as buttons selection) from CDS to UA.

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 can be used, but it is not mandatory.

GUI Definition

Each DF binary 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 : 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[9].

Main similarities from other User interface markup languages:

  • The interface definition is not hard-coded in the CDS. Instead, the CDS use a kernel which instantiate the widget tree at initialization, using a predefined widget library
  • The widget list and the structure of the widget tree are similar to what can be found in common Widget toolkits
  • The Look and feel is separated from the definition of the interface

Main differences from other User interface markup languages :

  • The widget library defined in the standard does not really take advantage of its object nature, contrary to other User interface markup languages. For example, there is no notion of inheritance in the standard, although the same properties can be used more than once for several widgets.
  • Some Widget toolkits or User interface markup languages have the ability to lay out widgets automatically in a container (see for example the box model in XUL, or the layouts in Java Swing). Widgets position and size in their container must always be defined exactly in an ARINC 661 definition. However, the supplement 3 of the standard has added a limited sort of "relative" layout capability between widgets (see Layout manager).
  • There is no equivalent of XBL, like what is used in XUL or SVG. There are symbols that can be reused, but they are mainly shapes that cannot have behaviors (apart from defining their position, rotation, and color), or specific bindings.
  • There is no equivalent of Cascading Style Sheets, as they are used in XUL or SVG for example. Instead, the Look and feel of the interface is hard-coded in the ARINC 661 kernel.
  • The standard does not have an equivalent of Javascript, as used in SVG and XUL, so all specific behavior associated with the widgets must be performed by the UAs.
  • The standard has defined specific "Map" widgets which allows to present elements such as Flight plans in CDS.

Example

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.

 
 
 
   
     
   
   
     
       
       
       
       
     
     
       
         
         
         
         
         
         
         
         
       
       
          
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
          
       
     
   
 

Development and Tools support

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

  • Thanks to ARINC 661 concepts, the specification tools have no dependency on the execution platform,
  • The kernel itself depends on the execution platform.

COTS specification tools for DF specification include DiSTI's GL Studio ARINC 661 Toolkit and Version 2.2 of VAPS XT 661.

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 VAPS XT introduced an embeddable real-time COTS CDS kernel while future versions will offer a DO-178B/C certifiable version of this kernel. It must also be noted that because of the burden of Avionics software certification, the kernel must be embedded in a DO-178B-compliant environment.

See also

References

  1. ^ "Cockpit Display Systems (CDS) Subcommittee". AEEC. 2007-06-14. http://www.arinc.com/aeec/projects/cds/index.html. Retrieved 2007-06-16. 
  2. ^ Adams, Charlotte (2003-03-01). "A380 Innovations: A Balancing Act". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/756.html. Retrieved 2007-06-16. 
  3. ^ Adams, Charlotte (2003-07-01). "Airbus A400M". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/957.html. Retrieved 2007-06-16. 
  4. ^ Jensen, David (2005-11-01). "B787 Cockpit: Boeing’s Bold Move". aviationtoday.com. http://www.aviationtoday.com/av/categories/commercial/1181.html. Retrieved 2007-06-16. 
  5. ^ "AgustaWestland Selects Presagis’s Next-Generation VAPS XT 661 Tool to Fly Aboard Its Aircraft". airframer.com. 2006-06-10. http://www.airframer.com/news_story.html?release=142. Retrieved 2009-07-25. 
  6. ^ "Barco wins major contract under Royal Navy Merlin upgrade program". Barco NV. 2007-06-18. http://www.barco.com/aerospace/en/Pressreleases/show.asp?index=1919. Retrieved 2009-01-03. 
  7. ^ "AgustaWestland Accelerates Merlin HMI TouchScreen display software development with COTS ARINC 661 prototyping tools". presagis.com. 2009-06-01. http://www.presagis.com/about_us/events/tradeshows/avionics_usa_09/. Retrieved 2010-07-25. 
  8. ^ "Helicopter HMIs: Managing risk with automatic code generation, standards, and simulation". mil-embedded.com. September 2008. http://www.mil-embedded.com/articles/id/?3598. Retrieved 2010-07-25. 
  9. ^ 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

External links


Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message