DOI QR코드

DOI QR Code

디자인 패턴에 대한 소스코드 자동 생성 기법

Automatic Source Code Generating Technique from Design Patterns

  • 김운용 (광운대학교 대학원 컴퓨터과학과) ;
  • 최영근 (광운대학교 컴퓨터과학과)
  • 발행 : 2002.10.01

초록

객체지향 프로그래밍의 주요 목적은 효율적인 재사용성과 개발시간의 단축 그리고 소프트웨어 품질의 향상에 있다. 이러한 목적을 달성하기 위한 하나의 방법으로 소프트웨어 개발 시 기존에 잘 정의되고 테스트된 설계정보를 이용하는 것이다. 이 잘 정의되고 테스트된 설계정보는 디자인 패턴이라 불러진다. 이 디자인 패턴은 소프트웨어 개발 시 특정상황에서 발생할 수 있는 문제에 대한 해결책을 표현하고 있다. 그러나 이 패턴은 추상적인 해결책을 제시하고 있기 때문에 어플리케이션 개발 시 적용되는 디자인 패턴에 대한 명세와 활용은 주로 개발자의 수작업에 의존하고 다양한 형태로 적용되고 있다. 그 결과 일관된 형태의 분석과 활용이 어렵고 오류발생 빈도를 높일 뿐 아니라 프로그램 개발에 많은 시간이 필요하다. 또한 적용된 패턴은 어플리케이션 내부에서 시각적으로 표현되지 않기 때문에 이 패턴에 대한 분석과 테스팅이 어렵다. 이에 본 논문에서는 어플리케이션 개발 시 디자인 패턴의 요소를 효율적으로 적용할 수 있기 위해 디자인 패턴에 대한 소스코드 자동 생성기법을 제시하고 어플리케이션 내부에 적용된 패턴들간의 분석 및 활용법을 보인다. 이를 통해 어플리케이션 내부의 디자인 패턴들은 일관된 형태의 구조와 효율성을 제공하고 이들간의 분석 및 활용 효과를 증대시킨다.

A purpose of the object-oriented programming is to promote reuse and development time, and to improve software quality. A way for this purpose is using a design information well-defined and tested in previous time when developing software. Such design information is called design patterns. The design patterns are descriptions of abstract solution to recurse software design problems In a systematic and general way. But because the design patterns are descriptions of abstract solution, the specification and application of patterns generally rely on manual implementation and is applied to various forms. As a result, we need to spend a lot of time to develop software program not only because of difficulty in analyzing and applying to patterns consistently, but also because of the frequent programing faults. And because the applied design patterns don't express inside application visually, it is difficult to analyze and test for this design patterns. In this paper, we propose automatic source code generating technique to be able to efficiently apply the element of design patterns when developing application. And we show a way to analyze and use the applied design patterns in application. As a result, the design patterns in application provide the consistent structure and efficiency, and make analysis and using effect increased.

키워드

참고문헌

  1. A. Cornils and G. Hedin. Statically checked documentation with design patterns, Technology of Object-Oriented Languages, 2000. TOOLS 33. Proceedings. 33rd International Conference on, 2000 https://doi.org/10.1109/TOOLS.2000.848780
  2. A. Eden, A. Yehudai and J. Gil. Precise specification and automatic application of design patterns, Automated Software Engineering, 1997, Proceedings., 12th IEEE International Conference, 1997 https://doi.org/10.1109/ASE.1997.632834
  3. B. Schulz, T. Genssler, B. Mohr and W. Zimmer, On the computer aided introduction of design patterns into object-oriented systems, Technology of Object-Oriented Languages, 1998, TOOLS 27, Proceedings, 1998 https://doi.org/10.1109/TOOLS.1998.713608
  4. C. Marcos, M. Compos, and A. Pirotte, Reifying Design Patterns as Metalevel Constructs, Electronic Journal of Sadio, 2(1) pp.17-19, 1999
  5. E. Gamma, R Helm, R.Johnson, and J.Vlissides. Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, Reading, Massachusetts, 1995
  6. F. Budinsky, M. Finnie, J. Vlissides, and P. Yu. Automatic Code Generation from Design Patterns. IBM Systems Journal, 35(2), 1996 https://doi.org/10.1147/sj.352.0151
  7. F. Buschman, R. Meunier, H. Rohnert, P. Sommerlad, and Stal Michael. Pattern-Objected Software Architecture-A System of Patterns. John Wiley & Sons, 1996
  8. G. Florin, M. Meijers, P. V. Winsen, Tool Support for Object-Oriented Patterns, Proc. of ECOOP'97, 1997
  9. J. Cooper. Java Design Patterns, Addison-Wesley, 2000
  10. M. Ohtsuki, N. Yoshida, A. Makinouchi, A source code generation support system using design pattern documents based on SGML, Software Engineering Conference, 1999. (APSEC '99) Proceedings. Sixth Asia Pacific, 1999
  11. S. Stephen, S. Yau and Ning Dong, Integration in component-based software development using design patterns, Computer Software and Applications Conference, 2000, COMPSAC 2000, The 24th Annual International, 2000 https://doi.org/10.1109/CMPSAC.2000.884750
  12. S. Yacoub, Xue, H. and Ammar, H. H., Automating the development of pattern-oriented designs for application specific software systems, pp.163-170, Application-Specific Systems and Software Engineering Technology, 2000. Proceedings. 3rd IEEE Symposium on, 2000
  13. M. Cinneide, P. Nixon, A methodology for the automated introduction of design patterns, oftware Maintenance, 1999, (ICSM '99) Proceedings. IEEE International Conference on, 1999
  14. M. Claudia, C. Marcelo, P. Alain. Reifying Design Patterns as Metalevel Constructs. Electronic Journal of SADIO Vol.2, No.1, pp.17-29, 1999
  15. M. Sefika, A. Sane, and R. Campbell. Monitoring Compliance of a Software System with its high-Level Design Models. Proceedings of the 18th International Conference of Software Engineering, ICSE '96, Berlin, Germany, March, 1996
  16. M. Sherif, Yacoub and Heany H. Ammar Pattern-oriented analysis and design (POAD) : a structural composition approach to glue design patterns, Technology of Object-Oriented Languages and Systems, 2000, TOOLS 34, Proceedings. 34th International Conference on, 2000 https://doi.org/10.1109/TOOLS.2000.868978
  17. W. Tichy, Essential Software Design Patterns. University of Karsruhe, http://wwwipd.ira.uka.de/~tichy/patterns/over view.html. 1997
  18. W. Vanderperren, B. Wydaeghe, Towards a new component composition process, Engineering of Computer Based Systems, 2001, ECBS 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop on the, 2001 https://doi.org/10.1109/ECBS.2001.922439
  19. 김운용, 김영철, 최영근, '코드 자동 생성을 위한 XML 기반의 효율적인 디자인 패턴구조', 정보처리학회논문지D, 제8-D권 제6호, 2001