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
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:
- Customizing the Look and Feel,
- Customizing the implementation of the widgets themselves, even to the point of creating new widgets or new versions of the existing widgets,
- Managing several versions of the standard (see Meta−definition)
- Using specific transport layer protocols,
- Adding new custom capabilities to the Server,
This is achieved by a modular plug−in architecture
, allowing customization at runtime without changing anything in the Server core itself.
Components of the J661 project
The J661 project contains:
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.
Where to start
Look for the ARINC661
article to have more information about the ARINC 661 standard itself. Also look for the list of available ARINC 661 widgets
To use the J661 project, you can go to one of thes head−start articles:
The distribution of the components of the J661 project is available on sourceforge. See Distribution
if you want to know which files you need.
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.
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