Component Grid: A Developer-centric Environment for Defense Software Reuse

컴포넌트 그리드: 개발자 친화적인 국방 소프트웨어 재사용 지원 환경

  • Received : 2010.11.16
  • Accepted : 2010.12.22
  • Published : 2010.12.31

Abstract

In the defense software domain where large-scale software products in various application areas need to be built, reusing software is regarded as one of the important practices to build software products efficiently and economically. There have been many efforts to apply various methods to support software reuse in the defense software domain. However, developers in the defense software domain still experience many difficulties and face obstacles in reusing software assets. In this paper, we analyze practical problems of software reuse in the defense software domain, and define core requirements to solve those problems. To meet these requirements, we are currently developing the Component Grid system, a reuse-support system that provides a developer-centric software reuse environment. We have designed an architecture of Component Grid, and defined essential elements of the architecture. We have also developed the core approaches for developing the Component Grid system: a semantic-tagging-based requirement tracing method, a reuse-knowledge representation model, a social-network-based asset search method, a web-based asset management environment, and a wiki-based collaborative and participative knowledge construction and refinement method. We expect that the Component Grid system will contribute to increase the reusability of software assets in the defense software domain by providing the environment that supports transparent and efficient sharing and reuse of software assets.

국방 소프트웨어 개발 분야는 응용 도메인이 다양하며 각 도메인의 규모도 다른 분야보다 커서 소프트웨어 자산의 재사용이 중요시 되고 있고, 재사용 되는 자산의 품질 및 신뢰성이 강조된다. 국방 분야에서 이러한 중요성을 인식하고 재사용 방법론들을 개발하여 사용하려는 시도가 많았지만 체계적인 재사용이 이루어지지 않아 재사용 이익을 극대화 하지 못하였다. 본 연구에서는 실질적으로 재사용이 왜 잘 이루어지지 않는지에 대한 문제점들을 분석하고, 이러한 문제점들을 해결할 수 있는 요구사항들을 정리하였다. 이러한 요구사항을 만족하며 전군적 소프트웨어 재사용을 지원하는 개발자 친화적인 재사용 지원 환경인 컴포넌트 그리드 시스템을 개발하고 있다. 컴포넌트 그리드 시스템 개발을 위해 아키텍처를 설계하였고, 아키텍처를 구성하는 세부적인 핵심 요소들과 그 역할을 정의하였다. 개발자 부담의 감소를 위한 시맨틱 태깅(Semantic Tagging) 기반의 요구사항 추적 기술을 개발하였고, 재사용 지식 표현 모델을 개발하였다. 또한 개발자들 간의 자유로운 의사소통 과 자산 및 지식의 교류를 지원하기 위해 웹 기반의 자산 관리 환경과 소셜 네트워크 기반의 자산 검색 및 커뮤니티 추천 기법, 위키(Wik) 기반의 참여적, 협력적 지식 정제 및 증식 환경을 개발하였다. 이러한 접근법들을 통합하여 재사용을 지원할 수 있는 웹 기반 컴포넌트 그리드 시스템의 프로토타입을 구현하였다. 본 연구를 통해 국방 소프트웨어 개발 분야에서 개발자들이 소프트웨어 자산들을 투명하고 효율적으로 공유 및 재사용이 가능하게 하여 국방 소프트웨어의 재사용성 및 품질을 향상시킬 수 있으리라 기대한다.

Keywords