• Title/Summary/Keyword: Cross-Cutting Concerns

Search Result 6, Processing Time 0.016 seconds

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

  • Choi, Yun-Seok;Chong, Ki-Won
    • The KIPS Transactions:PartD
    • /
    • v.15D no.5
    • /
    • pp.669-680
    • /
    • 2008
  • There are various studies about AOP(Aspect-Oriented Programming) which modularizes cross-cutting concerns like logging and security effectively. But, we need to utilize techniques which specify the information of aspects modularizing cross-cutting concerns and detailed join information between aspects and targets. We propose a specification technique for aspects which focuses on clarifying the join information between aspects and targets. The technique includes the activities of specifying aspects, defining priority, specifying join information, and specifying pointcuts. We describe the join matrix which represents relationships of aspects and targets and the pointcut specification which is made by analyzing the commonality of join points. The proposed specification technique supports detailed information of the aspects and the join information between aspects and targets so that we can use detailed information to implement aspects.

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

  • Kim, Eun-Sun;Lee, Jae-Jeong;Lee, Byung-Jeong
    • Journal of Information Technology Services
    • /
    • v.10 no.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 (관점지향 프로그램 기반의 동적 소프트웨어 컴포넌트 조합 패턴)

  • Bae, Sung-Moon;Park, Chul-Soon;Park, Chun-Ho
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.31 no.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 (데이터 타입 무결성 컴포넌트 모델 : 외부화된 데이터 가변성 처리 기법)

  • Lim, Yoon-Sun;Kim, Myung;Jeong, Seong-Nam;Jeong, An-Mo
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.5
    • /
    • pp.386-395
    • /
    • 2009
  • Business entities with which most service components interact are kind of cross-cutting concerns in a multi-layered distributed application architecture. When business entities are modified, service components related to them should also be modified, even though they implement common functions of the application framework. This paper proposes what we call DTT (Data Type-Tolerant) component model to process the variability of business entities, or externalized data, which feature modern application architectures. The DTT component model expresses the data variability of product lines at the implementation level by means of SCDTs (Self-Contained Data Types) and variation point interfaces. The model improves the efficiency of application engineering through data type converters which support type conversion between SCDTs and business entities of particular applications. The value of this model lies in that data and functions are coupled locally in each component again by allowing service components to deal with SCDTs only instead of externalized business eutities.

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

  • Kang, Hyun Sik;Lee, Sukhoon;Baik, Doo-Kwon
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.3 no.11
    • /
    • pp.471-478
    • /
    • 2014
  • Database replication is utilized to increase credibility, availability and prevent overload of distributed databases. Two models currently exist for replication - Master/Slave and Multi-Master. Since the Multi-Master model has problems of increasing complexity and costs to interface among multiple databases for updates and inserts, the Master/Slave model is more appropriate when frequent data inserts and updates are required. However, Master/Slave model also has a problem of not having exact criteria when systems choose to connect between Master and Slave for transactions. Therefore, this research suggests a routing algorithm based on AOP (Aspect Oriented Programming) in the Master/Slave database model. The algorithm classifies applications as cross-cutting concerns based on AOP, modularizes each concern, and routes transactions among Master and Slave databases. This paper evaluates stability and performance of the suggested algorithm through integration tests based on scenarios.

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

  • Lee, Mi-Jin;Choi, Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.15D no.4
    • /
    • pp.495-504
    • /
    • 2008
  • Aspect Oriented Programming(AOP) is a relatively new programming paradigm and has properties that other programming paradigms don't have. This new programming paradigm provides new modularization of software systems by cross-cutting concerns. In this paper, we propose a regression test method for program evolution by AOP. By using JoinPoint, we can catch a pointcut-name which makes it possible to test the incorrect pointcut strength fault and the incorrect aspect precedence fault. Through extending proof rules to aspect, we can recognize failures to establish expected postconditions faults. We can also trace variables using set() and get() pointcut and test failures to preserve state invariant fault. Using control flow graph, we can test incorrect changes in control dependencies faults. In order to show the correctness of our proposed method, channel management system is implemented and tested by using proposed methods.