관점지향 프로그램 기반의 동적 소프트웨어 컴포넌트 조합 패턴

Dynamic Software Component Composition Based On Aspect-Oriented Programming

  • 배성문 (경상대학교 산업시스템공학부) ;
  • 박철순 (창원대학교 산업시스템공학과) ;
  • 박춘호 (세아정보시스템)
  • Bae, Sung-Moon (Dept. of Industrial and Systems Engineering, GyeongSang National University, Engineering Research Institute) ;
  • Park, Chul-Soon (Dept. of Industrial and Systems Engineering, ChangWon National University) ;
  • Park, Chun-Ho (SeAH Information System)
  • 발행 : 2008.12.31

초록

Cost reduction, time to market, and quality improvement of software product are critical issues to the software companies which try to survive in recent competitive market environments. Software Product Line Engineering (SPLE) is one of the approaches to address these issues. The goal of software product line is to maximize the software reuse and achieve the best productivity with the minimum cost. In software product line, software components are classified into the common and variable modules for composition work. In this paper, we proposed a dynamic composition process based on aspect-oriented programming methodology in which software requirements are classified into the core-concerns and cross-cutting concerns, and then assembled into the final software product. It enables developers to concentrate on the core logics of given problem, not the side-issues of software product such as transactions and logging. We also proposed useful composition patterns based on aspect oriented programming paradigm. Finally, we implemented a prototype of the proposed process using Java and Aspect to show the proposed approach's feasibility. The scenario of the prototype is based on the embedded analysis software of telecommunication devices.

키워드

참고문헌

  1. 강교철; "Software Product Line Engineering", SEEK 소프트웨어공학 워크샵, 2 : 15-40, 2001
  2. 이승연, 권오천, 신규상; "아키텍처에 기반한 컴포 넌트 조립시스템 설계 및 구현 방법과 지원 도구 의 개발", 정보과학회논문지, 30(9) : 812-820, 2003
  3. 임윤선, 김명, 정안모; "독립적으로 개발된 바이너 러 컴포넌트들의 조립을 지원하는 컴포넌트 모델", 2007 한국컴퓨터종합학술대회 논문집, 34(1) : 138- 142, 2007
  4. 채은주, 한정수, 백순화; "컴포넌트 조립을 위한 커 넥터 자동 생성", 한국콘텐츠학회 2004 추계종합학 술대회논문집, 2(2) : 408-411, 2004
  5. 최승훈, 홍의석; "실시간 임베디드 소프트웨어 프 로덕트 라인을 위한 컴포넌트 코드 생성", 자연과학논문집, 13 : 197-213, 2007
  6. 허승현, 최은만; "AOP를 적용한 프로덕트 라인 가 변기능의 구현", 정보처리학회논문지(D), 13(4) : 593- 602, 2006 https://doi.org/10.3745/KIPSTD.2006.13D.4.593
  7. Bass, L., Clements, P., and Kazman, R.; "Software Architecture in Practice," 2nd ed., Addison-Wesley, 2003
  8. Colyer, A. and Clement, A.; "Large-scale AOSD for Middleware," 2004 AOSD conference, : 56-65, 2004
  9. Griss, M.; "Software Product Lines : Practices and Patterns," Addison-Wesley, 2002
  10. Laddad, R.; "AspectJ in Action : Practical Aspect-oriented Programming," Manning, 2003
  11. Putrycz, E. and Bernard, G.; "Using Aspect-Oriented Programming to build a portable load balancing service, 22nd Int'l Conference. on Distributed Computing Systems Workshops, : 473-478, 2002
  12. Sabbah, D.; "Aspects-from Promise to Reality," 2004 AOSD Conference, : 1-2, 2004
  13. Zhang, C. and Jacobsen, H.: "Refactoring Middleware with Aspects," IEEE Transactions and Parallel and Distributed System, 14(11) : 1058-1073, 2003 https://doi.org/10.1109/TPDS.2003.1247668