Arinc 661
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.
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, and also Boeing 787
CDS development. AgustaWestland
company use ARINC 661 for the development of a new Touchscreen
unit in the upgraded Merlin helicopter for the Royal Navy. In March 2011, Embraer
announced that it selected Scade Display ARINC 661, a COTS tool for ARINC 661 development, for its future developments.
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.
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.
s, except that the UI language is binary and not XML
based.
Main similarities from other User interface markup language
s:
Main differences from other User interface markup language
s :
enclosing a label
, which shows the text "Hello World!". Note that contrary to most widget toolkit
s, 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 includes tools for the specification of definition files and the kernel that use these files :
COTS
specification tools for DF specification currently 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
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.
Esterel Technologies
announced on October 13, 2010, that a SCADE Display ARINC 661 tool will be available in 2011.
ARINC
Aeronautical Radio, Incorporated , established in 1929, is a major provider of transport communications and systems engineering solutions for eight industries: aviation, airports, defense, government, healthcare, networks, security, and transportation...
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
Avionics
Avionics are electronic systems used on aircraft, artificial satellites and spacecraft.Avionic systems include communications, navigation, the display and management of multiple systems and the hundreds of systems that are fitted to aircraft to meet individual roles...
functions. The GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
definition is completely defined in binary Definition Files (DF).
The CDS software is constituted of a kernel which is able to create the GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
hierarchy specified in the DF during initialization, thus not needing to be recompiled if the GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
definition changes.
History and Adoption In Industry
The first version of the standard was adopted in 2001. Its first use was for Airbus A380Airbus A380
The Airbus A380 is a double-deck, wide-body, four-engine jet airliner manufactured by the European corporation Airbus, a subsidiary of EADS. It is the largest passenger airliner in the world. Due to its size, many airports had to modify and improve facilities to accommodate it...
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, and also Boeing 787
Boeing 787
The Boeing 787 Dreamliner is a long-range, mid-size wide-body, twin-engine jet airliner developed by Boeing Commercial Airplanes. It seats 210 to 290 passengers, depending on the variant. Boeing states that it is the company's most fuel-efficient airliner and the world's first major airliner to use...
CDS development. AgustaWestland
AgustaWestland
AgustaWestland is an Anglo-Italian helicopter design and manufacturing company. It was formed in July 2000 when Finmeccanica S.p.A. and GKN plc agreed to merge their respective helicopter subsidiaries to form AgustaWestland with Finmeccanica and GKN each holding a 50% share.AgustaWestland is now a...
company use ARINC 661 for the development of a new Touchscreen
Touchscreen
A touchscreen is an electronic visual display that can detect the presence and location of a touch within the display area. The term generally refers to touching the display of the device with a finger or hand. Touchscreens can also sense other passive objects, such as a stylus...
unit in the upgraded Merlin helicopter for the Royal Navy. In March 2011, Embraer
Embraer
Embraer S.A. is a Brazilian aerospace conglomerate that produces commercial, military, and executive aircraft and provides aeronautical services....
announced that it selected Scade Display ARINC 661, a COTS tool for ARINC 661 development, for its future developments.
Supplement history
Supplement | Release Date | Highlights |
---|---|---|
Initial version | 2001 | First use for Airbus A380 Airbus A380 The Airbus A380 is a double-deck, wide-body, four-engine jet airliner manufactured by the European corporation Airbus, a subsidiary of EADS. It is the largest passenger airliner in the world. Due to its size, many airports had to modify and improve facilities to accommodate it... development |
1 | 2003 | New widgets, vertical maps |
2 | June 2005 | New widgets |
3 | 2007 | New widgets |
4 | 2010 | New widgets |
Technical Overview
The standard normalizes :- the GUIGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
definition of the CDS interface, in a binary file called DF (Definition File) defining the structure of the graphical interface tree. The GUIGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
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
Widget (computing)
In computer programming, a widget is an element of a graphical user interface that displays an information arrangement changeable by the user, such as a window or a text box. The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given...
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
ARINC 429
ARINC 429 is the technical standard for the predominant avionics data bus used on most higher-end commercial and transport aircraft. It defines the physical and electrical interfaces of a two-wire data bus and a data protocol to support an aircraft's avionics local area network.-Messages:ARINC 429...
or ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
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
Widget (computing)
In computer programming, a widget is an element of a graphical user interface that displays an information arrangement changeable by the user, such as a window or a text box. The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given...
used in computing. There are Containers, Lists, ScrollPanes, Buttons
Button (computing)
In computing, a button is a user interface element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.-Description:A typical button is a rectangle or rounded rectangle, wider than it is...
, Menus
Menu bar
A menu bar is a region of a screen or application interface where drop down menus are displayed. The menu bar's purpose is to supply a common housing for window- or application-specific menus which provide access to such functions as opening files, interacting with an application, or displaying...
, Labels
Label (control)
A label is a user interface control which displays text on a form. It is usually a static control; having no interactivity. A label is generally used to identify a nearby text box or other widget. Some labels can respond to events such as mouse clicks, allowing the text of the label to be copied,...
, EditBoxes
Text box
A text box, text field or text entry box is a kind of widget used when building a graphical user interface . A text box's purpose is to allow the user to input text information to be used by the program...
, 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 languageUser interface markup language
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...
s, except that the UI language is binary and not XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
based.
Main similarities from other User interface markup language
User interface markup language
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...
s:
- 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 toolkitWidget toolkitIn computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...
s - The Look and feelLook and feelIn software design, look and feel is a term used in respect of a graphical user interface and comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces , as well as the behavior of dynamic elements such as buttons, boxes, and menus...
is separated from the definition of the interface
Main differences from other User interface markup language
User interface markup language
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...
s :
- The widget library defined in the standard does not really take advantage of its object nature, contrary to other User interface markup languageUser interface markup languageA 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...
s. 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 toolkitWidget toolkitIn computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...
s or User interface markup languageUser interface markup languageA 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...
s have the ability to lay out widgets automatically in a container (see for example the box model in XULXULIn computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...
, or the layouts in Java SwingSwing (Java)Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
). 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 managerLayout managerLayout managers are software components used in widget toolkits which have the ability to lay out widgets by their relative positions without using distance units. It is often more natural to define component layouts in this manner than to define their position in pixels or common distance units,...
). - There is no equivalent of XBLXBLXBL is an XML-based markup language used to declare the behavior and look of XUL-widgets and XML elements.XBL was developed by the Mozilla project for use in the Mozilla Application Suite; the language is not currently described by any formal standard and is thus proprietary to Mozilla, with the...
, like what is used in XULXULIn computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...
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 SheetsCascading Style SheetsCascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
, as they are used in XULXULIn computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...
or SVG for example. Instead, the Look and feelLook and feelIn software design, look and feel is a term used in respect of a graphical user interface and comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces , as well as the behavior of dynamic elements such as buttons, boxes, and menus...
of the interface is hard-coded in the ARINC 661 kernel. - The standard does not have an equivalent of JavascriptJavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
, as used in SVG and XULXULIn computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...
, 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 planFlight planFlight plans are documents filed by pilots or a Flight Dispatcher with the local Civil Aviation Authority prior to departure...
s in CDS.
Example
The following example presents the XML Definition File for a Layer containing a panelPanel (computer software)
In graphical computer software a panel is :* A widget commonly packaged as part of a Widget toolkit for a graphical user interface. See toolbar and dialog box...
enclosing a label
Label (control)
A label is a user interface control which displays text on a form. It is usually a static control; having no interactivity. A label is generally used to identify a nearby text box or other widget. Some labels can respond to events such as mouse clicks, allowing the text of the label to be copied,...
, which shows the text "Hello World!". Note that contrary to most widget toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...
s, ARINC 661 widgets origins are relative to the lower left-hand corner of their parent container, and screen units are not in pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....
but in 1/100 of millimeters.
Development and Tools support
ARINC 661 GUIGui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
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
Commercial off-the-shelf
In the United States, Commercially available Off-The-Shelf is a Federal Acquisition Regulation term defining a nondevelopmental item of supply that is both commercial and sold in substantial quantities in the commercial marketplace, and that can be procured or utilized under government contract...
specification tools for DF specification currently 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
Presagis
' is a provider of commercial off-the-shelf modeling, simulation, and embedded display graphics software. The company provides software solution to customers in the Aerospace, Defense, and Automotive industries.- History :...
introduced an embeddable real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
COTS
Commercial off-the-shelf
In the United States, Commercially available Off-The-Shelf is a Federal Acquisition Regulation term defining a nondevelopmental item of supply that is both commercial and sold in substantial quantities in the commercial marketplace, and that can be procured or utilized under government contract...
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
Avionics
Avionics are electronic systems used on aircraft, artificial satellites and spacecraft.Avionic systems include communications, navigation, the display and management of multiple systems and the hundreds of systems that are fitted to aircraft to meet individual roles...
software certification, the kernel must be embedded in a DO-178B
DO-178B
DO-178B, Software Considerations in Airborne Systems and Equipment Certification is a document dealing with the safety of software used in airborne systems....
-compliant environment.
Esterel Technologies
Esterel Technologies
Esterel Technologies is a supplier of model-based design, validation, and code generation tools for safety-critical software and hardware applications. Esterel’s tools create formal specifications that produce control designs code in software and/or hardware....
announced on October 13, 2010, that a SCADE Display ARINC 661 tool will be available in 2011.
See also
- Model View Controller ModelModel-view-controllerModel–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
- User interface markup languageUser interface markup languageA 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...
s - Cockpit display systemCockpit display systemThe Cockpit display systems provides the visible portion of the Human Machine Interface by which aircrew manage the modern Glass cockpit and thus interface with the aircraft avionics.-History:...
- Avionics softwareAvionics softwareAvionics software is embedded software with legally mandated safety and reliability concerns used in avionics. The main difference between avionic software and conventional embedded software is that the development process is required by law and is optimized for safety.It is claimed that the...