항공기에 탑재되어 주어진 기능을 수행하는 것을 항공용 SW라 할 때, 크게 체계통합 SW와 구성품 SW로 구분할 수 있다.
구성품 SW는 항공전자시스템을 구성하여 각자 전문적 기능을 담당하는 전자장비들의 SW를 의미한다. 예를 들어 레이더, 항법장치, 통신장비 등이 해당될 수 있다. 구성품 SW는 해당 구성품 HW와 수명을 같이 하며, HW와 SW가 통합된 하나의 시스템(LRU)으로서 구성품 전문업체에 의해 개발, 생산된다.
체계통합 SW는 항공기체계의 중심이 되므로 핵심(Core)SW라고도 하며 항공기(기체, 구조, 성능, 추력 등), 조종사 및 항공전자시스템을 통합하여 제반 기능을 완성하는 역할을 한다. 임무/시현, 비행제어, 무장관리 SW 등이 이에 해당된다.
체계통합 SW는 통상 30년 이상의 항공기 수명주기 동안 발생하는 개조·개량 시 가장 빈번히 바뀌게 되는 SW로서 항공기 체계통합 업체가 개발·유지하는 것이 통상적이며 효율 및 비용측면에서도 타당하다. 세계적으로도 유수 항공기체계업체들이 이와 같은 구도를 따르고 있다.
국내 항공용 SW 개발의 시작은 KF-16 소프트웨어로 볼 수 있다. 물론 여러 기관에서 여러 분야에 걸쳐 다양한 시도가 있었을 것이나, 현재에 이르기까지 조직적으로 지속 유지 발전되어 온 줄기를 거슬러 가자면 KF-16을 그 시초로 봐도 무방할 것이다. KF-16의 체계통합 SW에 해당되는 SW들(임무/시현, 무장관리 SW)은 현재까지도 공군SW지원소에서 개발되고 있으며 얼마전 JDAM을 자체적으로 장착 운용할 수 있도록 SW개발을 하였다.
KF-16의 핵심 SW에 적용되었던 메커니즘과 아키텍쳐가 거의 그대로 T-50으로 이어졌고 KUH에도 기본적인 개념측면에서 유사한 점이 많다.
이 외에 KT-1계열도 XKT-1C를 기반으로 터키 수출형인 KT-1T의 체계통합 SW를 국내 개발하였으며, T-50 SW기술과 KT-1 SW기술을 기반으로 KUH 체계통합SW를 100% 국산화 개발하게 되었다.
한국항공우주산업(주)의 경우 체계통합SW 개발에 직접적으로 참여하는 항공전자 인력이 대략 300명으로, SW를 직접 설계/구현 및 검증하는 인력만 100명 정도가 T-50, KUH, KT-1등 여러 개발 프로젝트에 참여하고 있다. 이와 같은 풍부한 경험을 갖춘 SW개발인력의 확보도 주요 결과물이라 할 수 있을 것이다.
또한 KF-16 기술이전 및 T-50 공동개발을 통해 습득된 개발 프로세스를 기반으로 T-50 파생형 개발 및 KUH 개발을 거치면서 정형화된 개발 프로세스가 구축된 것도 주요 결과물로 볼 수 있다. 개발프로세스는 적합한 개발도구들과 통합 구축되어 체계적으로 운용되어야 하며, 항공안전기준 적용 측면에서도 필수적으로 요구되는 부분이다.
제품 측면에서 볼 때 KT-1계열은 XKT-1C 해외공동개발을 통해 확보한 체계통합 SW를 기반으로 하여 터키 수출형에서는 주요 요구사항들을 국내 주도로 개발하였다. T-50도 해외공동개발을 통해 체계통합 SW 및 관련 문서와 기술 자료들은 물론 개발환경 등 제반 능력을 확보하였다. T-50 공동개발에서 체계통합 SW 개발의 검증에 핵심이 되는 통합시험장비는 기술이전이 제한되어 기술종속이 우려되었으나, 이에 대해서는 정부과제추진을 통해 국산화를 완료하여 T-50의 기존 외산 통합시험장비를 대체하여 사용 중이다.
T-50 항공전자시스템 국산화 과제인 Air-BEST 과제는 기술종속탈피, 단종대처, 수출지향 등 여러 의미를 갖는다. 공동개발부분에 대한 기술종속 탈피를 위해 체계통합 SW 중 임무/시현 SW 및 향후 운용유지를 감안한 지상임무계획 SW까지 100% 독자개발을 통한 국산화를 하였으며 기술적인 측면에서도 항공기 수명주기 동안 원활한 운용유지와 재사용성을 고려하여 표준 SW설계언어인 UML 및 실시간 자바언어와 같은 최신추세를 적용하였다.
또한 Air-BEST과제는 항공안전기준인 DO-178을 SW에 적용할 때 요구되는 실시간운영체제의 수입대체를 위해 국산 운영체제를 인증 추진하여 DO-178B 최고안전등급인 레벨 A 인증조건(Level A Certifiable)을 획득하였다. 이 외에 T-50 임무컴퓨터 HW의 국산화를 통해 단종대처 및 향후 수출기 등에도 국산 장비의 탑재를 추진하고 있다.
KUH는 체계통합SW중 임무/시현SW 100% 국산화 및 다수의 구성품 HW/SW의 국산화가 이뤄진 과제이며 Air-BEST과제와 같이 항공안전기준인 DO-178B를 준수하여 체계통합 SW가 개발되었다. 즉, 안전성분석을 통해 SW들의 안전레벨이 지정되고, 각 레벨에 맞는 DO-178B 오브젝티브를 달성하였으며, 서로 다른 레벨의 SW간 독립성을 보장하기 위해 스케쥴링 및 메모리 파티셔닝을 구현하였다. 기술적인 측면에서도 재사용성 향상을 위해 UML 및 자동코드생성을 도입한 점과 SW정적분석 도구를 이용하여 개발 효율 향상은 물론, 개발 결과물에 대한 일관된 SW품질 및 높은 신뢰도를 추구하였다.
출처 : T-50 사례로 본 항공 SW 추세에 관한 연구(한국통신학회 2011년 추계학술대회)
- dc official App
테스트기체 수직미익 광고판 무엇
공군SW지원소발 제담 통합 저건 운용 도중에 에러가 터졌네 뭐네 이런저런 말이 많지 않았나. - dc App
용량 부족한데 기능 우겨넣는다가 버그 터져나와서 고생했다고 듣긴 했으 - dc App
실화임
임베디드가 엿 같은 게 용량제한에 따른 최적화가 개빡세서 그래.
결국 C내
요즘엔 다 C쓰나보네. 아빠는 자바쓰던데 괜찮으실랑가 - 군빨망 군까흥
air-best 과제에서는 JAVA 썼고 KFX도 아마 비슷할거임. 정확히 어떤 언어를 쓸지는 모르겠지만... - dc App
임베디드라서 C/C++ 쓰는 거지 한국에서 웹은 JAVA가 부동의 위치라서 상관없음. 나중에 덤으로 파이썬으로 넘어가시면 됨
굿정보
문제는 kfx에도 air-best를 썼을 것이냐인데. 자바는 결과물이 너무 무거워. 그럴거면 차라리 javascript가 더 좋을 수 있지만 아직 범용성/안전성에서 딴 언어들에 뒤쳐지니 c/c++ 도 좋은데 결국 전체설계하고 os성능이 좌우하겠네. 개발환경은 양쪽다 훌륭, 속도나 api/library를 봤을땐 c/c++인데 개인적으론 c/c++이길 바란다.
AESA 체계 실시간 신호처리용 라이브러리 개발 관련 논문에서 C와 C++언어 기반의 VSIPL을 언급하고 있는걸 보면 다른 체계에도 C기반 언어를 사용할 가능성도 있음. 너가 말한 것처럼 JAVA는 무겁다는 단점이 있으니깐. - dc App
자바 무겁단 얘기는 많았지만 프로세서빨로 다 씹는다던데.... 어차피 요샌 일반 자동차에 들어가는 코드가 F-35에 들어가는 그것보다 훨씬 많은시대라 - dc App
C기반 개발경험이 더 많아서(T-50A 개발할때도 C사용했으니) C 기반 언어를 더 좋아할수도 있고...성능이나 최적화나 어느 쪽을 중시할지는 KAI에서 알아서 결정하겠지 - dc App
아무리 프로세서빨 얘기해봤자 네트웤환경에서 멀티스레드 돌아가면 레이더 쪼이고 미사일 와장창 날아오고 아군비행기와 데이터링크하고 무인기랑도 데이터링크하려면 겁나 빡센 환경이지. 프로세서빨로 개발자 구렁텅이로 몰아넣는 건 장비업체들이나 서버영업하는 놈들이나 하는 건데 니가 하냐ㅋㅋㅋ
그것도 프로그램 나름대로지 저런 타임크리티컬한 장비에서는 시간 0.1초라도 무시할수 없기때문에 어떻게든 최적화하는게 최우선임. 정말 타임크리티컬한 경우 c에다가 어셈블리 코드 넣어서 최적화 하기도함
게다가 자동차나 그런 장비같은경우도 c계열을 주로 쓸껄
어제 밤에 임베디드 아재가 64KB 메모리 용량인 컨트롤러 작업 한다고 한탄 하더라. ㅅㅂ ㅋㅋㅋㅋㅋ
F-35가 C++ 이라지 코드 길이가 8백만 줄이라던가
인터넷 돌아다니면 썰이 분분한데 확실한건 최소 1100만 라인이고 최대가 2000만 라인 육박하는 듯.