• 제목/요약/키워드: 관점지향 프로그래밍

검색결과 35건 처리시간 0.024초

속성문법과 관점지향 프로그래밍 기법을 이용한 BPEL에 새로운 기능을 추가하는 BPEL 엔진 생성기 (BPEL Engine Generator for adding New Functions to BPEL based on Attribute Grammar and Aspect-Oriented Programming)

  • 곽동규;김종호;최재영
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제4권5호
    • /
    • pp.209-218
    • /
    • 2015
  • BPEL은 서비스 지향 컴퓨팅 환경에서 조건에 따른 작업의 흐름과 웹 서비스의 호출을 기술할 수 있어 다양한 도메인에서 사용되고 있다. 하지만 특정 도메인에서는 BPEL 문법에 없는 새로운 기능이 요구된다. 일반적으로 기존 언어에 없는 새로운 기능을 추가한 경우에 도메인 특화 언어를 새롭게 정의하고 개발해야 하는데, 이를 위해서는 많은 개발 비용이 소요된다. 따라서 새로운 기능이 추가된 도메인 특화언어를 개발하는 대신에 새로운 기능을 추가하여 사용해야 한다. 그러나 이 방법들은 단일 기능을 추가할 수 있을 뿐이고, 필요에 따라 새로운 기능을 설계하고 추가하기 어렵다. 본 논문에서는 필요에 따라 새로운 기능을 추가하기 위해 XML 스키마를 통해 BPEL의 문법적 기능을 확장할 수 있는 XAS4B 문서를 정의하고, 이 문서를 처리하여 기능이 추가된 BPEL 엔진을 생성하는 BPEL 엔진 생성기를 제안한다. XAS4B 문서는 BPEL에 추가되는 문법을 XML 스키마로 작성하고 추가된 문법의 기능을 JAVA 프로그램으로 작성할 수 있도록 한다. 그리고 추가된 기능을 관점지향 프로그래밍의 JAVA 구현체인 AspectJ를 이용하여 새로운 기능의 처리 모듈을 BPEL 엔진에 추가하는 방법을 보인다. 제안하는 시스템은 AspectJ를 이용하여 BPEL 엔진을 수정하지 않고 새로운 기능을 추가할 수 있으며, 요구되는 새로운 기능에 대해 동일한 방법을 사용하여 손쉽게 추가할 수 있으므로, 다양한 분야에서 적은 비용으로 새로운 기능을 제공할 수 있다.

관점지향 기법의 상황인지를 지원하는 BPEL 워크플로우 시스템 (A Context-aware BPEL Workflow System using Aspect-Oriented Programming)

  • 김민석;곽동규;최종선;최재영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 춘계학술발표대회
    • /
    • pp.207-210
    • /
    • 2011
  • 표준 워크플로우 언어로 가장 인지도가 높은 BPEL은 분기를 통한 플로우선택에 있어 상황정보를 기술하기 어려워 유비쿼터스 컴퓨팅 환경에 적용하기 어렵다. 이를 위해 본 논문에서는 모듈간 낮은 결합도를 보장하는 관점지향 프로그래밍 (AOP: Aspect-Oriented Programming) 기법을 사용하여 기존 BPEL 워크플로우 시스템에 상황인지 기능을 추가한 시스템을 제안한다. 제안하는 상황인지 워크플로우 시스템은 AOP 기법을 사용하여 BPEL 워크플로우에 상황에 따른 서비스를 제공하기 위한 Context 정보를 삽입하는 방식으로 개발함으로써, 기존 BPEL 문서를 수정할 필요 없이 상황인지 기능을 적용한 워크플로우의 생성이 가능하다. 본 논문에서는 시나리오 기반의 실험을 통하여 제안한 시스템을 입증한다.

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

  • 문양선;장근실;유철중;장옥배
    • 한국정보처리학회논문지
    • /
    • 제5권7호
    • /
    • pp.1759-1773
    • /
    • 1998
  • 본 논문에서는 C++ 프로그램의 유지보수를 지원하는 도구를 개발하였다. C++-MT라고 명명된 본 도구는 기존의 연구 결과인 복잡도 측정 도구(CT)와 프로그램 시각화 도구(VT)에 본 논문의 연구 결과인 프로그램 문서화 지원 도구(DT)와 객체지향 설계 및 프로그램망 스타일 지침 지원 도구(OOD/P-GT)를 추가함으로써 확장되었다. 확장ㅇ르 위해 먼저 객체 지향 프로그램의 문서화 방법을 연구하였으며, 기존의 몇몇 연구들에서 제안한 객체지향 설계 및 프로그래밍 스타일 지침들을 여러 가지 관점엣 분석하고 분류하였다. 본 논문에서 개발한 문서화 지원 도구는 프로그램의 이해, 변경, 테스트, 그리고 재사용 성분 추출을 용이하게 하며, 객체지향 설계 및 프로그래밍 스타일 지침 지원도구는 프로그램의 품질을 향상시킬 수 있도록 안내한다.

  • PDF

