• Title/Summary/Keyword: 관점 지향 프로그램

Search Result 69, Processing Time 0.031 seconds

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.

Extraction Components from Object-Oriented Programs (객체지향 프로그램에서의 컴포넌트 추출)

  • Yoon, Seok-Jin;Shin, Gyu-Sang
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.10a
    • /
    • pp.531-534
    • /
    • 2000
  • 본 논문은 기존의 객체지향 방식으로 작성된 프로그램에서 컴포넌트를 추출하기 위한 제안한다. 객체지향 프로그램을 분석하여 클래스 정보를 추출하고, 클래스간의 관계를 조사하여 상호의존성이 낮고 재사용성이 높은 클래스를 선택하여 컴포넌트화 시킨다. 재사용성은 프로그램내에서 얼마나 많이 사용되는가로 정의하였다. 클래스가 사용된다는 것은 데이터 관점과 기능관점에서 각각 다르게 측정될 수 있는데, 본 논문에서는 기능적 관점에 맞추어서 클래스의 재사용성을 측정한다. 측정된 재사용성을 통해서 컴포넌트의 후보를 사용자에게 제시하고 사용자로부터 선택받아 컴포넌트화 시키는 도구를 설계하였다.

  • PDF

Study on Class Inheritance Depth of Object-Oriented Program (객체지향 프로그램의 클래스 상속 깊이에 관한 연구)

  • 문양선
    • Proceedings of the Korean Society for Cognitive Science Conference
    • /
    • 2000.05a
    • /
    • pp.226-231
    • /
    • 2000
  • 객체지향 패러다임의 상속성은 코드 재사용 및 확장을 용이하게 하여 소프트웨어 생산성을 높여준다. 그러나 상속을 남용하여 상속 계층구조(class inheritance hierarchy)의 상속 깊이가 깊게 되면 프로그램을 이해하는데 어려움을 준다. 이러한 관점에서 볼 때 상속성의 이용에 제한을 둘 필요가 있다. 본 논문은 상속 계층구조의 상속 깊이에 대한 기준을 세우기 위하여 인지실험을 행하고 그 결과를 보고한다. 본 논문의 목적은 객체지향의 특성 중 상속성의 장점을 잘 이용하면서 이해하기 쉬운 객체지향 소프트웨어 개발을 돕는 것이다.

  • PDF

Design and Implementation of a BPEL Engine for Dynamic Function using Aspect-Oriented Programming (동적 기능 추가를 위하여 관점지향 프로그래밍 기법을 이용한 BPEL 엔진의 설계와 구현)

  • Kwak, Dong-Gyu;Choi, Jae-Young
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.37 no.4
    • /
    • pp.205-214
    • /
    • 2010
  • BPEL is a standard workflow language, which interacts with Web Services and is used in various applications. But it is difficult to use BPEL for specific applications which require additional functions. In this paper, we present a system which can add new functions to BPEL based on an aspect-oriented programming (AOP) technique. In order to add new functions to BPEL, we define a JWX document format that can describe new functions to apply to BPEL. JWX is XML-oriented document that can code the corresponding Java program in order to dynamically add new functions to BPEL documents. It is possible for BPEL workflow to add new functions without modifying the existing programs using the AOP technique, which guarantees low degree of coupling between key and additional requirements. Additionally this systems weaves based on new functions of Java program and JWX document by expanding BPEL engine called B2J based on AOP and execute them. Therefore it is possible to develop a new BPEL engine with additional functions easily and with low cost. The new system can execute additional conditions that the current BPEL engine doesn’t provide. The new system using functions of BPEL supplied by B2J. The new system can be used to add a new rule engine, which isn't currently provided.

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.

Development of a Maintenance Support System for C++ Programs (C++프로그램의 유지보수 지원 시스템 개발)

  • Moon, Yang-Sun;Jang, Gun-Sil;Yoo, Cheol-Jung;Chang, Ok-Bae
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.7
    • /
    • pp.1759-1773
    • /
    • 1998
  • This paper introduces a maintenance support tool for C++ programs. The tool was extended by adding a documentation supporting tool(DT) and an OOD/OOP style guidelines supporting tool(OOD\ulcornerP-GT) to previous work results, the complexity measurement tool(CT) and the visualization tool(VT). The tool was named C++ MT. For the extention, we studied a documentation method of object oriented programs, analyzed and grouped the OOD/OOP style guidelines suggested in some works. The DT developed in this paper helps programmer understand, cange, and est programs, and also extract the reuse components. OOD/P-GT provides guielines for programmer to improve program quality.

  • PDF

