DOI QR코드

DOI QR Code

Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming

AOP를 적용한 프로덕트 라인 가변기능의 구현

  • 허승현 (동국대학교 대학원 컴퓨터공학과) ;
  • 최은만 (동국대학교 컴퓨터공학과)
  • Published : 2006.08.01

Abstract

Software development methodology has been developed for satisfying goals of improvement in productivity and reduction in time-to-market through the reuse of software assets. The current methods that implement software product-line, one of software development methodologies, interfere massively with the core assets, which require high cost in assembly level reducing the effectiveness. In this paper, we introduce Aspect-Oriented Programming (AOP) as a method for improving assembly process in software product-line. The method that assembles core assets and variabilities is described by grammar elements such as Join point, pointcut and advice without code-change. We analyze requirements of a mini-system as an example adapting AOP and design using UML. Our study implements the variabilities, which are from design stage, using an Aspect-Oriented Programming Language, AspectJ and prove usability and practicality by implementing the proposed idea using an Aspect-Oriented Programming Language, AspectJ.

소프트웨어 개발 방법론은 자원의 재사용을 통하여 생산성을 향상시키고, 제품을 만들어 시장에 배포하기까지 소요되는 시간인 time-to-market을 감소시킬 목적으로 발전되어왔다. 이러한 방법 중의 하나인 프로덕트 라인을 구현하는 기존의 방법은 중심 자원에 대한 간섭이 심하여 가변적 기능과의 조합 절차에서 많은 비용을 요구하므로 기대만큼의 효과를 얻기 힘든 상황이다. 본 논문에서는 소프트웨어 프로덕트 라인의 조합 프로세스를 개선한 방법으로 관점 지향 프로그래밍(Aspect-Oriented Programming)을 도입한다. AOP의 문법 요소인 결합점(join point) 과 교차점(pointcut), 충고(advice)를 이용하여 중심 자원과 가변적 기능을 코드 변경 없이 조합하는 방법을 소개하고, 간단한 시스템을 사례로 들어 관점 지향 개념을 적용하여 요구를 분석 하고 UML로 설계한다. 설계 단계에서 도출된 가변 기능은 구현 단계에서 관점 지향 언어인 AspectJ를 이용하여 중심 기능과 결합한다. 이 실험을 통하여 효율적인 프로덕트 라인의 구현을 보이고, 유용성과 실용성을 입증한다.

Keywords

References

  1. Walker, R.J., Baniassad, E.L.A., Murphy, G.C., 'An initial assessment of aspect-oriented programming', Proceedings of the 1999 International Conference on Software Engineering, pp.120-130, 1999 https://doi.org/10.1109/ICSE.1999.841001
  2. Michalis A., Cristina G., 'Implementing Product Line Variabilities,' ACM SIGSOFT Software Engineering Notes, Proceedings of the 2001 Symposium on Software Reusability, 2000 https://doi.org/10.1145/375212.375269
  3. Kuloor, C., Eberlein, A., 'Aspect-Oriented Requirements Engineering for Software Product Line,' Proceedings of 10th IEEE International Conference and Workshop Engineering of Computer-Based Systems, pp.98-107, 2003 https://doi.org/10.1109/ECBS.2003.1194788
  4. Zhang, H., Jarzabek, S., 'An XVCL approach to handling variants: a KWIC product line example,' IEEE Tenth Asia-Pacific Software Engineering Conference, pp.116-125, 2003 https://doi.org/10.1109/APSEC.2003.1254364
  5. Ramnivas Laddad, AspectJ In Action: Practical Aspect-Oriented Programming, Manning Publications, 2003
  6. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice(second edition), Addison-Wesley, 2003
  7. 민진우, 이인선, 이크립스 기반 프로젝트 필수 유틸리티: CVS, Ant, JUnit, 한빛 미디어, 2004
  8. Yoshida, M., Iwane, N., Matsubara, Y., 'The integrated software product line model,' IEEE Conference Cybernetics and Intelligent Systems, pp.538-543, 2004 https://doi.org/10.1109/ICCIS.2004.1460472
  9. Hassan Gomaa, Designing Software Product Line with UML, Addison-Wesley, 2004
  10. 정주미, 최승훈, 'ACAB:소프트웨어 프로덕트 라인 지원을 위한 컴포넌트 개발 도구,' 제32회 한국정보과학회 추계학술발표회 논문집 Vol.32, No.2(II),pp.427-429, 2005
  11. Youhee Choi, Gyusang Shin, Youngjong Yang, Changsoon Park, 'An Approach to Extension of UML 2.0 for Representing Variabilities', Fourth Annual ACIS International Conference, pp.258-261, 2005 https://doi.org/10.1109/ICIS.2005.25
  12. Hideaki S., Tetsuo T., 'Impact Analysis of Weaving in Aspect-Oriented Programming,' Software Maintenance ICSM'05. Proceedings of the 21st IEEE International Conference, pp.657-660, 2005 https://doi.org/10.1109/ICSM.2005.51
  13. Yokoyama, T., 'An aspect-oriented development method for embedded control systems with time-triggered and event-triggered processing,' Real Time and Embedded Technology and Applications Symposium RTAS 2005, 11th IEEE, pp.302-311, 2005 https://doi.org/10.1109/RTAS.2005.8
  14. Schmidt, P., Milstein, J., Alvarado, S., 'Architectural assessment of embedded systems using aspect-oriented programming principles,' Object-Oriented Real-Time Distributed Computing ISORC 2005, Eighth IEEE International Symposium, pp.90-93, 2005 https://doi.org/10.1109/ISORC.2005.14