Космическое агентство NASA объявило об открытии исходных текстов платформы cFS (core Flight System), включающей в себя инструментарий, набор универсальных программ и фреймворк, используемых в качестве основы для создания полётного ПО, которым комплектуются системы обработки данных на спутниках и приборы, применяемые на космических аппаратах. Несмотря на то, что cFS изначально разработан для полётных компьютеров, практически он может применяться и для другой встраиваемой техники.
В настоящее время cFS используется в запущенной в прошлом году миссии GPM, нацеленной на организацию непрерывного мониторинга выпадения осадков по всему земному шару, а также в миссии LADEE, развиваемой НАСА в исследовательском центре Эймса для изучения атмосферы Луны и анализа пылевого окружения её орбиты. Платформа также используется и в других исследовательских центрах, включая Центр космических полётов имени Джорджа Маршалла, Исследовательский центр Гленна и Космический центр имени Линдона Джонсона.
Разработка cFS была инициирована в рамках программы по сокращению издержек на проведение адаптации ПО к новому оборудованию и внесению изменений в приложения, а также в связи с ожидаемым в ближайшие годы существенным увеличением сложности полётных систем. cFS предоставляет разработчикам средства для быстрой настройки и развёртывания типовых компонентов программных систем при создании новых космических миссий, предоставляет готовые средства тестирования и создания прототипов специализированного ПО, что позволяет существенно сократить время разработки и снизить затраты.
Код написан на языке Си и распространяется под лицензией NASA Open Source Agreement, признанной OSI, но не одобренной Фондом СПО из-за требования применения при модификации только собственных наработок, что мешает смешиванию кода из разных источников. cFS имеет модульную структуру и насчитывает 12 компонентов, каждый из которых размещён в виде отдельного проекта на SourceForge.net. Каждый компонент реализует определённый тип приложений обработки команд и данных (Command and Data Handling, C&DH) для космических аппаратов. В сочетании друг с другом компоненты формируют библиотеку типовых функций C&DH и независимое от программных платформ runtime-окружение для выполнения приложений. Для абстрагирования cFS от нижележащей операционной системы применяется специальный уровень абстракции OSAL (Operating System Abstraction Library).
Состав набора:
- Checksum Application (GSC-15996-1)
- File Manager (FM) Application (GSC-16007-1)
- Stored Command (SC) Application (GSC-16009-1)
- Limit Checker (LC) Application (GSC-16010-1)
- Memory Manager Application (GSC-16011-1)
- Memory Dwell Application (GSC-16012-1)
- Scheduler Application (GSC-16123-1)
- CFDP (GSC-16125-1)
- Data Storage (DS) Application (GSC-16126-1)
- Housekeeping (HK) Application (GSC-16127-1)
- Health and Safety Application, (GSC-16151-1)
- Software Bus Network (SBN) Application (GSC-16917-1)