• 제목/요약/키워드: Aspect-Oriented Software Development

검색결과 26건 처리시간 0.025초

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.

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

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

Aspect-Oriented 소프트웨어 개발을 위한 목표-시나리오 모델링 기반의 횡단관심사 식별 및 명세화 방법 (An Identification and Specification Method of Crosscutting Concerns based on Goal-Scenario Modeling for Aspect-Oriented Software Development)

  • 김선화;김민성;박수용
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권7호
    • /
    • pp.424-430
    • /
    • 2008
  • 관점지향 소프트웨어 개발방법론(Aspect-Oriented Software Development)에서 가장 중요한 고려사항중 하나는 요구사항 분석단계에서 횡단관심사(Crosscutting Concerns)를 식별하는 것이다. 이는 개발 초기단계에 횡단관심사를 식별함으로써 요구사항의 일관성(consistency)을 증진시켜 시스템의 유지보수를 쉽게 하고, 개발단계의 산출물들 사이의 추적성(traceability)을 제공하여 체계적인 변경관리를 지원할 수 있기 때문이다. 따라서 소프트웨어 개발 초기단계에 횡단관심사를 식별하고, 이를 독립적인 모듈로 구현하는 것을 지원하기 위해서는 다음과 같은 사항들을 고려해야 한다. 첫째, 복잡하게 분산되고 엉킨 요구사항의 관심사를 분리되어야 한다. 둘째, 횡단관심사가 시스템을 횡단하는 시점이 식별되어야 한다. 셋째, 횡단관심사를 구현한 모듈과 이것이 횡단하는 다른 모듈들 사이에 발생할 수 있는 요구사항 충돌을 통합 이전단계에 관리할 수 있는 방법이 지원되어야 한다. 이를 위해 본 논문에서는 목표와 시나리오 기반의 요구사항 분석 방법을 기반으로 횡단관심사를 식별하는 방법을 제안한다. 그리고 제안된 방법을 지능형 로봇 소프트웨어 개발 사례에 적용하여 그 유용성을 검증한다.

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

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

임베디드 시스템 소프트웨어 개발을 위한 관점지향프로그래밍 방식의 예외원인분석 (Analyzing Exceptions for Embedded System Software Development using Aspect Oriented Programming)

  • 주재호;김태형
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권5호
    • /
    • pp.355-359
    • /
    • 2009
  • 소프트웨어에서 예외가 발생할 때 원인분석을 해야 할 때가 있다. 이를 위해서 문제상황을 반복 재현하면서 관찰하게 되는데, 이 때 문제가 발생하는 양상이 규칙적이지 않다면 원인을 분석하는 것이 쉽지 않다. 특히 임베디드 시스템 혹은 이동통신단말기의 경우처럼 개발용 컴퓨터와 개발목적 장치가 분리된 경우에는 원인분석을 위한 시간과 노력이 배가되므로 개발자 부담을 가중시켜서 개발생산성을 극도로 악화시키는 요인이 된다. 본 논문에서는 임베디드 시스템과 이동통신단말기 디버그 중 예외 발생경로를 쉽게 확인할 수 있도록, 관점지향프로그래밍(Aspect Oriented Programming) 방식의 예외원인 분석 방법을 제안한다. 원인이 모호하고 발생빈도가 불규칙적인 예외발생 원인을 규명하기 위해서 예외발생 당시의 함수호출 경로를 추적해야 하므로 소모적인 시간과 노력을 필요로 하는데, 제안하는 방식은 예외 발생시 함수호출 경로를 로그 메모리 형태로 즉시 제공해 줌으로써 기존의 디버깅 방법에서 획득할 수 없는 개발자 편의성을 획기적으로 증대시킨다.

XML 을 이용한 Aspect 기반 소프트웨어 컴포넌트 명세 (Specification of aspect-based software component using XML)

  • 이승형;송영재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.405-408
    • /
    • 2005
  • 현재 컴포넌트 기반 소프트웨어 엔지니어링의 접근은 소프트웨어 컴포넌트 인터페이스 디자인과 실행에 중심을 둔 경향이다. 컴포넌트 기반 소프트웨어 개발을 하기 위하여, 전체 시스템을 분석하는 것은 복잡하고, 이해하기 어렵다. 이를 위하여 aspect 기반 컴포넌트 개발방법을 도입한다. Aspect 기반 개발에서는 필요로 하는 컴포넌트를 표현하기 위하여 provide 와 require 를 사용한다. 또한 Aspect 기반 컴포넌트 엔지니어링을 위하여 컴포넌트 사이의 provide/require 서비스에 대한 분류와 추론을 위하여 다른 컴포넌트와 함께 이용할 수 있는 방법을 제안한다. 이 방법은 개발자들은 전체 시스템 개발을 위해 필요로 하는 적합한 컴포넌트의 provide/require 을 사용하여 접근하기 때문에 컴포넌트 검색, 합성, 재사용에 도움을 줄 수 있다. 컴포넌트 aspect 정보의 확장을 위하여 XML 문서 포맷을 사용함으로써 서로 다른 환경에서도 사용할 수 있도록 명세 하였다.

  • PDF

학습관리시스템에서 관점지향 소프트웨어 개발방법론의 적용 (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

영역지향 프로그래밍 기술을 적용한 CBD 방법론 : UML 다이어그램의 개선을 중심으로 (The Methods of Component-Based Development Using Aspect-Oriented Programming Techniques : Focusing on Improvement in UML Diagram)

  • 김치수;김태영
    • 정보처리학회논문지D
    • /
    • 제11D권7호
    • /
    • pp.1435-1442
    • /
    • 2004
  • 최근 소프트웨어 개발 방법론 중 소프트웨어 부품화하고 이를 조립${\cdot}$합성하여 새로운 어플리케이션을 개발하는 방식의 CBD 방법론이 많이 연구되고 있다. 그러나 CBD 방법론은 시스템의 기능적인 특성을 중심으로 분할하는 경향이 많아 컴포넌트에 대한 추론, 문서화, 코드의 이해를 어렵게 하는 단점이 있다. 따라서 본 논문에서는 영역지향 프로그래밍 기술을 CBD 방법론과 UML 다이어그램에 적용하여 CBD 방법론의 단점을 보완함으로써 컴포넌트의 재사용을 용이하게 하고 시스템 개발 시간 단축과 개발비용의 감소를 유도하였다.