UML 2.0 기반의 Generic ADL 정의

Generic ADL Definition based on UML2.0

  • 노성환 (삼성전자 반도체총괄 Soc연구소) ;
  • 김경래 (LS산전중앙연구소) ;
  • 전태웅 (고려대학교 컴퓨터정보학과) ;
  • 윤석진 (한국전자통신연구원 임베디드 소프트웨어기술연구단)
  • 발행 : 2006.02.01

초록

소프트웨어 시스템의 상위 수준 모델인 소프트웨어 아키텍쳐는 아키텍쳐 기술 언어(ADL)를 사용하여 표현된다. 하지만 ACME와 같은 대부분의 ADL들은 별도의 표기형식으로 배워야 하는 부담이 있기 때문에 아키텍쳐를 명세하는 언어로서 정착되지 못하였다. 반면 VML은 범용 모델링 언어로써 소프트웨어 개발의 전 과정에 일관된 표기형식과 폭넓은 지원도구들을 제공하고 있으므로 소프트웨어 개발을 위한 사실상의 표준 언어로 자리잡았다. 그러나 UML은 소프트웨어 아키텍쳐를 표현하도록 설계된 것은 아니기 때문에 UML을 사용하여 아키텍쳐를 표현하기 위해서는 UML을 확장, 변경하여야 한다. 지금까지 아키텍쳐 모델링에 UML을 이용하기 위한 많은 연구가 진행되어 왔다. 하지만 지금까지의 이러한 연구의 대부분은 아키텍쳐의 핵심 개념들의 표현이 미흡했던 UML1.x에 기반하고 있으며 곧 발표될 UML2.0에서는 이전 버전에서 미흡했던 아키텍쳐 모델링에 유용한 개념들이 많이 추가되었다. 본 논문에서는 UML2.0에 기반한 아키텍쳐 모델링 언어를 정의하였다. UML2.0을 확장하여 Generic ADL을 정의하였으며 정의된 아키텍쳐 모델링 언어는 식당 예약 시스템을 모델링 하는데 사용되었다.

Software architecture, which is the high level model of a software system, should be specified with ADLs (Architecture Description Languages) for its clarity and preciseness. Most of ADLs such as ACME, however, have not come into extensive use in industries since ADL users should learn a distinct notation specific to architecture. 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. UML, being a general modeling language, does not provide all concepts that are important to architecture description. UML should be extended in order to precisely model architecture. A number of researches on architecture modeling based on WML have been progressed. Ail of them, however, are based on the UML1.x. UML2.0 embraces much more concepts that are important to architecture modeling than UML1.x. In this paper. we defined an architecture modeling language based on UML2.0. We defined Generic ADL by extending UML2.0 and applied the defined Generic ADL to a restaurant reservation system.

키워드

