Variability Support in Component-based Product Lines using Component Code Generation

컴포넌트 코드 생성을 통한 컴포넌트 기반 제품 라인에서의 가변성 지원

  • 최승훈 (덕성여자대학교 컴퓨터학부)
  • Published : 2005.08.01

Abstract

Software product-lines is the software development paradigm to attain the rapid development of quality applications by customizing the reconfigurable components and composing them based on predefined software architectures. Recently various methodologies for the component-based product lines are proposed, but these don't provide the specific implementation techniques of the components in terms of variability resolution mechanism. In other hand, the several approaches to implement the component supporting the variabilities resolution are developed, but these don't define the systematic analysis and design method considering the variabilities from the initial phase. This paper proposes the integration of PLUS, the one of product line methodologies extending UML modeling, and component code generation technique in order to increase the efficiency of producing the specific product in the software product lines. In this paper, the component has the hierarchical architecture consisting of the implementation elements, and each implementation elements are implemented as XSLT scripts. The codes of the components are generated from the feature selection. Using the microwave oven product lines as case study, the development process for the reconfigurable components supporting the automatic variability resolution is described.

소프트웨어 제품 라인은 소프트웨어 자산에 존재하는 재구성 가능한 컴포넌트를 구체화하고 미리 정의된 아키텍처를 기반으로 조립함으로써 고품질의 응용 프로그램을 효율적으로 개발하기 위한 패러다임이다. 최근 컴포넌트 기반의 여러 가지 제품 라인 개발 방법론들이 제안되었지만, 가변성 지원 컴포넌트의 구체적인 구현 기술은 제공하지 못하고 있다. 한편, 가변성을 지원하기 위한 여러 가지 구현 기술이 개발되었지만, 이러한 구현 기술은 개발 초기부터 가변성을 고려한 체계적인 분석 및 설계 방법을 제공하지 못한다. 본 논문에서는, UMI 모델링 기법을 확장한 컴포넌트 기반 제품 라인 개발 방법론인 PLUS와 컴포넌트 자동 생성 기법을 결합하여 특정 제품 생산의 효율성을 높이는 기법을 제안한다. 본 논문에서의 컴포넌트는 가변성을 지원하는 구현 부품들이 계층 구조를 이루며 각 구현 부품들은 XSLT 스크립트로 작성된다. 특성 모델에서 선택된 특성들로부터 개발자가 원하는 컴포넌트의 코드가 자동 생성되며, 마이크로웨이브 오븐 제품 라인을 사례 연구로 해서 가변성 지원 컴포넌트의 개발 프로세스를 살펴본다.

Keywords