• 제목/요약/키워드: Crosscutting Concern

검색결과 6건 처리시간 0.023초

크로스커팅 개념을 이용한 시스템 최적화 기법 (System Optimization Technique using Crosscutting Concern)

  • 이승형;유현
    • 디지털융복합연구
    • /
    • 제15권3호
    • /
    • pp.181-186
    • /
    • 2017
  • 시스템 최적화는 소스코드의 변경 없이 중복된 모듈을 추출하고, 추출된 모듈의 재사용을 위하여 프로그램의 구조를 변경하는 기법이다. 구조지향 개발과 객체지향 개발은 크로스커팅 영역의 모듈화에는 효율적이나 크로스커팅 개념을 모듈화 할 수 없다. 기존 시스템에서 크로스커팅 개념을 적용하기 위해, 각 시스템 내에 분산되어 있는 시스템 최적화 대상 모듈을 크로스커팅 영역으로 추출하는 기술이 필요하다. 본 논문에서는 개발이 완료된 시스템에서 중복 모듈을 추출하기 위한 방법을 제안한다. 제안하는 방법은 소스코드 분석을 통해 데이터 의존관계와 제어 의존관계를 분석하여 중복되는 요소를 추출한다. 추출된 중복된 요소는 시스템 최적화를 위하여 프로그램 의존 관계 분석에 사용될 수 있다. 중복된 의존관계 분석 결과는 제어 흐름 그래프로 변환되며, 이를 활용하여 최소 크로스커팅 모듈을 생성할 수 있다. 의존 관계 분석을 통해 추출된 요소는 크로스커팅 영역 모듈로 설정함으로써 시스템 내 중복된 코드를 최소화 할 수 있는 시스템 최적화 방법을 제시한다.

프로그램 개발 및 유지보수를 지원하는 횡단관심사 명세 기법 (Specification of Crosscutting Concerns to Support Program Development and Maintenance)

  • 박옥자;유철중;장옥배
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권9호
    • /
    • pp.773-784
    • /
    • 2007
  • 관점지향 프로그래밍은 기존의 소프트웨어 개발 방법론으로 해결하기 어려운 횡단관심사를 모듈화 하는데 목적을 두고 있다. 초기 관점지향 프로그래밍은 프로그램 개발 단계에 초점을 맞추어 발전하다가 최근에는 요구사항 분석 및 설계부터 코드 구현 단계까지 전체 프로세스에 관점지향 프로그래밍 방법론을 적용하고자 많은 연구가 이루어지고 있다. 하지만, 관점지향 프로그래밍에서 필요한 교차점, 결합점, 충고 정의를 위한 표준화된 지침 및 명세가 없어 프로그램 개발 및 유지보수를 어렵게 하고 있다. 본 논문에서는 이와 같은 문제점을 해결하기 위하여 관점지향 프로그래밍 개발 및 유지보수를 지원하는 횡단관심사 명세 기법을 제시한다. 관심사 명시, 관심사 설계, 그리고 코드 구현 세 단계로 이루어지는 명세 단계는 요구사항 분석 단계에서 얻어지는 횡단관심사 정보를 코드로 개발할 수 있도록 단계별 지침을 제공한다. 명세 과정의 각 단계에서는 전체 횡단 관심사 목록, 횡단관심사 명세서, 애스펙트 클래스 참조 테이블, 핵심 클래스 참조 테이블을 구축하여 코드 개발 및 유지보수시 프로세스간의 추적 자료로 사용된다. 본 논문의 명세 기법은 관점지향 프로그래밍에서 해결하기 어려운 구현의 문제점, 프로그램 이해의 어려움, 재사용의 문제점을 해결함으로써 시스템 개발을 지원한다.

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

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

