컴포넌트 프레임웍의 실용적 참조 모델

A Practical Reference Model of Component Frameworks

  • 발행 : 2006.06.01

초록

컴포넌트 기반 소프트웨어 공학(CBSE)은 재사용 가능한 소프트웨어 부품을 이용하여 어플리케이션을 개발하는 새로운 패러다임이다. 그러나 소프트웨어 부품을 조림하는 과정에 부품들 간에 불일치 문제가 발생하여 CBSE를 수행함에 있어 부담이 되고 있다. 따라서, 컴포넌트의 재사용 단위보다는 큰 프레임웍(Framework)이 요구되고 있으며 프레임웍은 관련 있는 컴포넌트와 커넥터들 그리고 도메인에 특화된 아키텍처로 구성된다. 프레임웍은 컴포넌트보다 많은 장점을 가지고 있지만, 프레임웍을 구성하는 핵심 요소들과 내부 구조는 명확히 정의되지 않고 있다. 즉, 현재까지 제시된 대부분의 프레임웍 모델들은 실용적이지 못한 개념적인 수준에 머물러 있다. 본 논문에서는 실용적인 수준의 프레임웍 참조 모델을 제안하고 프레임웍의 핵심 요소들을 정의한다. 프레임웍의 구체적인 구성요소들, 컴포넌트와 프레임웍의 상호 관련성, 커넥터의 확장된 개념들, 그리고 프레임웍 내에서의 특화된 아키텍처의 의미에 대해서 명확히 식별한다. 본 논문에서 제안된 프레임웍은 Java, J2EE, CORBA Component Model (CCM) 그리고 NET과 같은 객체지향 기반 미들웨어에서 실용적으로 구현될 수 있을 것이다.

Component-Based Software Engineering (CBSE) is widely accepted as new paradigms for building applications with reusable assets. Mismatch problems occur while integrating the assets and make a burden in CBSE. Therefore, a larger-grained reuse unit than a component such as a framework is required, and it consists of relevant components, connectors and domain-specific architecture. The benefits of frameworks over components are commonly known, however, the key elements and internal structure of framework has not been clearly defined. We believe most of the framework models proposed in recent works remain at conceptual level. In this paper, we propose a practical-level framework reference model, and define key elements of frameworks. The research goal is to precisely identify concrete elements of a framework, inter-connection of components within a framework, extended notion of connectors, and tailored meaning of architecture In a framework. Hence, the proposed framework can be practically implemented in common object-oriented languages and with middleware such as lava, J2EE, CORBA Component Model (CCM) and NET.

키워드

참고문헌

  1. Kim, S. and Park, J., 'C-QM: A Practical Quality Model for Evaluating COTS Components,' Proceedings of the 21st IASTED SE'2003, pp. 991-996, Feb. 2003
  2. Latchem, S., 'Component Infrastructures: Placing Software Components in Context,' Chapter 15 of Component-Based Software Engineering: Putting the Pieces Together, Heineman G. and Council, W., ed., Addison-Wesley, 2001
  3. Atkinson, C., et al., Component-Based Product Line Engineering with UML, Addison Wesley, 2002
  4. Fayad, M. and Schmidt, D., 'Object-Oriented Application Frameworks,' Communications of the ACM, Vol.40, No.10, pp. 32-38, Oct. 1997 https://doi.org/10.1145/262793.262798
  5. Wills, A. C., 'Components and Connectors: Catalysis Techniques for Designing Component Infrastructures,' Chapter 17 of Component-Based Software Engineering: Putting the Pieces Together, Heineman G. and Council, W., ed., Addison-Wesley, 2001
  6. Cheesman, J., and Daniels, J., UML Components, Addison-Wesley, 2000
  7. Matinlassi, M., Niemela, E., and Dobrica, L., 'Quality-driven Architecture Design and Quality Analysis Method,' VTT Technical Research Centre of Finland, Espoo, 2002
  8. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R. and Stafford, J., Documenting Software Architecture, Addison Wesley, 2002
  9. Geyer, L., and Becker, M., 'On the Influence of Variabilities on the Application Engineering Process of a Product Family,' LNCS 2379, pp.1-14, Proceedings of SPLC2 2002, San Diego, CA, USA, August 19-22, 2002
  10. Kim, S., Her, J., and Chang, S., 'A Theoretical Foundation of Variability in Component-Based Development,' Information and Software Technology, Vol.47, pp.663-673, 2005 https://doi.org/10.1016/j.infsof.2004.11.007
  11. Sharp, D. C.: 'Containing and Facilitating Change via Object Oriented Tailoring Techniques,' Proceedings of the 1st SPLC, Denver, Colorado, August 2000
  12. Whitehead, K., Component-based Development: Principles and Planning for Business Systems, Addison-Wesley, 2002
  13. Clements, P. and Northrop, L., Software Product Lines: Practices and Patterns, Addison-Wesley, 2001
  14. Crnkovic, I., and Larsson, M., Building Reliable Component-Based Software Systems, Artech House, 2002
  15. Levi, K., and Arsanjani, A., 'A Goal-driven Approach to Enterprise Component Identification and Specification,' CACM, Vol.45, No.10, pp. 45-52, Oct. 2002 https://doi.org/10.1145/570907.570930
  16. D'Souza, D. and Wills, A., Objects, Components, and Frameworks with UML: The Catalysis Approach, Addison Wesley, 1999
  17. Kim, S., 'Lessons Learned from a Nation-wide CBD Promotion Project,' Communications of the ACM, Vol.45, Issue.10, pp. 83-87, Oct. 2002 https://doi.org/10.1145/570907.570936
  18. Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns, Addison-Wesley, Jan. 15, 1995