• Title/Summary/Keyword: Aspect-oriented programming

Search Result 55, Processing Time 0.037 seconds

Aspectual Implementation Patterns for Feature-Oriented Product Line Engineering (특성 지향의 제품계열공학을 위한 애스팩트 구현 패턴)

  • Lee, Kwan-Woo
    • The KIPS Transactions:PartD
    • /
    • v.16D no.1
    • /
    • pp.93-104
    • /
    • 2009
  • Modular implementation of a feature is a first step toward feature-oriented product line engineering, which develops and then utilizes core assets to configure products in terms of features. Aspect-oriented programming provides effective mechanisms for improving the modularity of feature implementations. However, as features in general are not independent of each other, changes in the implementation of one feature may cause changes to or side effects in the implementation of other features. Moreover, since the time at which a feature is incorporated into products, called feature binding time, may be various from compile time through load time to run time, a feature may have to be implemented differently depending on when the feature is bound into a product. To make each feature implementation module as independent as possible, this paper proposes aspectual implementation patterns that can effectively separate feature dependencies as well as feature binding time from feature implementation modules. These patterns enable flexible composition of feature implementation modules without affecting other modules according to feature selection. The approaches are demonstrated and evaluated based on a product line of scientific calculator applications.

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

  • Park, Oak-Cha;Yoo, Cheol-Jung;Jang, Ok-Bae
    • Journal of KIISE:Software and Applications
    • /
    • v.34 no.9
    • /
    • pp.773-784
    • /
    • 2007
  • Aspect-Oriented Programming (AOP) has focused on improving the modularity of the crosscutting concerns. The existing AOP methodology has been mainly focused on the implementation method of programs and thus developer-oriented concern extraction and development were performed. Recently, many studies for applying AOP to the entire software development processes ranging from requirement analysis to design and implementation are being conducted. But specification methods having consistency from the initial phase of concern extraction to implementation phase are not sufficient. In this paper, we have presented the specification of crosscutting concerns so as to solve these problems. The specification of crosscutting concerns provides guidelines and specification from the requirement analysis phase to the process of converting extracted crosscutting concerns to codes. This method reduces the gap to the process of mapping extracted crosscutting concerns into a single class and thus enhances program development and understandability. In addition, it raises program reusability, maintenance and extensibility by enhancing traceability.

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

  • Kim Chi-su;Kim Tae-young
    • The KIPS Transactions:PartD
    • /
    • v.11D no.7 s.96
    • /
    • pp.1435-1442
    • /
    • 2004
  • Among many recent methods developing software, the method of component-based development (CBD), which refers to the method of treat-ing software as parts of a larger whole, and developing new applications through the assembly and synthesis of existing software, has been thoroughly studied. CBD, however, has demerits that cause difficulty in making inferences and understanding the code of components. and lack adequate documentation because the method of CBD divides systems according to the functional characteristics of these systems. Therefore, this study shows how to reuse components without difficulty and reduce the development time of systems and development costs by compensat-ing for the weak points of the method of CBD. Aspect-Oriented programming technique has been applied to the method of CBD and the UML diagram for this purpose.

Supporting Adaptability and Modularity of System Software

  • Netinant, Paniti
    • Proceedings of the IEEK Conference
    • /
    • 2002.07b
    • /
    • pp.1339-1342
    • /
    • 2002
  • It is difficult to design system software to meet a better separation of concerns, which can provide a number of benefits such as adaptability, extensibility, and modularity in the design and implementation. During design, some aspectual properties, such as synchronization, scheduling, performance and fault tolerance, crosscut the basic functionalities of the system software. By separating functional components from the different aspectual components of the system software in the design, we can provide a better generic design model of system software. Aspect-Oriented Programming is a methodology that aims at separating components and aspects from the early stages of the software life cycle, and using techniques to combining them together at the implementation phase. In this paper we discuss an aspect-oriented framework that can simplify system software design and implementation by expressing it at a higher level of abstraction. Our work concentrates on how to achieve a higher separation of aspectual components, functional components, and layers from each other. Our goal is to achieve a better design model for implementing system software in terms of modularity, reusability and adaptability.

  • PDF

