Development of an ADL tool set that supports the description of C2-style architecture

C2 스타일의 아키텍쳐 기술을 지원하는 ADL 지원도구의 개발

  • 신동익 (고려대학교 대학원 전산학과) ;
  • 노성환 (고려대학교 대학원 전산학과) ;
  • 최재각 (고려대학교 대학원 전산학과) ;
  • 전태웅 (고려대학교 전산학과) ;
  • 이승연 (한국전자통신연구원 컴포넌트 공학 연구팀 연구원)
  • Published : 2001.10.01

Abstract

Recently, component-based development (CBD) is rapidly spreading as a way of improving the reusability, productivity, and quality of software. For CBD to be effective in achieving such design objectives, the creation and integration of components must be based on a well-defined architecture that guides the correct composition and cooperation of application components. Software architecture must be described using an architecture description language (ADL) to ensure the correctness and preciseness of architecture models. In this paper, we propose the system architecture of an ADL tool set that can effectively support the use of CBD based on the domain architecture and we describe each component of the proposed system architecture. We also modify and redefine C2SADL that was developed to support the use of the description of C2 architectural style by UCI (University of California in Irvine) to facilitate the integration of separately described architecture models, and introduce the method of design and implementation of our ADL processor that partially implements the proposed ADL system architecture.

최근, 소프트웨어의 재사용성, 생산성, 그리고 품질을 높이기 위한 방법으로서 컴포넌트 기반의 소프트웨어 개발(CBD:Component-Based Development) 방식이 빠르게 확산되고 있다. CBD를 효과적으로 수행하기 위해서는 응용 컴포넌트들이 서로 정확하게 결합하여 작동할 수 있는 아키텍쳐를 기반으로 하여 컴포넌트의 생성과 합성 작업이 이루어질 수 있어야 한다. 소프트웨어 아키텍쳐는 아키텍쳐 기술 언어(ADL:Architecture Description Language)를 사용하여 기술되어야 정확하고 엄밀한 아키텍쳐 모델링이 가능하다. 본 논문에서는 도메인 아키텍쳐 기반의 CBD에 효과적으로 사용될 수 있는 ADL 지원도구의 시스템 아키텍쳐를 제안하고, 제안한 시스템 아키텍쳐의 각 구성 요소들에 대하여 기술한다. 그리고 C2 스타일의 아키텍쳐 기술을 지원하는 UCI(University of California in Irvine)의 C2SADL을 변경하여 재정의한 ADL과 지원도구로서 개발 중인 ADL 지원도구의 설계 및 구현 방법을 기술한다. 본 연구팀이 개발 중인 ADL 지원도구는 본 논문에서 제안한 ADL 지원도구의 시스템 아키텍쳐의 일부 구성 요소들을 구현한다.

Keywords

References

  1. M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996
  2. 'Description Languages,' IEEE Transactions on Software Engineering, Vol.26, No.1, pp. 70-93, January, 2000 https://doi.org/10.1109/32.825767
  3. Oh-Cheon Kwon, Gyu-Sang Shin, and Taewoong Ieon, 'An Open Architectural Framework for Building an Architecture Modeler,' Proceedings of the 15th International Symposium on Computer and Information Sciences(ISCIS 2000), October 11-13, 2000, Turkey Istanbul, Yildiz Technic University, pp.477-486
  4. 'Description Languages,' IEEE Transactions on Software Engineering, Vol.26, No.1, pp. 70-93, January, 2000 https://doi.org/10.1109/32.825767
  5. Taylor, R. N., Medvidovic, N., Anderson, K. M., Whitehead, E. J. Jr., Robbins, J. E., Nies, K. A., Oreizy, P. and Dubrow, D. L., 'A Component and Message-Based Architectural Style for GUI Software,' IEEE Transactions on Software Engineering, Vol.22, No.6, pp.390-406, June. 1996 https://doi.org/10.1109/32.508313
  6. W. F. Tichy, 'Software Development Control Based on Module Interconnection,' Proceedings of the 4th Int'l Conference on Software Engineering, pp.29-41, 1979
  7. R. Prieto-Diaz and J. M. Neighbors, 'Module Interconnection Languages,' The Journal of Systems and Software, Vol.6, No.4, pp.307-334, November, 1986
  8. G. Booch, J. Rumbaugh, and J. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999
  9. R. Allen and D. Garlan, 'Beyond Definition/Use ; Architectural Interconnection,' Proceedings of Workshop on Interface Definition Languages, Portland, Oregon, USA, January, 1994
  10. D. C. Luckharn, L. M. Augustin, J. J. Kenney, J. Vera, D. Bryan, and W. Mann, 'Specification and Analysis of System Architecture Using Rapide,' IEEE Transactions on Software Engineering, Vol.21, No.4, April, 1995 https://doi.org/10.1109/32.385971
  11. J. Magee and J. Kramer, 'Dynamic Structure in Software Architectures,' Proceedings of the 4th ACM SIGSOFT Symposium on Foundations on Software Engineering, 16-18, San Francisco, CA, pp.3-14, October, 1996
  12. M. Shaw, R. DeLine, D. V. Klein, T. L. Ross, D. M. Young, and G. Zelesnik, 'Abstractions for Software Architecture and tools to Support Them,' IEEE Transactions on Software Engineering, Vol.21, No.4, pp.314-335, April, 1995 https://doi.org/10.1109/32.385970
  13. D. Garlan, R. Allen, and J. Ockerbloom, 'Exploiting Style in Architectural Design Environments,' Proceedings of SIGSOFT '94 Symposium on the Foundations of Software Engineering, December, 1994
  14. Taylor, R. N., Medvidovic, N., Anderson, K. M., Whitehead, E. J. Jr., Robbins, J. E., Nies, K. A., Oreizy, P. and Dubrow, D. L., 'A Component and Message-Based Architectural Style for GUI Software,' IEEE Transactions on Software Engineering, Vol.22, No.6, pp.390-406, June. 1996 https://doi.org/10.1109/32.508313
  15. B. Selic, G. Gullekson, and P. T. Ward, Real-Time Object-Oriented Modeling, John Wiley & Sons, Inc., 1994
  16. S. Vestal, MetaH Programmer's Manual, Version 1.09, Technical Report, Honeywell Technology Center, April, 1996
  17. J. E. Robbins, N. Medvidovic, D. F. Redmiles, and D. S. Rosenblum, 'Integrating Architecture Description Languages with a Standard Design Method,' Proceedings of the 20th International Conference on Software Engineering, Kyoto, Japan, pp.209-218, April, 1998
  18. D. Garlan, R. Monroe, and D. Wile, 'Acme: An Architecture Description Interchange Language,' Proceedings of CASCON'97, pp.169-183, Nov. 1997
  19. The C2 Style, http://www.ics.uci.edu/pub/arch/c2.html, Information and Computer Science, University of California, Irvine
  20. G. Krasner and S. Pope. A Cookbook for Using the MVC User Interface Paradigm in Smalltalk, Journal of Object-Oriented Programming, 1(3) : 26-49, 1988
  21. Erich Gamma, et al., 'Design Patterns: Elements of Reusable Object-Oriented Software,' Addison-Wesley, 1994
  22. David A. Watt and Deryck F. Brown, 'Programming Language Processors in Java,' Prentice Hall, 2000