(A Formal Model of Component Variability Types and Scope)

컴포넌트 가변성 유형 및 Scope에 대한 정형적 모델

  • 소동섭 (숭실대학교 대학원 컴퓨터학과) ;
  • 신규석 (한국정보통신기술협회) ;
  • 김수동 (숭실대학교 컴퓨터학과)
  • Published : 2003.06.01

Abstract

Component-based development(CBD) has been generalized in industry to master the complexity and reduce the development cost and time. However, current CBD practice is developing the component which is dependent on single application[l][2]. Therefore component variability is emphasized to reuse the component in many family members in a domain[8]. However, components are developed for the reason of replaceability rather than the reusability which is the main purpose of the component due to the insufficiency of the study of component variability definition and type[3]. In this paper, we formally specify the component variability reflecting the characteristics of the component to increase the component reusability. We define the logic variability which was recognized as the existing component variability and we propose all types of variability existing in the component by suggesting three more variability types. And we propose the component variability scope which makes us estimate and verify the number of cases of the variability when we customize the component. We propose these component variability types and scope through formal specification. By applying these techniques in developing components, we can develop high quality components reusable in many family members.

시스템 개발 시 복잡성을 감소시키고 개발 비용과 기간을 단축하기 위하여 컴포넌트 기반 개발(CBD)이 산업계에서 보편화 되고 있다. 그러나, 현재 대표적인 CBD는 한 회사나 하나의 어플리케이tus에 의존적인 컴포넌트를 개발하고 있다[1,2]. 따라서 어떤 도메인의 여러 패밀리에서 컴포넌트를 재사용하기 위한 컴포넌트 가변성이 강조 되고 있다. 하지만, 컴포넌트 가변성의 정의나 유형에 대해 구체적으로 제시된 연구가 미흡하여, 컴포넌트의 주 목적인 재사용 측면보다. 유지보수 목적의 컴포넌트가 개발되고 있다[3]. 본 논문에서는 컴포넌트의 재사용성을 높이기 위하여, 컴포넌트 특징을 반영한 컴포넌트 가변성을 정형적으로 정의한다. 또한, 기존의 컴포넌트 가변성으로 인식된 논리 가변성을 명확하게 정의하고, 추가로 3가지 가변성 유형을 제시함으로써, 컴포넌트에서 존재하는 모든 가변성 유형을 제시한다. 컴포넌트 커스터마이제이션시에 가변성의 경우의 수를 예측, 확인 할 수 있는 컴포넌트 가변성 Scope를 제시한다. 컴포넌트 개발에 있어서 이러한 기법을 적용함으로써, 여러 패밀리 멤버에서 재사용 할 수 있는 고품질의 컴포넌트 개발을 지원 할 수 있다.

Keywords

References

  1. D'Souza D., Wills A., Objects, Components, and Frameworks with UML, Addison Wesley, 1999
  2. HP Company, Engineering Process Summary: Fusion2.0, Hewlett-Packard Company, January 1998
  3. Cheesman J., Daniels J. UML Components : A Simple Process for Specifying Component-Based Software, Addison Wesley, 2001
  4. Grahn G., 'Transition from Conventional to Component-based Development', in Int'l Workshop on Component-Based Software Engineering, pp. 78-82, 1999
  5. Veryad R., SCPIO: Aims, Principles and Structure, SCPIO Consortium, April 1998
  6. Compuware Corp., UNIFACE Development Methodology V7.2, COMPUWARE Corp., 1998
  7. Atkinson C, Bayer J., Bunse C, Kamsties E., Laitenberger O., Laqua R., Muthig D., Paech B., Wust J, Zettel J., Component-based Product Line Engineering with UML, Addison Wesley, 2001
  8. Weiss D. M., and Lai C.T.R., Software Product Line Engineering: A Family Based Software Engineering Process, Addison Wesley, 1999
  9. Lee S., Yang Y., Cho E., Kim S. Rhew S., 'COMO: A UML-based Component Development Methodology', APSEC, pp. 54-61, 1999
  10. Bachmann F., Bass Len, 'Managing Variability in Software Architecture,' at URL:http://www.sei.cmu.edu/plp/variability.pdf, Software Engineering Institute(SEI), 2001
  11. Kang K. C, Cohen, S. G., Novak, W. E. and Peterson, A. S., 'Feature-oriented Domain Analy-sis(FODA) Feasibility Study', Technical Report CMU/SEI-90-TR-21, Software Engineering Insti-tute(SEI),' November 1990
  12. Coplien J., Hoffman D., Weiss D., 'Commonality and Variability in Software Engineering', IEEE Software, pp. 37-45, November 1998 https://doi.org/10.1109/52.730836
  13. Object Management Group, OMG Unified Modeling Language Specification, OMG, September 2001