brunch

You can make anything
by writing

C.S.Lewis

by 김진회 Jun 09. 2024

FACE란 무엇인가

모듈화 된 항공 소프트웨어를 위한 레퍼런스 아키텍처



"MOSA (Modular Open System Architecture)"는 무기 체계의 라이프 사이클 개선, 획득 전략 향상 등을 목적으로 무기 체계의 아키텍처를 오픈 아키텍처, 모듈러 아키텍처로 만드는 원칙을 의미합니다. 자주 언급하는 바이지만, MOSA는 철학이자, 원칙이고 방향성입니다. 그 자체는 손에 잡을 수 있는 결과물이 없습니다.


다만, MOSA의 원칙에 따라서 무기 체계의 영역 별로 그것을 구현하기 위한 레퍼런스 아키텍처를 만들었는데, 이번 글에서 소개할 FACE (Future Airborne Capability)는 항공 소프트웨어 영역의 레퍼런스 아키텍처로 볼 수 있습니다.


다시 말하면, FACE (Future Airborne Capability Environment)는 항공 소프트웨어 영역에서 MOSA (Modular Open System Architecture) 철학을 실현한 결과물입니다. 그렇기 때문에 FACE (Future Airborne Capability)를 이해하기 위해선 MOSA (Modular Open System Architecture)를 어떤 식으로 실현했는지 파악하는 자기가 중요합니다.



MOSA의 철학을 명확히 이해하고 있다면, FACE를 왜 만들게 되었는지 반복해서 설명할 필요는 없습니다. 다만, 도입 배경은 명확히 이해할 필요가 있습니다. 아래 그림에서 보듯이 항공 전투체계를 만들 때마다 탑재되는 소프트웨어가 있습니다. 그것은 항공 전투체계마다 일부러 노력하지 않는다면 만드는 비용과 시간은 왼쪽처럼 처음 개발하는 방식과 동일하게 소모가 될 겁니다. 이것을 막고자 하는 게 오른쪽의 모습이죠. FACE를 통해서 전략적으로 소프트웨어 재사용 비율을 높이고, 그만큼 소프트웨어를 개발하는 비용이나 시간을 줄이길 기대하는 겁니다.



그런데, 현실은 더욱 복잡합니다. 전투 체계마다 소프트웨어의 규모가 동일하다면, 한번 개발한 소프트웨어가 변화하지 않는다면 재사용 규모만 늘리는 것으로 문제를 해결할 수 있겠죠.




지금까지 무기 체계의 발전을 고려해 보면, 타 산업과 유사하게 무기 체계 또한 점차 복잡한 작전 운용 성능 요구, 복잡한 작전 장비 활용, 새로운 전자 시스템의 등장으로 탑재된 소프트웨어의 규모와 규모에 따른 복잡성이 커지고 있습니다. 그 과정에서 긴 리드타임, 개선/업그레이드/보완의 어려움, 다양한 전투기 플랫폼에 특화된 설계로 인한 하드웨어/소프트웨어 재사용성 부족 등의 문제가 발생합니다. 그리고, 그 결과로 신규 전투기 시스템을 개발하는데 비용이나 일정이 증가하게 됩니다.


이런 문제를 개선하기 위해서 FACE는 모듈러 아키텍처, 오픈 아키텍처 적용하여 소프트웨어 이식성, 재사용성을 향상시키고자 했고, 종국에는 무기 체계 획득을 위한 전수명주기 내 경제성, 최대한 빠르게 새로운 역량을 구현하고, 현장 적용을 위한 소프트웨어 역량을 개선하고 싶은 것이죠.


그 외에도 기술 혁신 또는 새로운 기술 접목의 가속화, 크로스 플랫폼 간의 소프트웨어 모듈성, 이식성, 재사용성 향상, 기성품 소프트웨어 레지스트리 생성, 다른 오픈 아키텍처와 산업 표준과의 조정 등도 FACE를 도입하여 기대할 수 있는 특성입니다.



종합하면, FACE는 인터페이스 표준화, 모듈화된 계층 (작전 역량에 대한 비즈니스 로직, 플랫폼 특화된 특징 간의 분리)으로 구성된 레퍼런스 아키텍처로 이를 활용해서 이식성 높고, 재사용성이 강한 소프트웨어 역량 개발하는 것이 목표입니다.


그렇다면 FACE에 대해서 알고 싶다면 어떤 것을 봐야 할까요?


하나의 무기 체계를 하나의 플레이어가 모두 만드는 경우는 극히 드뭅니다. 여러 회사, 여러 기관이 협업하여 하나의 무기 체계를 만들어 내죠. 그리고, 무기 체계의 소프트웨어, 부체계의 소프트웨어, 소프트웨어 컴포넌트 등 다수의 이해관계자가 참여를 해야만 효과를 낼 수 있기 때문에 FACE 홈페이지에는 FACE에 대한 자료가 공개되어 있습니다.


대표적인 문서 자료가 이번 글에서 소개할 FACE Business Guide를 포함하여 FACE Technical Standard, FACE Reference Implementation이 있습니다. FACE Business Guide는 왜 FACE를 활용해야 하는지 목적과 비즈니스 가치를 담고 있는 문서이고, FACE Technical Standard는 Reference Architecture 문서이고, FACE Reference Implementation는 실제로 FACE를 활용하여 구현할 때 활용할 문서 자료입니다.


다음은 문서 별 설명입니다.


FACE Business Guide: FACE를 써야 하는지 이유를 알고 싶을 때 활용합니다. 문서 내에는 “가치 제안과 비즈니스 요인을 포함하고 있습니다.          

