$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

AOP를 적용한 프로덕트 라인 가변기능의 구현
Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming 원문보기

정보처리학회논문지. The KIPS transactions. Part D. Part D, v.13D no.4 = no.107, 2006년, pp.593 - 602  

허승현 (동국대학교 대학원 컴퓨터공학과) ,  최은만 (동국대학교 컴퓨터공학과)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

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 ...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문에서는 이러한 목적을 위한 직접적인 방법으로써 자산에 대한 코드의 변경 없이 가변적인 기능과의 조합을 이룰 수 있는 방안에 대하여 연구하였으며, 관점 지향 프로 그래밍이 프로덕트 라인 개발 방법론을 구체화 할 수 있는 수단임을 설명한다.
  • 본 논문의 연구는 위에서 설명한 노력을 감소시킴으로써 재사용으로 얻어지는 이익을 높이고자 하였으며, 소프트웨 어 프로덕트 라인의 개발 방법론에 따라 공통 기능과 가변 기능 각각의 구현을 조립하는 조합 프로세스의 개선에 초점 을 맞추었다. 공통 기능을 구현한 범용 컴포넌트와 가변 기능을 구현한 컴포넌트의 아교 역할을 애스펙트라는 AOP의 구조물에게 위임함으로써 프로그래머는 중심 자원과 가변 기능의 코드 변경 없이 새로운 구조물을 작성한다.
  • 본 논문에서는 모듈화를 도와주는 AOP 패러다임을 소프 트웨어 프로덕트 라인의 구현에 적용하였으며, 작은 제품에 대해 요구 분석, 설겨1, 구현 단계를 실험하였다. 소프트웨어 개발 방법론으로써의 장점은 인정되지만 아직 실무에서의 적 용이 활발하지 못한 소프트웨어 프로덕트 라인 방법론에 구 체적인 활용 방안을 제시하였다는데 본 논문의 의의가 있다. 소프트웨어 프로덕트 라인은 하드웨어의 생산 패턴에서 유래한 만큼 임베디드 소프트웨어에 적용하는 경우 더욱 유 리한 방법론이다.
  • 프로덕트 라인의 아키텍처로부터 제품의 아키텍처를 쉽게 얻기 위해서는 제품의 공통적 기능과 가변적 기능이 정확하 게 표현되어야 한다[111 가변 기능을 표현 하는 수단으로 여러 가지가 연구되었으나 본 장에서는 UML을 이용하는 방법과 XML을 이용하는 방법에 대해 소개한다.

가설 설정

  • 실험할 제품의 요구사항은<표 1>과 같다. 기본적인 조 리 기능 외에 조리 상태와 설정 상태를 사용자에게 보이는 디스플레이 기능, 조리 온도를 설정하기 위한 온도 조절 기 능, 조리가 진행 되는 동안 조리대가 회전하는 기능, 조리의 완료를 사용자에게 알리는 알람기능이 있으며, 시간 설정 등의 기능은 공통 기능인 조리 기능에 포함되어 있다고 가 정한다.
  • 온도 조절 기능은 온도 선택 기능이 없는 one-level 시스템과 단계별로 온도 조절이 가능한 multi-level 시스템이 있다. 또한, 디스플레이 기능은 국가별로 언어가 다르고, 한 줄로 표시되는 oneTine display unit과 여러 줄로 표시되는 multi-line display unit이 있다고 가정 한다. 따라서 앞 선 두 가지 요소는 대안적 기능으로 포함 된다.
  • 가변 컴포넌트를 선택적 (optional) 기능과 대안적 (alternative) 기능으로 구분하여 AOP의 이전(before) 충고와 이후(after) 충고, 대체(around) 충고를 이용할 경우 프로덕트 패밀리들은 중심자원의 표현 과 이들의 어떠한 코드 변경도 없이 결합한다. 자원의 코드 변경 없이 다음 버전의 제품을 완성할 수 있다면, 자원의 관리와 이용에 있어 매우 효율적일 것이다.
본문요약 정보가 도움이 되었나요?

참고문헌 (14)

  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 

  2. Michalis A., Cristina G., 'Implementing Product Line Variabilities,' ACM SIGSOFT Software Engineering Notes, Proceedings of the 2001 Symposium on Software Reusability, 2000 

  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 

  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 

  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 

  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 

  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 

  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 

  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 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로