DOI QR코드

DOI QR Code

Defining of Architectural Patterns through Formalization of Architectural Styles

소프트웨어 구조스타일의 정형화를 통한 조립형 구조패턴의 정의

  • 궁상환 (천안대학교 정보통신학부)
  • Published : 2002.10.01

Abstract

The problem of software reuse is dealt in two approaches. One is to build a new software by composing of the built-in components, and the other is to reuse architectural patterns that most of software system is generally composed of. Although the two approaches are important in design of software architecture, we could find outstanding difference in what kind of building blocks they use. The component based software design makes uses of building blocks whose contents are filled in by someone, on the other hand, the architectural pattern based software design is not interested in the contents of building blocks, but in the framework for building blocks including relationship of the building blocks. The paper purposes to find architectural patterns which are commonly found in diverse applications and help software architects reuse them in the software design process. We refine the architectural styles which is the well-known concept for software architecture design, and refine them as architectural components or templates which can be parts of software architecture.

소프트웨어 재사용의 문제는 두 가지 측면에서 검토해 볼 수 있는 데, 하나는 이미 개발이 완료된 소프트웨어 컴포넌트를 조합하여 재사용하는 방법이고, 다른 한 가지는 소프트웨어들이 공통적으로 갖는 구조적인 패턴을 정의해서 재사용 하는 방법이다. 물론 이 두 가지가 소프트 웨어의 구조설계에 중요한 방법이긴 하지만, 이 두 방식의 차이점은 소프트웨어 컴포넌트는 프로그램 컨텐츠가 채워진 빌딩블록들을 재사용 하여 소프트웨어를 쉽게 구성하는 것인 반면, 소프트웨어 구조패턴은 빌딩블록의 내용보다는 빌딩블록의 틀, 즉 빌딩블록간의 연결을 통한 구조화에 더 관심이 있는 것이라고 하겠다. 논문은 후자의 경우와 같이 소프트웨어 응용에서 많이 발견되는 구조적인 소프트웨어 패턴을 분석하고 체계적으로 정의하여, 이 패턴들이 소프트웨어 구조 설계 시 유용하게 활용될 수 있도록 하는 데 목적을 두고 있다. 특히, 이제까지 소프트웨어의 구조적인 패턴을 설명하는 데 중요한 모델이 되어 왔던 소프트웨어 구조 스타일을 분석하고 정형화하여 다양한 응용의 소프트웨어 구조설계에 활용될 패턴형 컴포넌트를 정의하고자 한다.

Keywords

References

  1. Acme team, Overview of acme project, http://www-2.cs.cmu.edu/~acme, CMU
  2. Erich Gamma, Richard Helm, Ralph Johnson and John Vissides, Deisgn Patterns, Addison Wesley, Jan., 2000
  3. Felix Bachmann, Len Bass, Gay Chastek, Patric Donohoe, Fabio Perzzi, Architecture Based Design Method-CMU/SEI-2000-TR-001, Jan., 2000
  4. Frank Buschmann, Regine Meunier, Hans Rohnert, Perter Sommerlad, Michael Stal, Pattern-Oriented Software Architecture Volume 1 : A System of Patterns, John Wiley & Sons, July, 2001
  5. George T. Heineman & William T. Councill, Component-Based Software Engineering-Putting The Pieces Together, Addison-Wesley, 2001
  6. Jonathan Adams, Srinivas Koushik, Guru Vasudeva, George Galambos, Patterns for e-business, IBM Press, Oct., 2001
  7. Jon Siegel and OMG Staff Strategy Group, Developing in OMG's Model-Driven Architecture, Object Management Group White Paper, November, 2001
  8. Kert C. Wallnau, Scott A. Hissam, Robert C. Seacord, Building Systems from Commercial Components, Addison-Wesley, 2002
  9. Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice, 1998
  10. Mary Shaw and David Galan, Software Architecture-Perspective on an Emerging Discipline, Prentice Hall, 1996
  11. Open Group, The Open Group Architectural Framework (TOGAF)-Version 7. 2001
  12. Robert T. Monroe, Andrew Kompanek, Ralph Melton, and David Galan, Architectural Styles, Design Patterns, and Objects, IEEE Software, pp.43-52, January, 1997 https://doi.org/10.1109/52.566427