FACE Technical Standard: FACE를 활용하여 시스템을 설계할 때, 활용합니다. 문서 내에는 아키텍처를 구성하는 구성요소와 구성 요소 간 인터페이스를 포함하고 있습니다. 해당 문서의 Reference Architecture를 적용하면 다양한 하드웨어 컴퓨팅 환경에 걸쳐서 특정 역량 기반의 소프트웨어 컴포넌트의 재사용을 증대시킵니다.          

FACE Reference Implementation: FACE로 시스템을 구현할 때 활용합니다.          

그 외에 FACE Conformance Program, FACE Contract Guide, FACE Library Infrastructure Documents 등의 문서가 포함되어 있습니다.          


MOSA의 철학을 기초로 만들어졌기 때문에 FACE의 핵심 키워드는 “모듈러 아키텍처”, “오픈 아키텍처”입니다. 각각 어떤 식으로 반영되었는지 살펴보면 다음과 같습니다.


첫 번째, FACE를 통해서 소프트웨어가 모듈성을 높이기 위해서, 또는 모듈러 아키텍처를 갖도록 하기 위해서 다음과 같은 설계를 수행합니다.


소프트웨어 구성요소를 그룹핑하여 유사한 역할을 담당하는 그룹 별로 분할된 설계를 수행한다. (모듈화)   

모듈들이 전 수명주기를 걸쳐서 분리하여 경쟁하고, 설치될 수 있도록 높은 응집성, 느슨한 의존성을 갖도록 한다.          


첫 번째 설계 특성은 해당 모듈러 아키텍처의 구성요소가 무엇인지 결정하는 것이고, 두 번째 설계 특성은 구성요소 간의 인터페이스를 결정하는 것입니다. 모듈러 디자인의 일반적인 방식과 동일하죠.


두 번째, 모듈러 아키텍처를 사용하는 목적과 중복되는 측면이 있지만, 오픈 아키텍처는 결국 다수의 플레이어가 상호 의존하지 않고, 자신의 역할을 수행하여 결과적으로는 무기 체계의 전수명주기 경쟁력을 높이는 데 활용됩니다.


모듈러 디자인, 느슨한 의존성과 높은 응집성을 특징으로 하는 모듈러 디자인은 표준을 기반으로 하고, 시스템 컴포넌트 독립적인 획득이 가능하게 한다.          

협업과 신뢰를 기반으로 하는 엔터프라이즈 인베스트먼트 전략은 검증된 하드웨어, 소프트웨어 시스템 설계의 재사용을 높이고, 우리가 최선을 얻기 위해서 최소의 비용을 쓸 수 있음을 확신할 수 있다.          

검증된 기술 적용과 소프트웨어 제품 업그레이드 테크닉을 통해서 소프트웨어 인텐시브 시스템에 대한 라이프사이클 지속 전략의 전환이 가능하다.          

시스템 설계 투명성, 지속적인 설계 공개, 정부/학계/산업 피어 리뷰를 통해서 지속적인 설계 극적인 개발 리스크를 절감할 수 있다.          

라이프 사이클에 걸쳐서 수준 높은 경쟁 환경과 대체 솔루션 및 소스에 대한 접근을 보장하기 위해서 데이터 권한의 전략적인 사용을 활용한다.          


마지막으로 FACE를 통해서 얻을 수 있는 이점에 대해서 살펴보겠습니다.


앞서 설명한 목적과 연결되는 부분입니다만, 정부와 기업의 이점으로 구분할 수 있습니다.



국가 입장에서는 무기 체계의 생명 주기를 늘리고, 그것에 해당하는 비용을 줄이는 이점이 있습니다. 생명 주기를 늘리는 것이 단순히 유지 보수를 잘해서 고장 안 나고 정상적으로 운영할 수 있는 기간을 늘리는 것만을 의미하는 것이 아니고, 기술 변화, 상황 변화에 따라서 무기 체계를 진화 시키는 데 비용과 기간을 줄이는 것도 포함하고 있습니다. 물론, 신규 무기 체계를 만들 때 필요한 자원도 전략적 재사용을 통해서 최소화하는 것이 기본이겠죠. 예전에도 소개했지만, 특정 플레이어에 의존하여 공급망의 리스크를 높이는 것도 사전에 방지하는 것도 이점입니다.



산업계에서는 다양한 무기 체계에 대한 요구사항을 최대한 저비용으로 대응할 수 있고, 개발 기간을 단축함으로써 시스템 전반적으로 감내해야 하는 리스크도 줄일 수 있습니다. 기술 변화에 따라서 체계 변화에 능동적으로 대응할 수 있고, 다수의 무기 체계에 활용되는 자원을 효율적으로 배치할 수 있다는 이점도 가지고 있습니다.


지금까지 FACE가 무엇인지, 왜 FACE를 도입하려고 하는지에 대해서 다뤄봤습니다.


마지막으로 이전 글에서 다뤘던 소프트웨어 모듈화 활동과 FACE 간의 관계를 설명하고 마치겠습니다. 소프트웨어 모듈화는 결과적으로 FACE와 같은 결과를 만드는 활동입니다. 대상이 되는 시스템이 FACE Reference Architecture를 적용한 것과 같이 모듈러 아키텍처를 갖도록 만드는 것이 소프트웨어 모듈화 활동입니다. 그렇다면 FACE는 무엇일까요? FACE는 모듈화된 결과물이 있는 겁니다. 정확히 말하면 FACE에서 시키는 대로 만들면 모듈화가 된 소프트웨어를 얻을 수 있는 것이죠.


그래서, FACE와 같은 것을 만들고 싶다면 소프트웨어 모듈화 활동을 하면 되고, 그것이 아니라면 FACE를 활용해서 소프트웨어를 만들면 됩니다.









매거진의 이전글 소프트웨어 모듈화는 어떻게?
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari