AOP를 적용한 프로덕트 라인 가변기능의 구현
Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming
0
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
소프트웨어 개발 방법론은 자원의 재사용을 통하여 생산성을 향상시키고, 제품을 만들어 시장에 배포하기까지 소요되는 시간인 time-to-market을 감소시킬 목적으로 발전되어왔다. 이러한 방법 중의 하나인 프로덕트 라인을 구현하는 기존의 방법은 중심 자원에 대한 간섭이 심하여 가변적 기능과의 조합 절차에서 많은 비용을 요구하므로 기대만큼의 효과를 얻기 힘든 상황이다. 본 논문에서는 소프트웨어 프로덕트 라인의 조합 프로세스를 개선한 방법으로 관점 지향 프로그래밍(Aspect-Oriented Programming)을 도입한다. AOP의 문법 요소인 결합점(join point)과 교차점(pointcut), 충고(advice)를 이용하여 중심 자원과 가변적 기능을 코드 변경 없이 조합하는 방법을 소개하고, 간단한 시스템을 사례로 들어 관점 지향 개념을 적용하여 요구를 분석 하고 UML로 설계한다. 설계 단계에서 도출된 가변 기능은 구현 단계에서 관점 지향 언어인 AspectJ를 이용하여 중심 기능과 결합한다. 이 실험을 통하여 효율적인 프로덕트 라인의 구현을 보이고, 유용성과 실용성을 입증한다.
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.
참고문헌 (14)
- Walker R.J, "An initial assessment of aspect-oriented programming", pp.120~130 (1999)
- Michalis A, "Implementing Product Line Variabilities" (2000)
- Kuloor C, "Aspect-Oriented Requirements Engineering for Software Product Line", pp.98~107 (2003)
- Zhang H, "An XVCL approach to handling variants: a KWIC product line example", pp.116~125 (2003)
- Ramnivas Laddad, "AspectJ in Action: Practical Aspect-Oriented Programming" (2003), Manning Publications
- Len Bass, "Software Architecture in Practice(second edition)" (2003), Addison-Wesley
- Youhee Choi, "An Approach to Extension of UML 2.0 for Representing Variabilities", pp.258~261 (2005)
- Yoshida M, "The integrated software product line model", pp.538~543 (2004)
- Hideaki S, "Impact Analysis of Weaving in Aspect-Oriented Programming", pp.657~660 (2005)
- 정주미, "ACAB : 소프트웨어 프로덕트 라인 지원을 위한 컴포넌트 개발 도구", 32(2), pp.427~429 (2005)
- Youhee Choi, "An Approach to Extension of UML 2.0 for Representing Variabilities", pp.258~261 (2005)
- Hideaki S, "Impact Analysis of Weaving in Aspect-Oriented Programming", pp.657~660 (2005)
- Yokoyama T, "An aspect-oriented development method for embedded control systems with time-triggered and event-triggered processing", pp.302~311 (2005)
- Schmidt P, "Architectural assessment of embedded systems using aspect-oriented programming principles", pp.90~93 (2005)