추상구문트리를 이용한 어스팩트 마이닝 프로세스 설계 (Aspect Mining Process Design Using Abstract Syntax Tree)

  • 이승형;송영재
    • 한국콘텐츠학회논문지
    • /
    • 제11권5호
    • /
    • pp.75-83
    • /
    • 2011
  • 어스팩트 지향 프로그래밍은 시스템에서 크로스커팅 개념을 추출하고 소프트웨어 모듈화를 통하여 기능의 분산과 코드의 혼란을 해결하기 위한 패러다임이다. 현존하는 어스팩트 개발 방법은 크로스커팅 대상 영역을 추출에 어려움이 있기 때문에, 어스팩트 마이닝을 적용하기가 쉽지 않다. 어스팩트 마이닝에서는 기존 프로그램의 리팩토링 요소를 크로스커팅 영역으로 변환하는 기술이 필수적이다. 본 논문에서는 리팩토링에 적합한 크로스커팅 영역 자동 추출을 위한 시스템에서 크로스커팅 개념을 추출하기 위한 어스팩트 마이닝 방법을 제안한다. 소스 모듈의 추상 구문구조 명세를 이용하여, 모듈의 구조적 중복 관계 요소를 추출한다. Apriori 알고리즘을 통하여 중복 구문트리를 생성하고, 크로스커팅 영역 대상인 중복된 소스 모듈을 자동 생성, 최적화 할 수 있다. Berkeley Yacc의 berbose.c 모듈을 제안하는 마이닝 프로세스에 적용해 본 결과, 원본 대비 9.47%의 길이와 부피의 감소하였고, CCFinder 대비 4.92%의 길이 감소, 5.11%의 부피 감소 효과를 확인하였다.

닷넷 프레임워크에서 클래스 최적화를 위한 추상구조트리 생성 및 크로스커팅 위빙 메커니즘 (AST Creating and Crosscutting Concern Weaving Mechanism for Class Optimization in .NET Framework)

  • 이승형;박제연;송영재
    • 한국콘텐츠학회논문지
    • /
    • 제10권2호
    • /
    • pp.89-98
    • /
    • 2010
  • 엔터프라이즈 시스템은 점점 복잡해지고 대형화되고 있다. 시대적 흐름에 따라 재사용에 초점을 맞춘 객체지향 프로그래밍 방법으로 시스템을 개발하고 있다. 하지만, 객체지향 방법에서는 core class에 중복되는 코드가 삽입되기 때문에, 생산성 저하, 새로운 요구사항을 적용하기 어려운 문제가 발생한다. 이 단점을 해결하기 위하여, 메타데이터와 크로스커팅 개념을 적용하는 위빙 메카니즘을 제안한다. 클래스 최적화와 다른 언어사이의 통합을 위하여 다음의 방법을 사용한다. 리플렉션을 이용한 메타데이타 생성, 추상구조트리로의 변환, 그리고 XML로 명세된 크로스커팅 정보를 통한 매핑을 이용한다. 제안하는 방법을 이용하여, 기능의 분산과 코드의 혼란을 해결함으로서 클래스를 최적화 할 수 있다.

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)을 제공하여 체계적인 변경관리를 지원할 수 있기 때문이다. 따라서 소프트웨어 개발 초기단계에 횡단관심사를 식별하고, 이를 독립적인 모듈로 구현하는 것을 지원하기 위해서는 다음과 같은 사항들을 고려해야 한다. 첫째, 복잡하게 분산되고 엉킨 요구사항의 관심사를 분리되어야 한다. 둘째, 횡단관심사가 시스템을 횡단하는 시점이 식별되어야 한다. 셋째, 횡단관심사를 구현한 모듈과 이것이 횡단하는 다른 모듈들 사이에 발생할 수 있는 요구사항 충돌을 통합 이전단계에 관리할 수 있는 방법이 지원되어야 한다. 이를 위해 본 논문에서는 목표와 시나리오 기반의 요구사항 분석 방법을 기반으로 횡단관심사를 식별하는 방법을 제안한다. 그리고 제안된 방법을 지능형 로봇 소프트웨어 개발 사례에 적용하여 그 유용성을 검증한다.