DOI QR코드

DOI QR Code

Connector for Dynamic Composition of Aspects Based on AOSD

AOSD기반에서 Aspect의 동적결합을 위한 Connector

  • Published : 2006.04.01

Abstract

Aspect-Oriented Software Development is new software development method. It has many advantages related to software performance, maintenance and repair. Also it offers modularization method to a existing programming language for secondary function such as security and fault tolerance. But the present problem is that we have to use new aspect-oriented programming language. Further more when we apply Aspect to legacy system, we have to recompile the source code in order to build software system based on AOSD. In this paper, we propose and design Connector that can be composed with Aspect in legacy system dynamically. To elaborate this work, we use the information of operations about Core and Aspect, and the information of pointcut described with XML. We validate that the proposed Connector has features such as no need of new compiler, no recompilation and no modification of legacy system through case study.

영역지향 소프트웨어 개발 방법론(Aspect-Oriented Software Development)은 소프트웨어의 성능을 향상시키고 유지보수에 많은 이점을 가지는 새로운 소프트웨어 개발 방법론이다. 또한 기존의 프로그래밍 언어가 제공하지 못하는 보안이나 결함 내성과 같은 부가기능에 대해 모듈화하는 방법을 제공하고 있다. 하지만 AOSD기반으로 소프트웨어를 개발하기 위해서는 Aspect를 지원하는 새로운 영역지향 프로그래밍 언어를 사용하거나 레거시 시스템에 Aspect를 적용할 경우에 소스코드의 재 컴파일등과 같은 문제점을 가지고 있다. 이에 본 논문에서는 레거시 시스템에 Aspect를 동적으로 결합할 수 있는 Connector를 제안하고 설계한다. 이를 위하여 Core와 Aspect가 가지는 오퍼레이션에 대한 정보와 XML로 기술된 pointcut정보를 이용한다. 또한 사례연구를 통하여 제안된 Connector를 사용하기 위해 새로운 영역지향 컴파일러가 필요 없고, 레거시 시스템의 수정도 발생하지 않음을 보여 그 유효성을 검증한다.

Keywords

References

  1. http://www-106.ibm.com/developerworks/java/library/j-aspectj/index.html
  2. G. Kiczales and et al, 'Aspect-oriented programming', in proceedings of European Conference for Object-Oriented Programming, LNCS Vol.1241, pp.220-243, 1997 https://doi.org/10.1007/BFb0053381
  3. 이준상, '미래소프트웨어 개발 기술 : Aspect-Orient-ed-Programming 과 Subject-Orient-ed-Programming', 정보처리학회지, Vol.10 No.5 pp.94-101, 2003
  4. http://www.aosd.net
  5. 김치수, 김태영 '영역지향프로그래밍 기술을 적용한 CBD방법론', 정보처리학회논문지D, 제11-D권, 제7호, pp.1435-1442, 2004 https://doi.org/10.3745/KIPSTD.2004.11D.7.1435
  6. G. Kiczales and et al, 'An Overview of AspectJ(0.8)', in proceedings of Europe-an Conference for Objects-Oriented Programming, 2001
  7. http://aspectj.org/doc/dist/progguide/index.html
  8. Ramnivas Laddad, 'AspectJ in Action', Manning Publications Co., 2003
  9. Andrei Popovici, Gustavo Alonso, Thomas Gross, 'Just-In-Time Aspects: Efficient Dynamic Weaving for Java', AOSD Conference, pp.100-109, 2003 https://doi.org/10.1145/643603.643614
  10. Carine Courbis, Ahthony Finkelstein, 'Towards Aspect Weaving Application', IC-SE, pp.69-77, 2005 https://doi.org/10.1145/1062455.1062484
  11. Christoph Bockisch, Michael Haupt, 'Virtual Machine Support for Dynamic Join Points', AOSD Conference, pp.83-92, 2004 https://doi.org/10.1145/976270.976282
  12. Yoshiki Sato, Shigeru Chiba, 'A Selective, Just-In-Time Aspect Weaver', GPCE, LNCS Vol.2830, pp.189-208, 2003
  13. Adnrei Popovici, Thomas Gross, Gustavo Alonso, 'Dynamic Weaving for Aspect-Oriented Programming', AOSD Conference, pp.141-147, 2002 https://doi.org/10.1145/508386.508404
  14. AspectJ Website, http://www.aspectj.org
  15. Davy Suvee, 'JAsCO:an Aspect-Oriented approach tailored for Component Based Software Development', AOSD Conference, pp.21-29, 2003 https://doi.org/10.1145/643603.643606
  16. R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. Jac: A Flexible solution for Aspect-Oriented Programming in Java. In Proceedings of Reflection, LNCS, Vol.2192, pp.1-21, 2001
  17. Popovici, A., Gross, T. and Alonso, G., 'Dynamic Weaving for Aspect-Oriented Programming', In Proceedings of the 1st international conference on Aspect-Ori-ented Software Development, pp.141-147, 2002 https://doi.org/10.1145/508386.508404