참고문헌

  1. R. Allen and D. Garlan, 'Beyond Definition/Use: Architectural Interconnection,' Proceedings of Work-shop on Interface Definition Languages, Portland, Oregon, USA, January 1994 https://doi.org/10.1145/185084.185101
  2. Luckham, D. C., Augustin, L. M., Kenney, J. J., Veera, J., Bryan, D., and Mann, W., 'Specification and analysis of system architecture using Rapide,' IEEE Transactions on Software Engineering, Special Issue on Software Architecture, 21(4), pp. 336-355, April 1995 https://doi.org/10.1109/32.385971
  3. J. Magee and J. Kramer, 'Dynamic Structure in Software Architectures,' Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering, Oct. 1996, San Francisco, CA, USA, pp. 3-14 https://doi.org/10.1145/239098.239104
  4. 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, April 1995, pp. 314-335 https://doi.org/10.1109/32.385970
  5. Garlan, D., Allen, R, and Ockerbloom, J., 'Exploiting style in architectural design environ-ments,' In Proceedings of SIGSOFT'94, The Second ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Press, pp. 179-185, December 1994 https://doi.org/10.1145/193173.195404
  6. R.N. Taylor, N. Medvidovic, K.M. Anderson, E.J. Whitehead Jr., J.E. Robbins, K.A. Nies, P. Oreizy, and D.L. Dubrow, 'A Component- and Message-Based 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
  7. B. Selic, G. Gullekson, and P. T. Ward, Real-Time Object-Oriented Modeling, John Wiley & Sons, 1994
  8. S. Vestal, MetaH Programmer's Manual, Version 1.09, Technical Report, Honeywell Technology Center. April 1996
  9. David Garlan, Robert T. Monroe, and David Wile, 'Acme: Architectural Description of Component-Based Systems,' Foundations of Component-Based Systems, pp. 47-68, Cambridge University Press, 2000
  10. E. M. Dashofy, A. van der Hoek, and R. N. Taylor, 'A Highly-Extensible, XML-Based Archi-tecture Description Language,' Proceedings of the IEEE/IFIP Conference on Software Architectures (WICSA-2001), Amsterdam, Netherlands, 2001, pp. 103-112 https://doi.org/10.1109/WICSA.2001.948416
  11. A. Zarras, V. Issamy, C. Kloukinas, and V. K. Kguyen, 'Towards a Base UML Profile for Architecture Description,' Proceedings of ICSE 2001 Workshop for Describing Software Architecture with UML. pp. 22-26. Toronto, Ontario, Canada, IEEE Computer Society, May 2001
  12. Mohamed Mancona Kande and Alfred Strohmeier, 'Towards a UML Profile for Software Architecture Descriptions,' UML2000, York, UK, October 2-6, 2000, LNCS, pp, 513-527, no. 1939, 2000
  13. UML 2.0 Superstructure, 3rd Revision, OMG document ad/03-04-01, Object Management Group, 2003, www.omg.org/cgi-bin/doc?ad/03-04-01
  14. David Garlan, Andrew J. Kompanek, and Shang-Wen 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
  15. P. Selonen and J. Xu, 'Validating UML Models Against Architectural Profiles,' Proceedings of ESE/FSE2003, pp. 58-67, September 1-5, 2003 https://doi.org/10.1145/940071.940081
  16. Miguel Goulao, and Fernando Brito e Abreu, 'Bridging the gap between Acme and UML2.0 for CBD,' Workshop at ESEC/FSE 2003, September 2003
  17. James Ivers, Paul Clements, David Garlan, Robert Nord, Bradley Schmerl, Jaime Rodrigo, and Oviedo Silva, Documenting Component and Connector Views with UML2.0, TECHNICAL REPORT CMU/SEI-2004-TR-008 ESC-TR-2004-008, April 2004
  18. 김경래, 노성환, 전태웅 'UML2.0에 기반한 아키텍처 모델링 언어', Joint Workshop on Software Engineering Technology (KSEJW-2004), August 26-27, 2004, pp. 125-134
  19. Sunghwan Roh, Kyungrae Kim, and Taewoong Jeon, 'Architecture Modeling Language based on UML2.0,' In the Proceedings of APSEC2004(Asia Pacific Software Engineering Conference) Work-shop on Software Architecture and Component Technologies, IEEE, 2004, pp.663-669 https://doi.org/10.1109/APSEC.2004.32
  20. 노성환, 김경래, 전태웅, 송현우, '아키텍쳐 모텔링을 위한 UML2.0 프로파일' 한국정보과학회 2004 가을 학술발표논문집 II, pp. 412-414
  21. R.T. Monroe, A. Kompanek, R. Melton, and D. Garlan, 'Architectural styles, design patterns, and objects,' IEEE Software 14(1), pp. 43-52, 1997 https://doi.org/10.1109/52.566427
  22. Thomas Weigert, David Garlan, John Knapman, Birger Moller- Pedersen, and Bran Selic, 'Modeling of Architectures with UML,' UML 2000, LNCS 1939, pp. 556-569, 2000
  23. D. C. Luckham, J. Vera, and S. Meldal, 'Key Concepts in Architecture Definition Languages,' Foundations of Component-Based Systems, pp. 23-45, Cambridge University Press, 2000
  24. N. R. Mehta, N. Medvidovic, and S. Phadke, 'Towards a Taxonomy of Software Connectors,' Proceedings of International Conference Software Engineering (ICSE-2000), pp. 178-187, 2000 https://doi.org/10.1145/337180.337201