컴포넌트 행위 커스터마이제이션 기법

The Customization Techniques of Component Behavior

  • 발행 : 2003.04.01

초록

다양한 도메인의 요구사항을 만족시켜 주기 위한 비즈니스 컴포넌트(Business Component)는 다양성을 제공할 수 있도록 개발되어야 한다. 그러나 컴포넌트 개발 시에 다양한 요구사항을 분석하여 개발되더라도 컴포넌트가 이용될 때 예상하지 못한 요구 사항들이 발생하기 때문에 요구 사항들을 완전하게 만족시켜 주기 위한 컴포넌트의 개발은 쉽지 않다. 이와 같은 이유 때문에 컴포넌트가 블랙 박스가 아닌 화이트 박스로 제공되므로 컴포넌트를 인터페이스에 의해 변경하는 것이 아니라 직접 코드를 변경하는 문제가 발생한다. 따라서 컴포넌트를 이용한 Time-To-Market을 이루기가 쉽지 않으며 컴포넌트의 재사용성도 떨어진다. 본 논문에서는 컴포넌트의 변경 가능한 부분을 분석하여 다양한 요구 사항을 만족시킬 수 있는 커스터마이제이션 기법을 제안한다. 컴포넌트의 초기 가변성은 컴포넌트 개발(CD : Component Development) 과정에서 설계되며 가변성 적용을 위해 커스터마이제이션 기법을 이용한다. 가변성이 적용된 컴포넌트를 이용하여 어플리케이션을 개발하는 과정에서 가변성이 재 설계될 수 있으며 이러한 과정을 통해 컴포넌트의 가변성은 진화하고 컴포넌트의 일반성은 향상될 수 있다. 본 논문에서 제시하는 커스터마이제이션 기법은 컴포넌트가 재 설계될 때 기존 컴포넌트는 전혀 변경하지 않고 확장하여 컴포넌트를 변경 할 수 있다.

The business component for satisfying a variety of domain requirements should be developed to provide a variety. But, although components are developed by analyzing the variety of requirements when they are developed, developing components that satisfy all requirements is not easy since unexpected requirements occur as it is used components. For this reason, components are not provided as black boxes but as white boxes, and there by components are not modified in the interface only but the source codes are directly modified. Accordingly, a Time-To-Market by the use of components is not easy and a reusability of the components also decreases. This study proposes a customization technique that can be satisfied requirements of many different kinds of domains by analyzing variable spots of components. The initial variability of components is designed in the component development phase. and a customization technique is used to apply the variability. The variability can be redesigned during the development of application by using the components to which the variability is applied. Through this process, a variability of components evolves and a generality of the components can be improved. The proposing customization technique in this study can change the component to extend without changing the existing component when it is redesigned.

키워드

참고문헌

  1. Szyperski C., Component Software: Beyond Object-Oriented Programming, Addison Wesley Longman, Reading, Mass., 1998
  2. Kang K: Issues in Component-Based Software Engineering, 1999 International Workshop on Component-Based Software Engineering
  3. Felix Bachman, Technical Report, CMU/SEI-2000-TR-008, ESC-TR-2000-007
  4. D souza D. F. and Wills A. C., Objects, Components, and Components with UML, Addison-Wesley, 1998
  5. Jon Hopkins, Component Primer, Communication of the ACM Vol. 43, No.10 , October 2000 https://doi.org/10.1145/352183.352198
  6. Weiss D. M., Commonality Analysis: A Systematic Process for Defining Families, Second International Workshop on Development and Evolution of Software Architectures for Product Families, February 1998
  7. Alan W. Brown and Kurt C. Wallnau, 'The Current Status of CBSE,' IEEE Software, pp.37-46, Sept./Oct. 1998 https://doi.org/10.1109/52.714622
  8. Desmond Francis D Souza, Alan Cameron Wills, Objects, component, and frameworks with UML : the Catalysis approach, Addison Wesley Longman, Inc., 1999
  9. Digre T., Business Object Component Architecture, IEEE Software, pp.60-69, September 1998 https://doi.org/10.1109/52.714818
  10. Mikio Aoyarna, New Age of Software Development : How Component-Based Software Engineering Changes the Way of Software Development, International Workshop on Component-Based Software Engineering 1998
  11. JavaWorld webzine, http://www.javaworld.com
  12. Sun Microsystems Inc., Enterprise JavaBeans Specifications, http://www.javasoft.com
  13. J. Rumbaugh et. al., Object-Oriented Modeling and Design, Prentice Hall, 1991
  14. Sterling Software Inc., The CBD Standard Version 2.1, Sterling Software, July 1998
  15. Short K., Component Based Development and Object Modeling, Sterling Software, Technical Handbook Version 1.0, February 1997
  16. Rausch A. Software Evolution in COMPONENT WARE Using Requirements/Assurances Contracts, Proceedings of the 22th International Conference on Software Engineering, 06/2000 https://doi.org/10.1145/337180.337198
  17. Klaus Bergner, Andreas Rausch, Marc Sihling, Componentware-The Big Picture, Institut fur Informatik,Technische Universitat Munchen, http://www.sei.cmu.edu/cbs/icse98/papers/p6.html
  18. I. Sora, P. Verbaeten, and Y. Berbers, Using Component Composition for Self-Customizable Systems, Workshop on Component-Based Software Engineering, ECBS 2002, April 8-11, 2002, Lund, Sweden
  19. R. P. e Silva, et al., Component Interface Pattern, Procs. Pattern Languages of Program, 1999
  20. J.M. Spivey, The Z Notation : A Reference Manual, Programming Research Group, University Of Oxford, Second Edition, 1998
  21. Graeme Paul Smith, An Object-Oriented Approach To Formal Specification, The Department of Computer Science University of Queensland, 1992
  22. Jim Davies and Jim Woodcock, http://softeng.comlab.ox.ac.uk/usingz/, Using Z
  23. Department of Computer Science, University of Manchester, Technical Report Series UMCS-01-06-1, A Proposal for a LOTOS-Based Semantics for UML
  24. Kenneth J. Turner, International Workshop on Comparing Systems Specification Techniques, pages 83-98, University of Nantes, France, March 1998, The Invoicing Case Study In (E-)Lotos