• 제목/요약/키워드: aspect-oriented software development (AOSD)

검색결과 5건 처리시간 0.019초

횡단관심사 추적을 위한 관점지향 슬라이싱 기법 (An Aspect-Oriented Slicing Technique Tracing Crosscutting Concern)

  • 박종각;박옥자;유철중
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권12호
    • /
    • pp.741-752
    • /
    • 2008
  • 관점지향 소프트웨어 개발방법(AOSD)은 시스템을 관심사별로 분류하고 횡단관심사를 식별하여 애스팩트 클래스로 구성함으로써 높은 유지보수성이 요구되는 사용자 중심의 시스템 설계를 위한 중요한 소프트웨어 개발방법으로 부각되고 있다. 그러나 기존의 관점지향 소프트웨어 개발방법에 대한 연구들은 횡단관심사의 식별과 명세에 대한 연구들과 애스팩트 클래스를 중심으로 하는 시스템 구현에 대한 연구들이 대부분이며, 식별된 횡단관심사의 추적 방법에 대한 연구들은 매우 미흡하였다. 따라서 본 연구에서는 AOSD를 기반으로 시스템 모델링 단계에서의 횡단관심사 추적을 위한 관점지향 슬라이싱 기법을 제안하였다. 유스 케이스들 간의 상호작용 분석을 통해 횡단관심사를 식별하여 명세한 후 식별된 횡단관심사 추적을 위한 슬라이싱 기법을 제시하였으며, 사례연구를 위해 학습관리시스템(LMS)에 이 기법을 적용하였다. LMS는 시스템 기능의 잦은 변경 및 확장 요구가 많은 사이버교육 시스템으로 이 시스템의 개발에 유지보수성을 높이는 AOSD를 적용하는 것은 매우 효과적인 방법이다. 그리고 마지막으로 기존 연구와의 비교분석 결과를 제시하였다.

AOSD기반에서 Aspect의 동적결합을 위한 Connector (Connector for Dynamic Composition of Aspects Based on AOSD)

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

AJFCode: An Approach for Full Aspect-Oriented Code Generation from Reusable Aspect Models

  • Mehmood, Abid;Jawawi, Dayang N.A.
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제16권6호
    • /
    • pp.1973-1993
    • /
    • 2022
  • Model-driven engineering (MDE) and aspect-oriented software development (AOSD) contribute to the common goal of development of high-quality code in reduced time. To complement each approach with the benefits of the other, various methods of integration of the two approaches were proposed in the past. Aspect-oriented code generation, which targets obtaining aspect-oriented code directly from aspect models, offers some unique advantages over the other integration approaches. However, the existing aspect-oriented code generation approaches do not comprehensively address all aspects of a model-driven code generation system, such as a textual representation of graphical models, conceptual mapping, and incorporation of behavioral diagrams. These problems limit the worth of generated code, especially in practical use. Here, we propose AJFCode, an approach for aspect-oriented model-driven code generation, which comprehensively addresses the various aspects including the graphical models and their text-based representation, mapping between visual model elements and code, and the behavioral code generation. Experiments are conducted to compare the maintainability and reusability characteristics of the aspect-oriented code generated using the AJFCode with the most comprehensive object-oriented code generation approach. AJFCode performs well in terms of all metrics related to maintainability and reusability of code. However, the most significant improvement is noticed in the separation of concerns, coupling, and cohesion. For instance, AJFCode yields significant improvement in concern diffusion over operations (19 vs 51), coupling between components (0 vs 6), and lack of cohesion in operations (5 vs 9) for one of the experimented concerns.

학습관리시스템에서 관점지향 소프트웨어 개발방법론의 적용 (Applying Aspect-Oriented Software Development Methodology in Learning Management System)

  • 박종각;박옥자;유철중;장옥배
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (C)
    • /
    • pp.433-437
    • /
    • 2006
  • 유스케이스(Use Case)를 기반으로 하는 관점지향 소프트웨어 개발방법론(Aspect-Oriented Software Development, AOSD)은 사용자 중심의 시스템을 설계하는데 있어 매우 중요한 소프트웨어 개발방법론으로 부각되고 있다. 학습관리시스템(Learning Management System, LMS)은 사이버교육을 지원하는 핵심시스템이며, 다양한 요구사항을 제시하는 청소년층을 대상으로 하기 때문에 높은 유지보수성과 확장성을 필요로 한다. 본 논문에서는 관점지향 소프트웨어개발 방법론을 6단계 모델링 방법을 통해 사이버 교육을 위한 학습관리시스템에 적용하였다. 적용 결과 학습관리시스템에서 횡단관심사의 모델링을 통한 관점지향 소프트웨어 개발은 유스 케이스 중심으로 모델링되어 사용자 중심의 시스템 유지보수성과 재사용성을 높일 수 있음을 보였다.

  • PDF

레거시 컴포넌트의 유지보수를 위한 AOSD 기반의 Component Connector (The Component Connector for Maintenance of Legacy Component Based on Aspect Oriented Software Development)

  • 김경민;김태웅;김태공
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (C)
    • /
    • pp.244-246
    • /
    • 2006
  • 소프트웨어 컴포넌트란 하나 이상의 기능을 갖는 독립적인 소프트웨어이며, 조림을 통해 응용프로그램을 작성할 수 있는 부품 형태의 소프트웨어를 말한다. 이미 개발되어진 컴포넌트에 기능을 추가하거나 확장하기 위해서는 새로운 컴포넌트를 개발하여 기존의 컴포넌트와의 조립을 통하여 이를 실현하거나 이미 개발되어진 컴포넌트를 수정해야 한다. 더구나 추가하고자 하는 기능이 컴포넌트의 내부에 흩어져 있는 경우에는 컴포넌트를 수정해야하는 단점이 있다. 이에 본 논문에서는 Aspect를 이용하여 컴포넌트의 기능 추가 및 확장을 가능하게 하는 컴포넌트들 간의 조립을 위한 Component Connector를 제안한다. 컴포넌트들 간의 조림정보를 표현하는 Component Connector 모델을 제시하고 요청된 조립 서비스를 수행하는 Component Connector의 실현 클래스를 정의한다. 이것은 컴포넌트 플랫폼 독립적인 모델로 나타내어지며 적용사례를 통하여 다양한 형태로의 플랫폼 종속적인 모델로 변환 가능함을 검증하고자 한다.

  • PDF