The Aspect Development Architecture for AspectJ

AspectJ를 지원하는 AOP 개발 프레임워크

  • Park Oak-Cha (Dept of Computer Information, Chonbuk National University) ;
  • Kim Jeong-Oak (Dept of Computer Information, Chonbuk National University) ;
  • Kim Jae-Woong (Telecommunication Technology Association) ;
  • Yoo Cheol-Jung (Dept of Computer Information, Chonbuk National University) ;
  • Chan Ok-Bae (Dept of Computer Information, Chonbuk National University)
  • 박옥자 (전북대학교 컴퓨터정보학과) ;
  • 김정옥 (전북대학교 컴퓨터정보학과) ;
  • 김재웅 (TTA SW시험인증센터) ;
  • 유철중 (전북대학교 컴퓨터정보학과) ;
  • 장옥배 (전북대학교 컴퓨터정보학과)
  • Published : 2006.06.01

Abstract

관심사 분리는 소프트웨어 공학에서 핵심 문제로 다루어왔다. 기존의 OOD나 CBD등은 관심사를 분리하여 모듈화함으로써 프로그램 개발 및 유지보수를 용이하도록 발전해왔다. 하지만, 에러 처리나 로깅과 같이 여러 모듈에 산재되어 실행되는 횡단 관심사는 기존의 방법으로 해결하기 어려웠다. AOP는 이와 같은 횡단 관심사를 처리하려는 데 목적을 두고 제안된 방법으로 기존의 OOD나 CBD의 단점을 보완하면서 병행적으로 발전해왔다[1]. AOP가 나타난 가장 큰 특징은 기존의 개발 방법론을 기반으로 핵심 관심사를 개발하고 해결하기 어려운 횡단 관심사는 AOP로 개발하려는데 초기 목적을 두고 있다. 하지만, 대부분의 연구가 초기 요구사항 분석 단계에서 관심사를 명시하는데 초점을 두고 있을 뿐 구현 단계에서 효율적인 접근 방법은 아직 부족한 편이다. 본 논문에서는 Java와 AspectJ를 이용하여 구현한 간단한 사례 연구를 적용한 AOP 개발 프레임워크를 제안한다. AOP 개발 프레임워크에서는 관심사 분리, 구현, 평가의 세 단계를 기술한다. 이 중 구현단계에서는 핵심 관심사와 횡단 관심사 구현에 초점을 두고 AOP 기법에 쉽게 접근할 수 있는 방법을 기술하고 있다. 프레임워크는 프로그램 개발을 보다 용이하게 하고 확장 및 유지보수시 많은 시간을 단축시키려는데 있다.

Keywords