• 제목/요약/키워드: Cross-Cutting Concerns

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

애스펙트와 목표의 결합정보 중심 애스펙트 명세 기법 (A Specification Technique for Aspects Focusing on Join Information Between Aspects and Targets)

  • 최윤석;정기원
    • 정보처리학회논문지D
    • /
    • 제15D권5호
    • /
    • pp.669-680
    • /
    • 2008
  • 로깅이나 보안 등과 같은 횡단관심사를 효과적으로 모듈화하고 적용하는 관점지향 프로그래밍에 대한 다양한 연구가 진행되고 있다. 그러나 횡단관심사를 모듈화 한 애스펙트의 정보 및 애스펙트와 목표의 결합 정보를 명세하는 기법에 대한 연구가 필요한 상황이다. 본 논문에서는 애스펙트와 목표 모듈의 결합 관계를 명확히 하는 애스펙트 명세 기법을 제안한다. 제안한 기법은 애스펙트 명세, 우선순위 결정, 결합정보 명세, 그리고 교차점 명세 단계를 수행하여 애스펙트 정보를 명세한다. 애스펙트와 목표 모듈 사이의 결합 관계를 표현하는 결합정보 매트릭스를 기술하며, 결합점의 공통성을 분석하여 교차점 명세서를 기술한다. 제안한 명세기법은 애스펙트 및 애스펙트와 목표 모듈의 결합에 대한 구체적인 정보를 제공하며, 이를 통해 애스펙트 구현에 필요한 상세한 정보를 사용할 수 있다.

AOP를 이용한 신뢰성 있는 서비스 어플리케이션의 SOA 기반 프레임워크 (A SOA based Framework Using AOP for Reliable Service Applications)

  • 김은선;이재정;이병정
    • 한국IT서비스학회지
    • /
    • 제10권2호
    • /
    • pp.223-234
    • /
    • 2011
  • Loosely coupled properties of SOA(Service Oriented Architecture) services do not guarantee that service applications always work properly. Service errors may also influence other services of SOA. These characteristics adversely affect software reliability. Therefore, it is a challenge to effectively manage system change and errors for operating services normally. In this study, we propose a SOA based framework using AOP(Aspect Oriented Programming) for reliable service applications. AOP provides a way to manipulate cross-cutting concerns such as logging, security and reliability and these concerns can be added to applications through weaving process. We define a service specification and an aspect specification for this framework. This framework also includes service provider, requester, repository, platform, manager, and aspect weaver to handle changes and exceptions of applications. Independent Exception Handler is stored to exhibited external Aspect Service Repository. When exception happened, Exception Handler is linked dynamically according to aspect rule that is defined in aspect specification and offer function that handle exception alternate suitable service in systematic error situation. By separating cross-cutting concerns independently, we expect that developer can concentrate on core service implementation and reusability, understanding, maintainability increase. Finally, we have implemented a prototype system to demonstrate the feasibility of our framework in case study.

관점지향 프로그램 기반의 동적 소프트웨어 컴포넌트 조합 패턴 (Dynamic Software Component Composition Based On Aspect-Oriented Programming)

  • 배성문;박철순;박춘호
    • 산업경영시스템학회지
    • /
    • 제31권4호
    • /
    • pp.100-105
    • /
    • 2008
  • Cost reduction, time to market, and quality improvement of software product are critical issues to the software companies which try to survive in recent competitive market environments. Software Product Line Engineering (SPLE) is one of the approaches to address these issues. The goal of software product line is to maximize the software reuse and achieve the best productivity with the minimum cost. In software product line, software components are classified into the common and variable modules for composition work. In this paper, we proposed a dynamic composition process based on aspect-oriented programming methodology in which software requirements are classified into the core-concerns and cross-cutting concerns, and then assembled into the final software product. It enables developers to concentrate on the core logics of given problem, not the side-issues of software product such as transactions and logging. We also proposed useful composition patterns based on aspect oriented programming paradigm. Finally, we implemented a prototype of the proposed process using Java and Aspect to show the proposed approach's feasibility. The scenario of the prototype is based on the embedded analysis software of telecommunication devices.

