The J661 project provides a generic ARINC 661 Cockpit Display System (or ARINC 661 Server), coded in the Java language. This project is maintained by Dassault Aviation.
About the ARINC 661 Standard
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.
The standard normalises:
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.
About the J661 project
The J661 project provides a generic ARINC 661 Cockpit Display System (or ARINC 661 Server), coded in the Java language in order to:
Facilitate the understanding of the ARINC 661 standard,
Prototype ARINC 661 concepts and architectures,
Facilitate the reuse of ARINC 661 specifications and artefacts between projects,
The CDS architecture is designed to allow defining the Server behaviour to be easily modified or extended, such as:
The project also contains several plugins for the Editor, the Client, or the Server. See the architecture article for more information about the project architecture.
The distribution of the components of the J661 project is available on sourceforge. See distribution if you want to know which files you need.
Note that the ARINC 661 support articles explains what parts of the standard are supported in J661.
J661 development
Head to J661 development for more informations about developments around J661. Note that it is not necessary to modify the core J661 code to add new functionalities to your Server, Client, or Editor. Plugins and J661 extensions allow to add many new functionalities without changing the core of the code.
Disclaimer
This project is not an official ARINC project. The ARINC 661 standard is "implementation-agnostic": the ARINC 661 sub-committee does not recommend the use of any particular ARINC 661-compliant tool. The goal of the sub-committee is not to provide tools, but to standardize the CDS/UA interface. However, some of the people working on this project participate in the ARINC 661 sub-committee, and this Server implementation may be used (when and if it is judged necessary or useful) by the committee as a tool to prototype new ARINC 661 concepts before inclusion in the new supplement of the standard.
Although this Server implementation tries to be as consistent as possible with the standard, there is no warranty of any kind for this work. Users should bear the entire risk as to the quality, performance and liability for any particular usage or application of this Server. Furthermore, it is also in no way mandatory for any implementation of the standard to achieve consistency with this Server, or even to use it in any way in a development process.
We strongly advise people or organizations who wish to implement ARINC 661 to get the standard reference from Aeronautical Radio, Incorporated (ARINC), who maintains all ARINC standards. People interested in the ARINC 661 standard can also contact the ARINC 661 sub-committee at http://www.aviation-ia.com/aeec/projects/cds
See also
List of ARINC661 widgets: This article presents a list of ARINC661 useful widgets and some of their Use Cases