I. Introduction
함정 전투관리체계(CMS:Combat Management System)는 공중, 수상 및 수중 적의 위협을 조기에 탐지 및 추적하는 센서체계와 자함 및 구역 방어를 위한 무장체계 등을 통제 및 관리하는 함정 전투력의 핵심이 되는 체계이다[1][2]. 함정 전투관리체계 중 하나인 TV비디오는 추적레이더나 전자광학추적장비의 TV카메라 영상을 사용해 표적을 더 정확하고 상세하게 식별하는 기능을 수행한다[3].
최초 국내 개발 전투관리체계가 적용된 PKG(유도탄고속함)의 경우 취역한지 10년이 넘는 함정들이 많으며, 개발당시 장착했던 상용품 COTS(Commercial Off the Shelf) 대부분이 이미 단종되거나, 단종 예정에 있다. 이러한 문제를 해결하기 위해 2016년 PKG를 시작으로 수명주기지원(LTS) 사업이 활발히 이루어지고 있다[4]. 수명주기 지원 사업은 하드웨어의 고장 및 단종에 대비하고 소프트웨어의 기능을 개선하는 등 함정의 상시 전투준비태세 유지 및 기능개선을 위한 사업이다.
하드웨어 단종대체 시 변경된 하드웨어에 호환되는 API 라이브러리를 적용하기 위해 소프트웨어 수정이 필요하다. 소프트웨어 수정은 신뢰성 검증을 위한 정적시험(CodeSonar [5], QAC [6]) 및 동적시험(CodeScroll Controller Tester [7]) 과 소프트웨어의 정상 동작을 확인하기 위한 기능시험의 수행을 요구하게 된다. 신뢰성시험 및 기능시험은 소스코드의 변경이 클수록 더 많은 시간을 사용하게 되며, 이는 결국 하드웨어 단종대체 비용의 증가로 이어진다.
또한 변경된 대체품을 모든 함정에 바로 적용하지 않고 기존 장착품의 재고 보유량에 따라 가변적으로 대체품을 장착하는 경우가 많다. 이는 소프트웨어의 형상관리에도 부정적인 영향을 미친다. 기존 장착품의 경우 모든 함정을 한 가지의 버전으로 관리할 수 있지만, 대체품과 기존품이 혼용될 경우 소프트웨어를 두 가지 버전으로 관리해야 한다. 이러한 형상관리 역시 단종대체의 비용을 상승시키는 요인이 된다.
본 논문에서는 수명주기지원(LTS) 사업으로 최근 단종대체를 진행하고 있는 TV비디오 프로그램을 대상 소프트웨어로 선정하여 단종대체 비용 절감을 위한 표준 설계를 제안한다. TV비디오 소프트웨어의 구조를 분석하여 가변 요소와 공통 요소를 분리하고 디자인 패턴을 적용하여 소프트웨어 구조를 새롭게 설계하였고, 기존 소프트웨어 구조와 비교하여 비용 감소 효과를 검증한 결과를 제시하였다.
본 논문의 구성은 다음과 같다. 2장에서 함정의 전투관리체계의 구조와 기존 TV비디오의 구조를 설명하고, 휘처기반 재사용 방법(FORM)과 Strategy 디자인 패턴에 대해 살펴본다. 3장에서는 새로운 TV비디오 소프트웨어 설계를 제안하고, 4장에서 기존 소프트웨어의 단종대체 비용 및 시간과의 비교를 통해 개선 효과를 검증한다. 마지막으로 5장에서는 연구결과에 대한 결론으로 마무리한다.
II. Preliminaries
1. Background
1.1 Combat Management System
함정 전투관리체계는 크게 정보처리장치(IPN:Information Processing Node), 연동단(ICU:Interface Control Unit), 다기능콘솔(MFC:Multi-Function Console), 영상신호분배기(RVDU:Radar/Video Distrubution Unit), TV비디오 녹화기(TVR:TV Video Recorder), 레이더비디오 녹화기(RVR:Radar Video Recorder) 등으로 이루어져 있으며 전체 구성도는 Fig. 1 과 같다.
Fig. 1. Structure of Naval Combat System
1.2 TV Video
TV비디오는 센서의 TV 카메라 영상을 다기능콘솔을 통해 운용자에게 전시한다. 운용자는 TV비디오 영상을 바탕으로 표적을 더 정확하고 상세하게 식별할 수 있고, 영상 추적 기능을 통해 특정 표적을 지속 관찰할 수 있다. TV비디오의 상세 구조는 아래의 Fig. 2 와 같다[8].
Fig. 2. Structure of TV Video System
전자광학추적장비(EOTS)와 추적레이더(TRS)의 TV 비디오 영상은 영상신호분배기(RVDU)를 통해 모든 다기능 콘솔로 전달된다. 다기능콘솔의 영상처리장치(Video Processing Machine)에서 해당 영상을 자료처리기(Data Processing Machine)에 전시하여 운용자들에게 TV비디오 영상을 전시한다. TV비디오 소프트웨어는 자료처리기에서 동작하는 소프트웨어로, 시리얼 통신 방식을 통해 API 명령을 영상처리장치의 TV 카드로 전송한다.
1.3 LTS(Life Time Support)
수명주기지원(LTS)는 함정 전투관리체계의 수명주기 기간 중 성능 보장을 위해 고장대응, HW/SW 개선 등의 정비를 통합적으로 수행하는 정비개념으로, 미국의 이지스 전투체계와 함께 한국 해군에 처음 소개되었다[9].
LTS 정비의 핵심 기능 중 하나인 단종관리 기능은 부품의 단종계획을 사전에 식별하고 대체품 및 기술변경을 통해 하드웨어 단종을 관리하는 기능이다[10]. 미국 국방부에서는 "부품단종 문제 해결 지침서(DMSMS(Diminishing Manufacturing Sources and Material Shortage) Case Resolution Guide)" 를 작성하여 각종 부품단종 관련 지침을 마련하고 제도적 측면, 조직적 운영 측면 등에서 문제를 해결하기 위해 노력하고 있다[11]. 현재 운용중인 함정들의 핵심 상용품은 시간이 지날수록 단종되고 있고, 이를 위해 지속적인 단종대체가 이루어진다. 단종대체는 기존제품을 대체품으로 변경하는 간단한 정비처럼 보이지만 하드웨어 변경으로 인해 소프트웨어가 수정되어 단종대체 비용이 증가하고 기간이 늘어나게 된다. 따라서 이러한 문제점을 극복하고 함정들의 상시 전투준비태세를 갖추기 위해서는 효율적인 하드웨어 단종대체 방안이 반드시 필요한 상황이다.
2. Purpose of Study
2.1 Feature-Oriented Reuse Method
소프트웨어 프로덕트 라인 공학(Software Product Line Engineering)은 공통적인 프로세스를 재사용하여 개발 기간을 단축시키고 고품질의 소프트웨어를 개발하기 위한 연구이다[12].
FORM(Feature-Oriented Reuse Method) 방법은 포항공과대학교 소프트웨어 공학 연구실에서 제안한 대표적인 소프트웨어 프로덕트 라인 공학 방법론[13] 중 하나로, 엘리베이터 제어 시스템 등 다양한 시스템의 프로덕트 라인 공학에 적용되었고, 여러 프로덕트 라인 공학 방법에서 확장되어져 오고 있다. FORM 방법은 주로 소프트웨어 제품들의 가변성과 공통성을 분석하여 제품 개발의 생산 및 유지보수를 높이는 방법으로 사용된다.
저자 Youngdong Heo의 연구[14]에서 가변요소와 공통요소를 휘처 모델을 적용하여 분리하여 재사용성이 향상되는 결과를 확인하였다. 본 논문에서는 TV비디오 소프트웨어를 FORM 방법을 적용해 가변요소와 공통요소를 식별하였다. 또한 가변요소로 식별된 하드웨어 종속 API를 공통요소와 분리하고 공통요소는 재사용이 가능하도록 소프트웨어 구조를 재설계하였다.
2.2 Strategy Pattern in Design Pattern
소프트웨어 디자인 패턴은 1990년대에 에릭 감마(Erich Gamma), 리차드 헬름(Richard Helm), 존 블리지드(John Vlissides), 랄프 존슨(Ralph Johnson)에 의하여 체계적으로 정리되어 책으로 발표되었고, 팀의 이름을 따서 ‘GoF(Gang of Pattern) 패턴’ 이라고 불렸으며, 23가지의 패턴으로 정리되어져 있다[15].
Strategy 패턴은 GoF 디자인 패턴 중 하나로, 특정 컨텍스트에서 알고리즘을 별도로 분리하여 설계하는 객체 지향의 기본 베이스가 되는 패턴이다. Strategy 패턴은 확장에 유리한 소스코드를 작성할 수 있고, 기존 소스코드 변경 없이 새로운 기능을 추가할 수 있다. Strategy 패턴의 기본 구조는 Fig. 3 와 같다[16].
Fig. 3. Default Diagram of Strategy Pattern
하드웨어 단종대체는 관리해야하는 소프트웨어 형상을 증가시키고 이는 결국 기간과 비용의 증가를 초래한다. 이번 연구에서는 소프트웨어 버전 한가지로 단종품과 대체품에서 동일하게 동작하기 위해 동적으로 하드웨어 종속 API를 결정하기 위해 Strategy 패턴을 적용하였다. 또한 Strategy 패턴을 사용해 하드웨어 종속 API를 손쉽게 추가 및 수정할 수 있도록 설계하였다.
III. The Proposed Scheme
1. Analysis with Feature Model
FORM을 통해 기존 TV비디오 소프트웨어의 가변요소와 공통요소를 식별하였다. Fig. 4 는 기존 TV비디오 소프트웨어를 FORM을 통해 분석한 그림이고, Table. 1은 TV 비디오 소프트웨어를 휘처 모델을 적용하여 가변요소와 공통요소를 정리한 표이다.
Fig. 4. Feature Model of TV Video Software
Table 1. Factor of TV Video Software
함정 전투관리체계 소프트웨어는 오류를 제외하고는 운용중에 기능 수정이 거의 발생하지 않기 때문에 하드웨어 단종대체 시 발생하는 소프트웨어 수정이 대부분을 차지한다. 따라서 하드웨어 교체에 따른 수정 요소가 없는 기능을 공통요소로, 수정 요소가 있는 기능을 가변요소로 정의하였다. 공통요소는 운용자의 명령을 수신하고 전투관리 체계와 센서체계의 상태를 관리하는 부분으로 내부 메시지를 처리하는 기능을 수행한다. 가변요소는 TV카드와 외부 통신하는 부분으로 운용자의 명령을 TV카드로 전달하는 기능을 수행한다. 기존 TV비디오 소프트웨어의 경우 공통기능과 가변기능이 같은 클래스에 구현되어 있어서 하드웨어 단종대체 시 수정되는 클래스가 증가해 비용의 상승을 초래했다. 이번 연구에서는 FORM을 통해 식별한 가변요소와 공통요소를 서로 다른 클래스로 분리하여 재사용성을 증가시키도록 설계하였다.
2. Analysis with Exist Software Class
Fig. 5 와 Table. 2 는 현재 설계된 TV 비디오의 클래스 다이어그램과 클래스에 대한 설명이다.
Fig. 5. Exist TV Video Software Class Diagram
Table 2. Exist TV Video Software Class Description
Fig. 5 와 같이 TV비디오 소프트웨어는 총 6개의 클래스로 구성된다. 아래의 Table. 3 는 TV 카드의 상태정보를 요청하는 TVDlg 클래스의 함수 코드이다. 이와 같이 기존 TV비디오 소프트웨어는 하드웨어 종속 API를 각래스에서 직접 사용함으로써 단종대체시 소프트웨어의 수정을 초래한다. 하드웨어 종속 API를 직접 사용하는 클래스는 TVDlg, TVEncode, TVViewPortEOTS, TVViewPortTRS 클래스로, 전체 소스코드의 50%가 넘는 비율을 차지한다.
Table 3. Exist TVDlg Class Source Code
3. Architecture Design with Strategy Pattern
TV비디오 소프트웨어의 수정을 최소화하고 재사용성을 높이기 위한 FORM 방법과 하드웨어 단종대체로 인한 하드웨어 종속 API를 효율적으로 적용하기 위한 Strategy 패턴을 적용하여 새롭게 설계한 TV비디오 소프트웨어를 아래 Fig. 6 와 Table. 4 에 표현하였다.
Fig. 6. Proposed TV Video Software Class Diagram with Strategy Pattern
Table 4. New TV Video Software Class Description
새롭게 설계한 TV비디오 소프트웨어는 하드웨어 종속 API를 직접 호출하는 TVDlg, TVViewPortEOTS, TVViewPortTRS 클래스의 소스코드를 수정하고 새로운 클래스 TVInterface, TVApiA, TVApiB 클래스를 추가하였다. 부모 클래스인 TVInterface 클래스는 직접 TV 카드와 통신하는 클래스인 TVApiA, TVApiB를 자식 클래스로 가진다. 부모 클래스 TVInterface는 실행 시점에 어떤 API를 사용할지 결정하게 된다.
Table. 5 는 TVDlg 클래스에서 TV 카드의 상태정보를 요청하는 함수를 수정한 소스코드이다. 기존과 달리 하드웨어 종속 API를 직접 사용하지 않고 TVInterface 클래스의 함수를 호출한다. 따라서 하드웨어 단종대체로 인해 API가 변경되더라도 TVDlg 클래스는 그대로 재사용 할 수 있다.
Table 5. New TVDlg Class Source Code
Table. 6 는 TVInterface 클래스의 생성자 함수의 소스코드로, TVDlg 클래스에서 TVInterface 객체를 생성할 때 TV 카드의 종류에 따라 어떤 API를 사용할지 결정하는 과정을 보여준다. 또한 Table. 7 에서 TVInterface, TVApiA 클래스의 구조를 나타내었다.
Table 6. New TVInterface Class Source Code
Table 7. New TVInterface and TVApi Class Structure
새롭게 설계한 TV비디오 소프트웨어는 새로운 TV 카드가 장착될 경우 TVInterface 클래스를 수정하고, TVApiC 클래스를 추가만 하면 된다. 나머지 클래스의 경우 그대로 재사용 가능하게 되어 소프트웨어 기능시험이나 신뢰성시험의 범위가 획기적으로 감소하게 된다. 따라서 단종대체의 기간 및 비용을 감소시킬 수 있다. 또한, 새로운 TV 카드가 모든 함정에 소급적용 되기 전, 기존 TV 카드와 혼용될 경우에도 하나의 버전으로만 관리할 수 있게 된다. 이는 단순히 하드웨어 단종대체의 비용을 절감시키는 것 뿐만 아니라 기존제품을 언제든지 재고로 활용하여 다른 함정의 정비에 바로 사용할 수 있다는 장점도 얻을 수 있다.
IV. Test and Evaluation
본 논문에서 설계한 TV비디오 소프트웨어의 효과를 확인하기 위해 하드웨어 단종대체 수행에 따른 소프트웨어 소스코드 수정 요소와 신뢰성시험 수행 시간 및 기능시험 수행 시간을 비교하고 평가하였다. 비교 실험 환경은 아래 Fig. 7 및 Fig. 8 과 같다.
Fig. 7. Environment for Verification
Table 8. Environment for Verification
먼저 소프트웨어 소스코드 수정 요소를 비교하기 위해 전체 소스코드 라인 수, 수정되는 소스코드 라인 수, 재사용률을 비교하였다. 다음으로 신뢰성시험의 실제 수행시간과 신뢰성시험의 대상이 되는 소스코드 라인 수를 비교하였다. 마지막으로 기능시험의 실제 수행시간과 시험 테스트케이스 수를 비교한 후 하드웨어 단종대체에 발생하는 비용을 계산 및 비교하였다.
1. Analysis of the Source Code
기존 TV비디오 소프트웨어와 제안한 소프트웨어의 소스코드 수정 요소를 비교하기 위해 하드웨어 단종대체 수행에 따른 전체 소스코드 라인 수와 수정되는 소스코드 라인 수 및 재사용률을 아래 Table. 9 에서 비교하였다.
Table 9. Compare Software Source Code
Table. 9 와 같이 하드웨어 단종대체시 새롭게 설계한 TV비디오 소프트웨어에서 수정 또는 추가되는 소스코드 라인 수는 108 라인이며, 재사용률은 97.6%이다. 기존과 비교하여 소스코드 재사용률이 18.4% 증가했고, 수정되는 소스코드 라인 수는 87.9% 감소하는 것을 확인하였다.
2. Analysis of the Reliability Test Time
기존 TV비디오 소프트웨어와 새롭게 설계한 소프트웨어의 신뢰성시험 시 대상이 되는 소스코드 라인 수 및 수행시간에 대한 실험 결과를 아래 Table. 10 에서 비교하였다. 신뢰성시험은 정적시험(CodeSonar, QAC)과 동적 시험(CodeScroll Controller Tester)을 수행하였으며, 실험 환경에서 실제 수행한 시간을 측정하였다.
Table 10. Compare Time to Perform Reliability Test
Table. 10 과 같이 하드웨어 단종대체시 새롭게 설계한 TV비디오 소프트웨어의 신뢰성시험 수행 시간은 총 6시간으로, 기존 44시간에 비해 86.4% 감소하였다. 또한 신뢰성시험 대상이 되는 소스코드 수는 기존에 비해 93.5% 감소하였다.
3. Analysis of the Functional Test Time
아래 Table. 11 은 제안한 TV비디오 소프트웨어와 기존 소프트웨어의 기능시험 수행 시간과 테스트케이스 수를 비교한 결과이다.
Table 11. Compare Time to Perform Functional Test
하드웨어 단종대체시 새롭게 설계한 TV비디오 소프트웨어의 기능시험 수행 시간은 12시간으로, 기존 40시간에 비해 70.0% 감소하였다. 소프트웨어 수정 요소의 감소로 확인해야 하는 기능시험 테스트케이스 수도 66.7% 감소하였다.
4. Analysis of the Cost
제안한 소프트웨어와 기존 소프트웨어의 하드웨어 단종 대체 수행에 따른 비용을 위의 실험 결과들을 바탕으로 Table. 12 에 산출하였다. 비용 산출에는 한국소프트웨어산업협회가 공고한 응용SW 개발자의 평균임금을 적용하였다.
Table 12. Compare Cost for Hardware Discontinuation Replacement
새로운 TV비디오 소프트웨어의 하드웨어 단종대체 비용은 688,577원으로 기존 단종대체 비용 3,213,357원에 비해 78.6% 감소하였다. 또한, 위 Table. 12 는 객관적인 비교를 위해 신뢰성시험 수행 시간과 기능시험 수행 시간의 감소만으로 산출된 비용이다. 실제 하드웨어 단종대체시 수행되는 소프트웨어 설계, 구현 및 형상관리 등 다른 단계에서도 비용 감소를 기대할 수 있다.
V. Conclusions
함정 전투관리체계는 지속적인 하드웨어 단종대체를 통해 함정의 작전운용능력을 유지하고 개선하는 방식으로 이어왔다. 하지만 기존방식의 하드웨어 단종대체는 불필요한 소프트웨어 수정으로 인한 기능시험, 신뢰성시험, 형상 관리 등 단종대체 비용의 상승과 단종대체 기간의 장기화를 초래하였다.
본 논문에서는 기존 TV비디오 하드웨어 단종대체시 발생하는 불필요한 소프트웨어 수정을 최소화하는 개선된 단종대체 표준 아키텍처에 대한 연구를 진행하였다. FORM 방법을 통해 공통 요소와 가변 요소를 구분하여 클래스 구조를 재설계하였고, Strategy 패턴을 적용하여 향후 하드웨어 단종대체시 수정되는 소프트웨어를 최소화함과 동시에 효율적인 형상관리가 될 수 있도록 하였다. 또한 새로운 TV비디오 소프트웨어의 신뢰성시험과 기능시험 수행 시간 및 하드웨어 단종대체 비용의 감소를 확인하였다. 본 논문에서 제안한 소프트웨어 아키텍처는 향후 LTS 하드웨어 단종대체시 적용 할 예정이며 단종대체 비용 및 기간의 감소로 함정들의 상시 전투준비태세를 갖추는데 도움이 될 것으로 예상된다.
References
- Go Soon Joo, "Development and Advance of Combat System in preparation for Network-Centered Warfare" The Magazine of the IEEE, 37(11), pp.27-38, Nov 2010.
- Shin Hun Yong, Kim Joo Yong, "Research of OSD Standardization in Naval Combat System" The Korean Institute of Electrical Engineers, pp.354-355, Oct 2012.
- Ma Jin Suk, Kang Myung Sook, Kwon Woo Hyen, Im Sung Woon, Byun Seung Whan, "Time Delay Compensation of the Image Sensor in Electro-Optical Tracking System" Journal of the Korean Sensors Society, 7(1), pp.23-30, Jan 1998.
- Kim Myeong Hun, "Designing Integrated Diagnosis Platform for Heterogeneous Combat System of Surface Vessels" 2021 Proceedings of the Korean Institute of Information and Commucation Sciences Conference, pp.186-188, May 2021.
- CodeSonar, https://www.mdsit.co.kr/codesonar
- QAC, https://www.perforce.com/products/helix-qac
- Codescroll Controller Tester, https://www.suresofttech.com/ko/html/tool/conde_controller.php
- Park Doo Jin, Noh Young Hwan, Sin Han Seop, "Technical Trends of Infrared Camera and Video Tracking Device in Optical Tracking System" Current Industrial and Technological Trends in Aerospace, 17(2), pp.94-102, Dec 2019
- Im Jin Guk, Choi Yong Seok, Kim Soo Beom, "Performance and Development of the warship Combat System Life Time Support", Defence and Technology, 497(1), pp.84-95, Jul 2020.
- Park Kyoung Deok, Rhee Jong Moon, "A Study on DMSMS Management for Weapon systems", Journal of the Korea Academia-Industrial cooperation Society, 14(11), pp.5866-5871, Sep 2013. DOI: https://doi.org/10.5762/KAIS.2013.14.11.5866
- Choi Seok Cheol, Lee Kyung Rok, "A Study on the Improvement of DMSMS Management for Weapon Systems", Journal of the Korea Institute of Military Science and Technology, 10(2), pp.134-141, Jun 2007.
- Kim Min Seong, Park Soo Yong, "A Domain Analysis Method for Software Product Lines Based on Goals, Scenarios, and Features", Journal of KISS : Software and Applications, 33(7), pp.589-604, Jul 2006. DOI: https://doi.org/10.1109/apsec.2003.1254365
- Kang Kyo Chul, Kim Sa Joong, Lee Jae Joon, Kim Ki Joo, Kim Gerard Joung Hyun, Shin Eui Seob, "FORM:A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures", Annals of Software Engineering 5(1), pp.143-168, Jan 1998. DOI: https://doi.org/10.1023/A:1018980625587
- Heo Young Dong, "A Study on the Standardization of System Support Software in the Combat Management System", Journal of the Korea Society of Computer and Information, 25(11), pp.147-155, Nov 2020. DOI: https://doi.org/10.9708/jksci.2020.25.11.147
- Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, "Head first Design Patterns", O'REILLY, 2005.
- Hong Sung Ho, Shin Sang Myeon, "Enhancing SW Modification Efficiency and Performance by utilizaing GOF Design Patterns for Operational Flight Program", 2016 Journal of Korean Institute of Information Science and Engineers, pp.84-86, Dec 2016.