ARINC 661
   HOME

TheInfoList



OR:

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 Avionics (a blend of ''aviation'' and ''electronics'') are the electronic systems used on aircraft. Avionic systems include communications, navigation, the display and management of multiple systems, and the hundreds of systems that are fit ...
functions. The
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
definition is completely defined in binary Definition Files (DF). The CDS software is constituted of a kernel which is able to create the
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
hierarchy specified in the DF during initialization, thus not needing to be recompiled if the
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
definition changes.


History and adoption in industry

The first version of the standard was adopted in 2001. Its first use was for
Airbus A380 The Airbus A380 is a large wide-body airliner that was developed and produced by Airbus. It is the world's largest passenger airliner and only full-length double-deck jet airliner. Airbus studies started in 1988, and the project was annou ...
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 The Airbus A400M AtlasNamed after the Greek mythological figure. is a European four-engine turboprop military transport aircraft. It was designed by Airbus Military (now Airbus Defence and Space) as a tactical airlifter with strategic capabi ...
CDS development, and also
Boeing 787 The Boeing 787 Dreamliner is an American wide-body jet airliner developed and manufactured by Boeing Commercial Airplanes. After dropping its unconventional Sonic Cruiser project, Boeing announced the conventional 7E7 on January 29, 2003, ...
CDS development.
AgustaWestland AgustaWestland was an Anglo-Italian helicopter design and manufacturing company, which was a wholly owned subsidiary of Finmeccanica (now known as Leonardo). It was formed in July 2000 as an Anglo-Italian multinational company, when Finmeccani ...
company use ARINC 661 for the development of a new
Touchscreen A touchscreen or touch screen is the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is ofte ...
unit in the upgraded Merlin helicopter for the Royal Navy. 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. An ARINC 661 Part 2 is currently in development, allowing to specify look and feel for widgets. It should be released in 2020.


Supplement history


Technical overview

The standard normalizes : * the
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
definition of the CDS interface, in a binary file called DF (Definition File) defining the structure of the graphical interface tree. The
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
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 ARINC 429, "Mark33 Digital Information Transfer System (DITS)," is also known as the Aeronautical Radio INC. (ARINC) technical standard for the predominant avionics data bus used on most higher-end commercial and transport aircraft. It defines the ...
or
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1 ...
protocol such as
ARINC 664 Avionics Full-Duplex Switched Ethernet (AFDX), also ARINC 664, is a data network, patented by international aircraft manufacturer Airbus, for safety-critical applications that utilizes dedicated bandwidth while providing deterministic quality of ...
can be used, but it is not mandatory.


GUI Structure

* The Cockpit Display System (CDS) is the graphic Server which is responsible to show and manage the GUI * A User Application (UA) is one system application which communicates with the CDS. The CDS manage one or more Definition Files for each User Application. At run-time, messages are exchanged between UAs and the CDS. * A Definition File (DF) specifies the GUI definition associated with one User Application (note that a User Application may be associated by more than one DF). A Definition File contains the definition of one or more Layers * A Layer (also named ''User Application Layer Definition'' or UALD) is a GUI
container A container is any receptacle or enclosure for holding a product used in storage, packaging, and transportation, including shipping. Things kept inside of a container are protected on several sides by being inside of its structure. The term ...
for widgets * A widget is the basic building block of the GUI


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 A container is any receptacle or enclosure for holding a product used in storage, packaging, and transportation, including shipping. Things kept inside of a container are protected on several sides by being inside of its structure. The term ...
, Lists, ScrollPanes,
Buttons A button is a fastener that joins two pieces of fabric together by slipping through a loop or by sliding through a buttonhole. In modern clothing and fashion design, buttons are commonly made of plastic but also may be made of metal, wood ...
, Menus,
Labels A label (as distinct from signage) is a piece of paper, plastic film, cloth, metal, or other material affixed to a container or product, on which is written or printed information or symbols about the product or item. Information printed d ...
, 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 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 ...
s, except that the UI language is binary and not
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
based. Main similarities from other
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 ...
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 toolkit 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 (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widge ...
s * The
Look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxe ...
is separated from the definition of the interface Main differences from other
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 ...
s : * The widget library defined in the standard does not really take advantage of its object nature, contrary to other
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 ...
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 toolkit 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 (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widge ...
s or
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 ...
s have the ability to lay out widgets automatically in a container (see for example the box model in
XUL XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
, 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 Layout managers are software components used in widget toolkits which have the ability to lay out graphical control elements by their relative positions without using distance units. It is often more natural to define component layouts in this mann ...
). * There is no mechanism for defining the presentation and interactive behavior of elements equivalent to XBL used in
XUL XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
(or
sXBL sXBL (SVG's XML Binding Language) is a mechanism for defining the presentation and interactive behavior of elements described in a namespace other than SVG's (an XML language supporting vector graphics, user events and scripted behavior). sXBL is ...
used in 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 CSS, as they are used in
XUL XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
or SVG for example. Instead, the
Look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxe ...
of the interface is hard-coded in the ARINC 661 kernel. However, supplement 5 introduced a way to specify the Look of widgets. * The standard does not have an equivalent of
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
, as used in SVG and
XUL XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner sim ...
, 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 Panel may refer to: Arts and media Visual arts * Panel (comics), a single image in a comic book, comic strip or cartoon; also, a comic strip containing one such image *Panel painting, in art, either one element of a multi-element piece of art ...
enclosing a
label A label (as distinct from signage) is a piece of paper, plastic film, cloth, metal, or other material affixed to a container or product, on which is written or printed information or symbols about the product or item. Information printed ...
, which shows the text "Hello World!". Note that contrary to most
widget toolkit 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 (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widge ...
s, ARINC 661 widgets origins are relative to the lower left-hand corner of their parent
container A container is any receptacle or enclosure for holding a product used in storage, packaging, and transportation, including shipping. Things kept inside of a container are protected on several sides by being inside of its structure. The term ...
, and screen units are not in
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the ...
but in 1/100 of millimeters.


Development and tools support

ARINC 661
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
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 currently include PRESAGIS VAPS XT 661 Toolkit, SCADE Solutions for ARINC 661 Compliant Systems, and DiSTI's GL Studio ARINC 661 Toolkit. Ansys (at the time Esterel Technologies) announced on October 13, 2010, the availability o
SCADE Solutions for ARINC 661
in 2011. 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-178B, Software Considerations in Airborne Systems and Equipment Certification is a guideline dealing with the safety of safety-critical software used in certain airborne systems. It was jointly developed by the safety-critical working group RT ...
/
DO-178C DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as FAA, EASA and Transport Canada approve all commercial software-based aerospace systems. The d ...
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. Th
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 the first COTS ARINC 661 development tool which allows creation of Widgets, Layers, DF Generation and embeddable
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
COTS CDS kernel with DO-178B/C certification artifacts. Because of the burden of
Avionics software Avionics 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' ...
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. Th
UA Accelerator
software tool is used to develop ARINC 661 user applications while th
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 b
PRESAGIS


See also

* Model View Controller Model *
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 ...
s * Cockpit display system *
Avionics software Avionics 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' ...


References


External links


Presagis Complete CDS and UA Solutions for ARINC 661 Development web page

Ansys SCADE Solutions for ARINC 661 Compliant Systems

Understanding ARINC 661

ARINC 661 Open Source Server project
{{DEFAULTSORT:Arinc 661 ARINC standards Graphical user interfaces