Project Details
Changes Log
Who We Are

Server architecture

    1  Server rendering pipeline
    2  Server runtime pipeline
       2.1  Updating the widgets renderers
    3  Notes

The J661 Server implementation is completely independant from the graphic framework used to render its widgets.

Server rendering pipeline

The Server widgets rendering pipeline separates the following elements:

Server runtime pipeline

An ARINC 661 Server as specified in the ARINC 661 standard is event−driven, which means that its job is to: Decoding the messages and updating the display can't be performed in the same Thread, because: Considering that, the pipeline for the widgets rendering during runtime works as specified below:

Updating the widgets renderers

For all the widgets which have been updated in the decoded Buffer[2] , all the corresponding Layer renderers must be updated[3] . This is achieved by the separation between the LayerPainter and the LayerRendererBridge:
For each LayerRendererBridge, each widget will be updated only for the kind of properties which have really been updated:
Note that the update of Map widgets is a bit more complex. See J661 Maps management.


  1. ^ See for example the receive method in the DatagramSocket class in the JDK, which says that This method blocks until a datagram is received
  2. ^ [1] [2] By default the Decoder filters only the ARINC attributes which have realy changed. For example, if the UA sends twice the same value for a widget PosX property, only the first update will be outputted by the Decoder.
  3. ^ For one Layer there can be more than one associated renderer in the cockpit, because a Layer can be rendered more than once

See Also

Categories: archi | dev | server

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence

Project Web Hosted by SourceForge.net Copyright 1999-2010 - Geeknet, Inc., All Rights Reserved About - Legal - Help