A Study on Class Extraction Based on Multiply-Selectable Stochastic Refinement Decision and Semantic Modeling for Re-engineering of Procedural S/W (절차중심 S/W의 재공학을 위한 다중선택 확률론적인 정제 결정의 모델링에 기반한 클래스 추출에 관한 연구)

  • 박성옥;이문근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.508-510
    • /
    • 1998
  • 기존의 절차 지향 프로그램을 이해하고 유지.보수하기 위해서는 많은 비용이 필요하다. 이러한 절차 지향 프로그램에서 객체/클래스를 추출한다면 프로그램을 이해하고 유지.보수하는데 많은 비용을 절감할 수 있을 뿐 아니라, 객체 지향 프로그램으로 변환하는데 많은 도움이 된다. 본 논문에서는 객체/클래스를 추출하기 위한 절차와 구조를 제시하였다. 객체/클래스 추출기는 Clustering Engine, Stochastic Refinement and Decision Engine, Domain Modelling와 Comparison and Intergration Engine의 4부분으로 구성된다. 이러한 과정을 거치면서 기존의 연구 방법과는 다르게 가중치 주는 기준, 다중 객체 후보, 통계적 방법으로의 정재와 결정, 요구사항의 의미적 관점에 기초한 방법을 사용하였다.

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 Study on the Learning Modes of Start-up Accelerating Program: Focusing on Korean Accelerators in the ICT Field Targeting Global Market (액셀러레이터 보육 프로그램이 제공하는 학습방식에 관한 연구: 글로벌 지향 ICT 분야 액셀러레이터를 중심으로)

  • Shin, Seung Yong;Lee, Jonghyun
    • Asia-Pacific Journal of Business Venturing and Entrepreneurship
    • /
    • v.18 no.1
    • /
    • pp.31-46
    • /
    • 2023
  • This study classified and confirmed the learning modes about start-ups that are based on the accelerator's program which was focusing on the Korean accelerators in the ICT field targeting global market. Eight accelerator practitioners were interviewed who were in charge of operating programs for accelerators, qualitatively analyzing method of the interview was conducted. The interview results to identify various learning modes that accelerators provide to startups through programs. In order to identify and classify learning modes, the researcher reviewed various prior documents and using categories of experience accumulation, observation, experimentation, trial and error, and improvisation as a priori code for the qualitative analysis. The interview results were analyzed through a subject analysis. As the result of the study, the learning modes offered by the accelerator's programs to startups were confirmed, with two subcategories identified for each of the five categories: experiential, learning from others, experimental, trial and error, and improvisation. Given the limited research on accelerator programs and their main function, the main function of accelerators, this study identified the types of learning modes that offered by the accelerator's programs to startups from the perspective of learning. This study provides important insights into the types of learning modes that offered by the accelerator programs, which can help to improve our understanding of how accelerators support organizational learning for startups. Additionally, this information can be useful for startups considering in participating in the accelerator programs, as it can help them making informed decisions about their involvement.

  • PDF

A Dynamic Web Service Orchestration and Invocation Scheme based on Aspect-Oriented Programming and Reflection (관점지향 프로그래밍 및 리플렉션 기반의 동적 웹 서비스 조합 및 실행 기법)

  • Lim, Eun-Cheon;Sim, Chun-Bo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.14 no.9
    • /
    • pp.1-10
    • /
    • 2009
  • The field of the web service orchestration introduced to generate a valuable service by reusing single services. Recently, it suggests rule-based searching and composition by the AI (Artificial Intelligence) instead of simple searching or orchestration based on the IOPE(Input, Output, Precondition, Effect) to implement the Semantic web as the web service of the next generation. It introduce a AOP programming paradigm from existing object-oriented programming paradigm for more efficient modularization of software. In this paper, we design a dynamic web service orchestration and invocation scheme applying Aspect-Oriented Programming (AOP) and Reflection for Semantic web. The proposed scheme makes use of the Reflection technique to gather dynamically meta data and generates byte code by AOP to compose dynamically web services. As well as, our scheme shows how to execute composed web services through dynamic proxy objects generated by the Reflection. For performance evaluation of the proposed scheme, we experiment on search performance of composed web services with respect to business logic layer and user view layer.