데이터 타입 무결성 컴포넌트 모델 : 외부화된 데이터 가변성 처리 기법 (Data Type-Tolerant Component Model: A Method to Process Variability of Externalized Data)

  • 임윤선;김명;정승남;정안모
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권5호
    • /
    • pp.386-395
    • /
    • 2009
  • 다계층 구조로 설계된 현대의 분산 애플리케이션 아키텍처에서 비즈니스 엔티티는 모든 서비스 로직 컴포넌트들을 관통하는 일종의 횡단관심사(Crosscutting Concerns)이다. 그러므로 비즈니스 엔티티가 변화하면 이와 관련된 서비스 컴포넌트들은 비록 애플리케이션 프레임워크의 공통적인 기능을 구현한 서비스 로직 컴포넌트라 할지라도 새로운 비즈니스 엔티티를 다를 수 있도록 수정되어야 한다. 본 논문에서는 비즈니스 엔티티, 즉 외부화(externalized)된 데이터에 대한 가변성(variability)을 처리하는 DTT 컴포넌트 모델(Data Type-Tolerant Component Model)을 제시한다. DTT 컴포넌트 모델은 SCDT(Self-Contained Data Type)와 가변점(Variation Point) 인터페이스를 통해 프로덕트 라인의 데이터 가변성을 구현 수준에서 구체적으로 표현하고, 서비스 컴포넌트 코드 수정대신 비즈니스 엔티티와 SCDT간 타입 변환을 지원하는 데이터 타입 컨버터를 도입함으로써 애플리케이션 엔지니어링 효율을 향상시킨다. 서비스 컴포넌트가 외부화된 비즈니스 엔티티를 직접 다루지 않고 SCDT 만을 다루게 함으로써 데이터와 함수의 커플링을 다시 컴포넌트 수준에서 로컬화했다는 점이 DTT 컴포넌트 모델의 의의라 할 수 있다.

AOP를 사용한 데이터베이스 트랜잭션 라우팅 알고리즘 (Database Transaction Routing Algorithm Using AOP)

  • 강현식;이석훈;백두권
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제3권11호
    • /
    • pp.471-478
    • /
    • 2014
  • 데이터베이스 복제(Replication)는 분산 데이터베이스 환경에서 신뢰성, 가용성, 과부하 방지 등을 위하여 이용되며, 마스터/슬레이브(Master/Slave), 멀티마스터(Multi-Master)와 같이 두 가지 모델이 존재한다. 멀티마스터 데이터베이스는 다중 데이터베이스에 삽입 및 갱신을 위한 동기화에 따른 복잡도 증가와 비용 증가와 같은 문제를 지닌다. 이러한 이유로 데이터의 삽입과 수정이 빈번히 일어나는 환경에는 마스터/슬레이브 모델을 이용한 데이터베이스 복제가 적합하다. 하지만 마스터/슬레이브 데이터베이스 역시 시스템에서 각 트랜잭션이 마스터로 접속해야 할지, 슬레이브로 접속해야 할지를 선택하기 위한 기준이 명확히 존재하지 않는 문제를 지닌다. 따라서 이 연구에서는 마스터/슬레이브 데이터베이스 모델에서 AOP(Aspect Oriented Programming) 기반의 데이터베이스 트랜잭션 라우팅 알고리즘을 제안한다. 이를 위하여 AOP에 기반하여 애플리케이션을 횡단 관심사로 분리하고 각 관심사들을 모듈화 하여 트랜잭션을 마스터 데이터베이스 및 슬레이브 데이터베이스로 라우팅한다. 이 논문은 시나리오 기반의 기능 통합 테스트를 통하여 제안 알고리즘의 안정성(Stability) 및 성능이 우수함을 평가한다.

AOP를 이용하여 진화된 프로그램의 회귀테스트 기법 (Regression Testing of Software Evolution by AOP)

  • 이미진;최은만
    • 정보처리학회논문지D
    • /
    • 제15D권4호
    • /
    • pp.495-504
    • /
    • 2008
  • 관점지향 프로그래밍(AOP)은 횡단 관심사까지 모듈화 하여 소프트웨어의 모듈화를 높여주는 새로운 프로그래밍 패러다임이다. 이를 이용하면 레거시 시스템에 손대지 않고 소프트웨어를 확장시킬 수 있다. 관점지향 프로그래밍 자체 혹은 레거시 시스템만의 테스트 기법은 많이 있으나 확장된 프로그램의 테스트 기법에 대해선 많은 연구가 진행되지 않고 있다. 이 논문에서는 관점지향 프로그래밍을 이용하여 소프트웨어를 확장한 경우의 테스트 기법에 대해 관점지향 프로그래밍의 결함 모델에 맞춰 제시한다. 우선 AOP의 반사기능의 객체를 이용하여 교차점 패턴의 부정확한 강도 및 부정확한 애스펙트의 우선순위를 테스트하고, 증명 규칙을 이용하여 기대하는 사후 조건 성립의 실패에 대해 테스트하였다. 또한 set() 교차점을 이용하여 불변 조건 보존의 실패에 대해 테스트하고, 제어흐름 그래프를 이용하여 제어 의존의 부정확한 변형에 대해 확인하는 방법을 제시한다. 실증을 위하여 셋탑박스의 채널 관리 시스템을 구현하여 제시한 각각의 테스트 기법들에 대해 실험하였다.