Aspect DEVS 검증 틀을 이용한 소프트웨어 정형 검증 방법론 (Software Formal Verification Methodology using Aspect DEVS Verification Framework)

  • 최창범;김탁곤
    • 한국시뮬레이션학회논문지
    • /
    • 제18권3호
    • /
    • pp.113-122
    • /
    • 2009
  • 사용자가 요구하는 기능과 특성에 대한 다양한 요구사항은 소프트웨어를 점점 더 복잡하게 만들고 이를 검증하고 검사하는 것은 어려운 문제이다. 게다가 개발된 소프트웨어 코드를 검증하고 검사를 수행하는 과정에서 트레이싱 혹은 로깅 코드를 삽입하는 과정과 검사가 완료되어 삭제하는 과정에서 사용자의 부주의로 버그가 삽일될 수 있는 문제점도 발생한다. 본 논문은 소프트웨어 개발 과정 중에서 검증 및 검사 과정을 지원할 수 있는 Aspect DEVS 검증 틀을 제시한다. Aspect DEVS 검증틀은 관점 지향 프로그래밍 기법을 사용하여 이미 구현되어 있는 소프트웨어와 사용자는 요구사항을 만족하는 지를 확인하는 동시에 소스 코드에 테스팅 코드를 삽입할 때 발생하는 문제들을 해결한다. Aspect DEVS 검증틀을 사용한 검증의 첫 번째 단계는 관찰 대상을 관점 지향 프로그래밍 기법을 사용하여 명세한 하고, 사용자의 요구사항을 DEVS 다이어그램을 명세한 후 이를 DEVSIM++로 구현한다. 마지막으로 프로그램의 수행 과정 중에서 발생하는 이벤트들을 대상으로 구현한 DEVS 모델의 이벤트 입력으로 넣어 소프트웨어가 사용자의 요구사항을 만족하는 지를 검사함으로써 검증 과정 중에 대상 소프트웨어의 수정 없이 검증 및 검사를 수행할 수 있다.

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

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

병렬 객체지향 프로그래밍을 위한 시각 환경의 설계 및 구현 (Design and Implementation of Visual Environment for Parallel Object-Oriented Programming)

  • 최숙영
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.485-496
    • /
    • 1999
  • 병렬 프로그래밍은 프로세스간의 통신과 동기화 문제, 병렬 시스템의 구성 형태등을 고려해야 하기 때문에 순차 프로그래밍에 ? 많은 노력을 필요로 한다. 효율적인 병렬 프로그램을 작성하기 위해서는 사용자와 컴파일러간의 상호 지원이 이루어져야 한다. 이러한 관점에서 본 연구는 선행 연구로써 병렬 객체지향 표기언어 POOSL을 개발하였다. 그러나, 사용자 입장에서 볼 때 병렬 프로그램을 작성하기 위해 POOSL의 문법 구조를 염두에 두고 텍스트 중심의 프로그램을 작성한다면 여전히 부담스러운 작업이 될 것이다. 사용자에게 보다 편리함을 제공하기 위해서는 텍스트보다는 시각적인 프로그래밍 환경이 더욱 효율적이고 바람직할 것이다. 따라서, 본 논문에서는 POOSL을 기초로 하여 사용자가 좀더 쉽고, 편리하게 병렬 프로그래밍 할 수 있는 시각 환경으로써 VEPO(Visual Environment for Parallel Object-Oriented Programing)를 제안하고 있다. 본 논문의 목적은 사용자가 병렬 프로그램을 작성하는데 있어 문제에 내재된 병렬성을 객체지향 개념에 입각하여 시각적으로 자연스럽게 표현하도록 하고, 병렬 프로그램 개발에 관련된 과정들을 하나의 환경을 통합시킴으로써 편리한 프로그램 환경을 제공하는 것이다. 본 연구에서 제안하고 있는 VEPO는 병렬 프로그램을 개발하는데 필요한 기본적인 단계들로써 프로그램 기술 단계, 실행 단계, 실행 과정의 시각화등을 지원하고 있으며, 시각 프로그래밍의 장점을 충분히 살릴 수 있도록 여러 개념들이 지원되고 있다. 특히, 병렬 프로그램에서 복잡하고 까다로운 통신과 동기화에 관련된 코드 등은 번역 과정에서 여러 개념들이 생성되도록, 함으로써 사용자로 하여금 병렬 프로그램을 작성하는데 따르는 부담감을 줄 일 수 있도록 한다. 본 시스템은 PC를 호스트로 연결한 트랜스퓨터들로 구성된 병렬 컴퓨터 MC-3에서 구현되었다. VEPO 그래픽 사용자 인터페이스는 Visual C++로 구현되었고, VEPO에서 작성된 시각 프로그램은 Inmos C 코드로 번역되어 MC-3에서 수행된다.

  • PDF

