ARINC 661 — это стандарт, направленный на нормализацию определения C ockpitDisplay System ( CDS ) и связи между CDS и пользовательскими приложениями (UA), которые управляют функциями авионики самолета . Определение GUI полностью определено в двоичных файлах определения ( DF ). [1]
Программное обеспечение CDS состоит из ядра, способного создавать иерархию графического интерфейса пользователя, указанную в DF во время инициализации, что исключает необходимость перекомпиляции в случае изменения определения графического интерфейса пользователя .
Первая версия стандарта была принята в 2001 году. Впервые он был использован для разработки CDS для Airbus A380 . Первое дополнение было принято в 2003 году и добавило новые виджеты. Второе дополнение было принято в июне 2005 года и добавило дополнительные виджеты. Третье дополнение было принято в 2007 году . [2] Дополнение 4 было принято в 2010 году.
Сегодня известно, что этот стандарт используется для разработки CDS Airbus A380 и A400M , [3] [4] а также для разработки CDS Boeing 787. [5] Компания AgustaWestland использует ARINC 661 для разработки нового сенсорного экрана в модернизированном вертолете Merlin для Королевского флота. [6] [7] [8] [9] В марте 2011 года Embraer объявила, что выбрала SCADE Solutions для ARINC 661, COTS (Commercial Off The Shelf) инструмента для разработки ARINC 661, для своих будущих разработок. [10]
В настоящее время разрабатывается ARINC 661 Часть 2, позволяющая определять внешний вид и поведение виджетов. Она должна быть выпущена в 2020 году. [11]
Стандарт нормализует:
Чтобы соответствовать стандарту, CDS должен иметь ядро, которое может создавать дерево виджетов во время инициализации CDS, используя файл определения, и взаимодействовать с UA в обоих направлениях, используя протокол времени выполнения.
ARINC 661 не подразумевает использование определенной структуры шины данных для осуществления низкоуровневой связи между CDS и UA. Например, можно использовать протокол ARINC 429 или Ethernet , такой как ARINC 664 , но это не обязательно.
Каждый двоичный файл DF определяет определение GUI для одного пользовательского интерфейса приложения (UA). Несколько деревьев пользовательского интерфейса UA могут быть объединены для составления определения отображения CDS.
DF состоит из двух частей: необязательного определения символа и определения виджетов. Библиотека виджетов похожа на виджеты, используемые в вычислениях. Существуют контейнеры , списки , панели прокрутки, кнопки , меню , метки , поля редактирования и т. д.
Хотя файл DF является двоичным, стандарт также определил связанное с ним определение XML, которым легче манипулировать в инструментах.
Концепции, используемые в ARINC 661, близки к тем, которые используются в языках разметки пользовательского интерфейса , за исключением того, что язык пользовательского интерфейса является двоичным и не основан на XML . [12]
Основные сходства с другими языками разметки пользовательского интерфейса :
Основные отличия от других языков разметки пользовательского интерфейса :
В следующем примере представлен XML-файл определения для слоя, содержащего панель , охватывающую метку , на которой отображается текст «Hello World!». Обратите внимание, что в отличие от большинства наборов инструментов для виджетов , начало координат виджетов ARINC 661 указывается относительно нижнего левого угла их родительского контейнера , а единицы экрана указаны не в пикселях , а в 1/100 миллиметра.
<?xml версия="1.0"?> <!DOCTYPE a661_df СИСТЕМА "a661.dtd"> <a661_df library_version= "0" supp_version= "2" > <model> <prop name= "ApplicationId" value= "1" /> </model> <a661_layer> <model> <prop name= "LayerId" value= "5" /> <prop name= "ContextNumber" value= "23" /> <prop name= "Height" value= "10000" /> <prop name= "Width" value= "10000" /> </model> <a661_widget name= "SamplePanel" type= "A661_PANEL" > <model> <prop name= "WidgetIdent" value= "1" /> <prop name= "Enable" value= "A661_TRUE" /> <prop name= "Visible" value= "A661_TRUE" /> <prop name= "PosX" значение = "0" /> <prop name= "PosY" значение = "0" /> <prop name= "SizeX" значение = "10000" /> <prop name= "SizeY" значение = "10000" /> <prop name= "StyleSet" значение = "STYLESET_DEFAULT" /> </model> <a661_widget name= "Hello World Label" тип = "A661_LABEL" > <model> <prop name= "WidgetIdent" значение = "2" /> <prop name= "Anonymous" значение = "A661_FALSE" /> <prop name= "Visible" значение = "A661_TRUE" /> <prop name= "PosX" значение = "5000" /> <prop name= <ai=132>"PosY" значение = "5000" /> <prop name= "SizeX" значение = "1500" /> <prop name= "SizeY" значение = "1000" /> <prop name= "RotationAngle" значение = "0.0" /> <prop name= "StyleSet" value= "0" /> <prop name= "MaxStringLength" value= "20" /> <prop name= "MotionAllowed" value= "A661_TRUE" /> <prop name= "Font" value= "T4" /> <prop name= "ColorIndex" value= "black" /> <prop name= "Alignment" value= "A661_CENTER" /> <prop name= "LabelString" value= "Hello World!" /> </model> </a661_widget> </a661_widget> </a661_layer> </a661_df>
Разработка графического интерфейса пользователя ARINC 661 включает в себя инструменты для спецификации файлов определений и ядра, использующего эти файлы:
Инструменты спецификации COTS для спецификации DF в настоящее время включают набор инструментов PRESAGIS VAPS XT 661, решения SCADE для систем, совместимых с ARINC 661, и набор инструментов GL Studio ARINC 661 от DiSTI.
Ansys (в то время Esterel Technologies [13] ) объявила 13 октября 2010 года о доступности решений SCADE для ARINC 661 в 2011 году. [14] Решения SCADE для ARINC 661 позволяют создавать как CDS, так и UA, соответствующие ARINC 661. Для разработчиков CDS набор инструментов включает в себя полную настраиваемую библиотеку виджетов на основе моделей, соответствующую ARINC 661, и автоматизированную генерацию переносимого сервера ARINC 661, соответствующего целям безопасности DO-178B / DO-178C до уровня A. Для разработчиков UA набор инструментов включает в себя проектирование на основе моделей и генерацию DF, а также автоматическую генерацию кода связи между моделями SCADE Suite UA и сервером ARINC 661.
Набор инструментов GL Studio ARINC 661 — это подключаемый модуль к набору инструментов GL Studio HMI, который предоставляет набор готовых настраиваемых виджетов, генератор DF, CDS, библиотеки связи и генератор пользовательских приложений.
PRESAGIS [15] представил первый инструмент разработки COTS ARINC 661, который позволяет создавать виджеты, слои, генерацию DF и встраиваемое ядро COTS CDS в реальном времени с артефактами сертификации DO-178B/C. [16] [17] Из-за бремени сертификации программного обеспечения авионики ядро должно быть встроено в среду, совместимую с DO-178.
Компания Flexible Software Solutions представила COTS- инструменты разработки, тестирования и анализа для протокола ARINC 661 в начале 2012 года. [18] Программный инструмент UA Accelerator используется для разработки пользовательских приложений ARINC 661, а программный инструмент UA Emulator используется для тестирования и отладки обмена сообщениями UA и CDS ARINC 661. С тех пор эта технология и связанные с ней продукты были приобретены компанией PRESAGIS [19]
Кроме того, архитектура программного обеспечения в системе включает ARINC 661 часть 2, которая позволяет настраивать виджеты дисплея кабины.