Extending UML2.0 Profile of the C2 Architecture Style

C2 아키텍쳐 스타일을 위한 UML2.0 프로파일의 확장

  • 노성환 (삼성전자 반도체총괄 SOC연구소) ;
  • 전태웅 (고려대학교 컴퓨터정보학과) ;
  • 승현우 (서울여자대학교 컴퓨터학부)
  • Published : 2006.01.01

Abstract

Software architecture is the high level model of a software system. It should be specified with ADLs (Architecture Description Languages) for its clarity and preciseness. Most ADLs such as C2SADL have not come into extensive use in industries since ADL users should learn a distinct notation specific to architecture, and ADLs do not address all stakes of the development process that is becoming diversified everyday. On the other hand, UML is a do facto standard general modeling language for software developments. UML provides a consistent notation and various supporting tools during the whole software development cycle. But, UML is a general modeling language and does not provide all concepts that are important to architecture description. UML should be extended in order to precisely model architecture. In this paper, we defined a C2 architecture modeling language as a UML2.0 profile. We applied the defined C2 architecture modeling language to the modeling of a restaurant reservation system.

소프트웨어 아키텍쳐는 소프트웨어 시스템의 상위 수준 모델이다. 이러한 소프트웨어 아키텍쳐는 명료하고 엄밀한 표현을 위해 아키텍쳐 기술 언어(ADL)를 사용하여 기술된다. 하지만 대부분의 ADL들은 C2 스타일 ADL(C2SADL)처럼 소프트웨어 시스템의 개발에 필요한 요소들 중에서 특정한 관점만을 고려하여 정의되었거나 별도의 표기형식으로 배워야 하는 부담이 있기 때문에 아키텍쳐를 명세하는 언어로서 정착되지 못하였다. 반면 UML은 범용 모델링 언어로서 소프트웨어 개발의 전 과정에 일관된 표기형식과 폭넓은 지원도구들을 제공하고 있으므로 소프트웨어 개발을 위한 사실상의 표준 언어로 자리잡았다. 그러나 UML은 소프트웨어 아키텍쳐를 표현하도록 설계된 것은 아니기 때문에 UML을 사용하여 아키텍쳐를 표현하기 위해서는 UML을 확장, 변경하여야 한다. 본 논문에서는 UML2.0에 기반한 C2 아키텍쳐 모델링 언어 프로파일을 정의하였다. 정의된 C2 아키텍쳐 모델링 언어는 식당 예약 시스템을 모델링 하는데 사용되었다.

Keywords

References

  1. R.N. Taylor, N. Medvidovic, K.M. Anderson, E.J Whitehead Jr., JE. Robbins, K.A. Nies, P. Oreizy. and D.L. Dubrow, 'A Component- and MessageBased Architectural Style for GUI Software,' IEEE Transactions On Software Engineering, Vol. 22, No.6, June 1996, pp. 390-406 https://doi.org/10.1109/32.508313
  2. Sunghwan Roh, Kyungrae Kim, and Taewoong Jeon, 'Architecture Modeling Language based on UML2.0,' In the Proceedings of APSEC2004(Asia Pacific Software Engineering Conference) Workshop on Software Architecture and Component Technologies, IEEE, 2004, pp.663-669 https://doi.org/10.1109/APSEC.2004.32
  3. David Garlan, Andrew J Kompanek, and ShangWen Cheng, 'Reconciling the Needs of Architectural Description with Object-Modeling Notations,' Science of Computer Programming Volume 44, Elsevier Press, pp. 23-49, 2002 https://doi.org/10.1016/S0167-6423(02)00031-X
  4. Jorge Enrique, and Perez Martinez, 'Heavyweight extensions to the UML metamodel to describe the C3 architectural style,' ACM SIGSOFT Software Engineering Notes Volume 28, Issue 3, May 2003 https://doi.org/10.1145/773126.773140
  5. Jason E. Robbins, David F, Redmiles, and David S. Rosenblum, 'Integrating C2 with the Unified Modeling Language,' Proceedings of the 1997 California Software Symposium, Irvine, CA, November 7, 1997
  6. Jason E. Robbins, Nenad Medvidovic, David F, Redmiles, and David S. Rosenblum, 'Integrating Architecture Description Languages with a Standard Design Method,' IEEE, 1998 https://doi.org/10.1109/ICSE.1998.671120
  7. Mohamed Mancona Kande and Alfred Strohmeier, 'Towards a UML Profile for Software Architecture Descriptions,' UM12000, York, UK, October 2-6, 2000, LNCS, pp. 513-527, no. 1939, 2000
  8. Nenad Medvidovic, David S. Rosenblum, Jason E. Robbins, and David F. Redmiles, 'Modeling software architectures in the Unified Modeling Language,' ACM Transactions on Software Engineering and Methodology (TOSEM) Volume 11, Issue 1, pp 2-57, January 2002 https://doi.org/10.1145/504087.504088
  9. Miguel Goulao, and Fernando Brito e Abreu, 'Bridging the gap between Acme and UML2.0 for CBD,' Workshop at ESEC/FSE 2003, September 2003
  10. Jorge Enrique Perez-Martinez and Almudena Sierra-Alonso,UML 1.4 versus UML2.0 as Languages to Describe Software Architectures, EWSA 2004, LNCS 3047, pp. 88-102, 2004
  11. James Ivers, Paul Clements, David Garlan, Robert Nord, Bradley Schmerl, Jaime Rodrigo, and Oviedo Silva, Documenting Component and Connector Views with UMI2.0, TECHNICAL REPORT eMU/ SEI-2004-TR-008 ESC-TR-2004-008, April 2004