절차적 추상화의 분류와 다형성 (Taxonomy of Procedural Abstraction and Polymorphism)

  • 김성기
    • 정보처리학회논문지A
    • /
    • 제10A권1호
    • /
    • pp.75-81
    • /
    • 2003
  • 소프트웨어의 개발, 유지보수 및 확장을 용이하기 하기 위하여 프로그래밍 언어에 여러 추상화 기법이 도입되었다. 그러나 추상화와 연관된 여러 개념과 용어가 통일성이 있게 정의되지 못하므로 인하여 관점에 따라 다르게 설명되기도 한다. 특히 추상화를 가장 강력한 기반으로 하여 태동된 객체 지향 패러다임에서 이러한 혼란은 아직도 계속되고 있는 실정이다. 본 논문에서는 프로그래밍 언어에서 가장 중요한 추상화의 하나인 절차적 추상화를 분석하고 이에 대한 유형을 살펴본다. 이를 통하여 절차적 추상화가 지금까지 일반적으로 인식되어온 '처리과정을 기능으로 바꾸는 추상화'라는 기본적인 추상화의 개념 외에도 '추상화에 대한 추상화'의 개념이 내포된 고수준의 추상화도 포함되어 있음을 밝힌다. 또한 절차적 추상화와 관련된 다형성을 추상화의 관점에서 설명한다. 이러한 분석과 고찰을 통하여 절차적 추상화에 대한 수준 높은 이해가 이루어질 수 있을 것이다.

C++ 에서 메시지 프로토콜의 점진적인 확장 기법 (An Idiom for Incremental Extension of Message Protocol in C++)

  • 김은주
    • 컴퓨터교육학회논문지
    • /
    • 제6권3호
    • /
    • pp.9-18
    • /
    • 2003
  • 본 논문에서는 다형적 변수에 대한 메시지 전달의 유효성을 정적 형검사로 간주하는 C++에서 메시지 프로토콜을 점진적으로 확장할 수 있는 프로그래밍 기법을 제시하였다. 제시한 기법은 메시지의 유형, 인수, 및 유효성을 동적으로 검사할 수 있는 프로시듀어인 메시지 핸들러라는 관점에서 메시지 프로토콜을 해석하도록 하였다. 이러한 해석의 결과 메시지 프로토콜의 점진적 확장에 효과적으로 대처할 수 있을 뿐 아니라 기존의 객체지향 프로그래밍의 모든 요소들을 충실히 모방할 수도 있었으며, 객체의 그룹에 어떤 메시지를 전달하는 기능과 같은 고수준의 프로시듀어 작성도 가능하게 되었다.

  • PDF

조합된 서비스의 성능 테스트를 위한 에스펙 기반의 WS-BPEL 확장 (Aspect-based WS-BPEL Extension for Performance Testing of Composite Service)

  • 성동혁;김종필;홍장의
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(B)
    • /
    • pp.77-82
    • /
    • 2010
  • 서비스 지향 아키텍처 기반의 소프트웨어 시스템은 서비스 단위의 컴포넌트 조합에 의해 기능이 수행된다. 이러한 조합된 서비스에 대한 테스팅은 주로 서비스 조합 명세서인 WS-BPEL 명세를 기반으로 기능적인 측면에 초점을 두어 수행 되었다. 최근에 서비스 지향 아키텍처가 임베디드 소프트웨어 분야에 적용되면서 서비스 조합에 대한 성능 관련 요구사항의 중요성이 부각되고 있다. 그러나 기존의 성능 테스트는 각 서비스의 응용 어플리케이션에 성능 측정을 위한 코드삽입을 필요로 함으로써 테스트 비용을 증가시킨다. 또한 시뮬레이션을 통한 성능 테스트가 이루어지기 때문에 정확한 성능을 테스트하기 어렵다. 따라서 본 논문에서는 WS-BPEL을 이용한 조합된 서비스의 효과적인 성능 테스트를 위해 WS-BPEL을 확장하는 방법을 제안한다. 제안하는 확장 기법은 관점 지향 프로그래밍의 Aspect 개념을 WS-BPEL에서 사용할 수 있도록 함으로써 WS-BPEL을 이용한 테스팅에서 조합된 서비스의 성능 테스트를 효과적으로 수행할 수 있는 기회를 제공한다. 또한 본 확장 기법은 성능 테스트뿐만 아니라 다른 비 기능적 요구사항에 대한 테스트에도 활용될 수 있다.

  • PDF