Home
Categories
Dictionary
Download
Project Details
Changes Log
Who We Are
FAQ
License

Meta-definition



The J661 project modules uses an XML meta-definition for all the elements managed by the standard (widgets, mapItems, etc...). It is also possible to define extensions which will add custom elements on top of the standard (for example, adding a new widget, or modifying the specification of a widget).

Grammar

See the Meta-definition Schema.

The XML definition file contain the following nodes:
  • The ARINC 661 protocol keywords and structure blocks
  • The special character set used in Extended ASCII Definition Files
  • The Map projections
  • The Layer notifications and messages definitions
  • The Symbol Commands definitions
  • The MapItems definitions
  • The Extensions definitions
  • The Widgets definitions
  • The Attributes definitions (attributes are used in Symbol Commands, MapItems, Extensions, and Widgets)
  • The values definitions (values are used in enumerated Attributes)
  • The Messages IDs for messages which contains more than one Attribute
  • The Events IDs
Note: DataTypes are defined in another XML definition file, see resource DataTypes Schema.

Supplement

Almost all the elements in the méta-definition support the "supp" XML attribute. This attribute specifies for which supplement(s) the element is defined.
  • If this attribute has an integer value, it means that the element is defined only for this supplement
  • If this attribute has the pattern <supplement value>+, it means that the element is defined only beginning for the specified supplement
  • If this attribute has the pattern <from supplement value>-<to supplement value>, it means that the element is defined between the two specified supplements
  • If the attribute is not present, it means that the element is defined for all supplements beginning with supplement 2 (note that J661 does support supplements from 2)

Examples

A widget defined beginning for supplement 2:
      <widget arincID="A661_PUSH_BUTTON" hexID="0xA2A0" inherits="ABSTRACT_WIDGET" cat="interactive">
A keyword defined beginning for supplement 5:
      <keywordID arincID="A661_ERR_EXTEND_ABORTED" type="exception" hexID="0xF008" supp="5+"/>
A parameter structure defined between supplement 2 and supplement 3:
      <paramStructBlock id="enableArray" name="A661_ParameterStructure_1ByteArray" supp="2-3">

Protocol Keywords and Structure Blocks

This contains:

Symbol Commands

For each Symbol Command, we have:
  • arincID: its ARINC String ID (example: "A661_SYMBOL_DEFN_SET_COLOR")
  • hexID: its ARINC hexadecimal ID (example: "0x9020")
  • path: its associated Java implementation class
  • the list of attributes for this command ordered as in the binary DF File. Padding can be used by adding "pad" nodes. For each attribute, we will found its name in the XML file ("name"), its associated ARINC ID definition ("arincID"), which points to an attribute definition at the end of the file, and its associated field in the above Java implementation

Extensions

The Extensions definitions allows to define the ARINC 661 characteristics of extensions It specifies:
  • The list of design-time ARINC 661 attributes of the extension
  • The list of UA messages supported by the extension
  • The list of widget Events sent by the extension

Widgets

The Widgets definitions allows to define the ARINC 661 characteristics of widgets. It specifies:
  • The list of design-time ARINC 661 attributes of the widget
  • The list of UA messages supported by the widget
  • The list of widget Events sent by the widget
  • The list of ARINC 661 extensions supported by the widget


It is possible to inherit widgets definitions from others. For the moment only one abstract widget is used for the inheritance, which hold the widget type, ident, and parent ident attributes.

Attributes

For each Attribute, we have:
  • arincID: its ARINC String ID (example: "A661_ENABLE"). Attributes that have no ARINC ID String must still have such an ID, but by convention the ARINC ID of these attributes begins with an "_" rather than "A661_" (note that the meta-definitionparser does not use this convetion, so you can give any name to an attribute)
  • hexID: its ARINC hexadecimal ID, if this attribute can be used in messages (example: "0xB180")
  • type: the data type of this attribute. For attributes which accept only an enumeration of values (such as boolean attributes, which accept only "A661_TRUE" and "A661_FALSE" as values), the allowed values must be enumerated under the node. These values will be defined in the "values" node

Values

Values are shared for all attributes, and represent available values for enumeration attributes. For each value, we have:
  • arincID: its ARINC String ID (example: "A661_SELECTED").
  • type: the data type of this value
  • hexID: its ARINC hexadecimal ID (true or false must be used for boolean, else the value is the hexadecimal ID as found in the binary DF or messages)

Messages IDs

Only messages that do not correspond to an existing widget attribute have to be defined here (such as "A661_POS_XY"):
  • arincID: its ARINC String ID (example: "A661_POS_XY").
  • hexID: its ARINC hexadecimal ID

Widget Events IDs

The widget events definitions (shared for all widgets)::
  • arincID: its ARINC String ID (example: "A661_EVT_SEL_ENTRY_CHANGE").
  • hexID: its ARINC hexadecimal ID

Defining extensions in the XML File

The same file format is used to define extensions to the ARINC 661 standard.
  • New data types can be defined.For example, the new data type <dataType name="ulongtav" index="100" primType="ulong" /> can be used for specific ulong attributes that must be parsed with a specific algorithm
  • Widgets which are defined in the standard can be deleted by the extension. This is defined by declaring a widget without an associated path. For example, <widget arincID="A661_POP_UP_MENU" hexID="0xA270" /> means that the "A661_POP_UP_MENU" widget does not exist in the extension
    • A widget attribute is deleted if its specification does not have an associated path. For example, <widgetAttr name="ActiveTabbedPanelID" arincID="A661_ACTIVE_TABBED_PANEL"/> means that the "A661_ACTIVE_TABBED_PANEL" is deleted
    • New attributes can be created. If a new attribute follows a deleted attribute, it will take its position by default
  • New attributes can be created, or modified
  • New values can be created

Categories: arinc661 | dev | extensions | meta

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