A Trace Mechanism to Demonstrate the Verify of Aspect Weaving (Aspect Weaving 유효성 검증을 해결하기 위한 Trace Mechanism에 관한 연구)

  • Jin-Hyang Kim;Yong-Jae Song
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.563-565
    • /
    • 2008
  • AOP(Aspect-Oriented Programming)는 어플리케이션을 다양한 관점으로 분해하여 객체지향에서 추구하는 모듈화를 더욱 잘 지원하도록 하는 프로그래밍 기법이다. AOP의 단점은 거의 모두가 실행 전에 메소드를 차단하도록 구성되어 있다. 그리고 클래스와 Aspect의 위빙시 join point의 유효성 결함이 많이 발생한다. 따라서 본 논문에서는 trace mechanism을 이용하여 유효성 결함을 감소시키며, 클래스와 Aspcet간의 메소드 호출 관계를 명백히하기 위해 참조테이블을 생성하였다. Weaver에 의해 위빙된 후 생성된 XML코드와 저장소에 저장된 참조테이블 정보는 개발자가 원하는 요구사항에 맞게 적당한 컴포넌트에 배치되도록 Validation Agent를 사용하였다.

A Design of XAS4B for Adding Function in BPEL using Aspect-Oriented Programming (관점지향 프로그래밍 기법을 이용한 BPEL 기능 추가를 위한 XAS4B 엔진 설계)

  • Kwak, Donggyu;Choi, Jaeyoung
    • Journal of IKEEE
    • /
    • v.17 no.4
    • /
    • pp.525-530
    • /
    • 2013
  • The BPEL is standard of workflow. A domain experts not familiar with programming languages and he can write workflow. But he need new function without BPEL. We must develop or modify a BPEL engine for new functions. This method is expensive. In this paper, We propose the XAS4B documents that extend the XML schema. And We describe method that can process new function in BPEL using Aspect-Oriented Programming. AOP can cross-cut concern adding to core concern using weaving without modification. We use an existing B2J (BPEL to JAVA) engine that is transfer a BPEL's document to a JAVA program and B2J execute a JAVA program. This system adding new functions to BPEL's flow using AOP. In this system, A JAVA program is core concern and a program of new function is cross-cut concern. And this system weave a JAVA program made in B2J and a program of new function. This method provide abstract grammar for new functions. And domain experts can easily write new function is a BPEL Document and reuse new function using abstract grammar.

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.

Log Service Management Model for Effective Developments of Android Applications (안드로이드 어플리케이션의 효율적인 개발을 위한 로그 서비스 관리 모델)

  • Choi, Yun-seok
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2016.01a
    • /
    • pp.295-298
    • /
    • 2016
  • 본 논문에서는 안드로이드 기반의 효율적인 모바일 소프트웨어 개발을 위한 로그 서비스 관리 모델을 제안한다. 제안한 모델은 관점지향 프로그래밍을 적용하여 로깅 대상의 변경 없이 로그를 획득하며, 획득한 로그를 원격 호출 인터페이스를 사용하여 로깅 관리자에 전달한다. 로그 관리자는 안드로이드 기본 컴포넌트인 서비스 형태로 구성하며, 로깅 대상 어플리케이션 수행에 독립적으로 로그를 관리한다. 제안한 모델은 로깅을 위한 어플리케이션 변경을 최소화하고, 로깅이 어플리케이션 실행에 미치는 영향을 감소시킬 수 있다.

  • PDF

AspectHPJ: Aspect-Oriented Parallel Programming Model in Java (AspectHPJ: 자바기반의 관심 지향적 병렬 프로그래밍 모델)

  • Kim, Myoung-Jin;Lee, Han-Ku;Lee, Dong-Keun;Lee, Won-Sa
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2008.06b
    • /
    • pp.531-535
    • /
    • 2008
  • 최근의 융합학문의 발전으로 생물, 물리, 화학, 천문, 우주학, 지구과학 분야에서도 병렬 프로그램을 이용한 대용량 데이터를 처리하는 빈도가 높아졌다. 그러나 병렬 프로그래밍은 병렬환경의 전문성을 가지고 있지 않는 다른 학문의 전문가가 사용하기는 어려운 것이 현실이다. 이에 본 논문에서는 병렬환경의 비전문가도 사용하기 용이한 관심 지향적 병렬 프로그래밍 모델과 자바 기반으로 구현된 AspectHPJ 시스템을 제안한다. 본 시스템의 첫 번째 특징은 일반사용자가 Sequential 코드로 프로그램을 작성하고 병렬화 하고자 하는 코드영역에 병렬마크를 사용하여 병렬코드로 전환하는 특징을 가지고 있다. 두 번째는 병렬환경 요소 (프로세서 개수, 분산배열 속성)를 AOP 개념의 관심 (aspect)으로 추출하여 사용자가 보다 용이하게 병렬환경 요소를 설정할 수 있게 해주는데 있다.

  • PDF