• 제목/요약/키워드: 컴포넌트 가변성

검색결과 56건 처리시간 0.021초

Component-Z: Object-Z를 확장한 컴포넌트 정형 명세 언어 (Component-Z: A Formal Specification Language Extended Object-Z for Designing Components)

  • 이종국;신숙경;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권5호
    • /
    • pp.677-696
    • /
    • 2004
  • 컴포넌트 기반 소프트웨어 공학(CBSE)은 재사용 가능한 컴포넌트를 조립하여 시스템을 개발하는 방법이다. CBSE는 소프트웨어 개발비용과 기간을 단축할 수 있는 새로운 패러다임으로 평가되고 있다. 정형 명세를 사용하면 컴포넌트 구성 요소들 사이의 일관성과 정확성을 판단할 수 있기 때문에 컴포넌트 설계의 품질을 높일 수 있다. 현재까지 제안된 컴포넌트 정형 명세 언어들은 인터페이스간의 계약, 컴포넌트의 구조적인 측면과 동적인 측면, 컴포넌트 기반 시스템, 컴포넌트간의 결합, 가변성 중 일부만을 명세에 반영한다. 따라서 지금까지 발표된 정형 명세 언어를 컴포넌트 설계 과정의 모든 단계에서 사용하는 것은 적절치 않다. 본 논문에서는 컴포넌트 정형 명세 언어인 Component-Z를 제안한다. Component-Z는 Object-Z를 확장하여 컴포넌트 명세를 위한 새로운 표기법을 추가하고 의미론을 확장한다. Component-Z를 사용하여 인터페이스, 컴포넌트 내부 구조, 컴포넌트 내부 워크플로우와 인터페이스간의 워크플로우를 명세 할 수 있다. 또한 가변점(variation point), 가변치(variant), customization 인터페이스를 사용하여 가변성을 명세 할 수 있다. 인터페이스와 컴포넌트 사이의 관계는 매핑 스키마(mapping schema)를 사용하여 정의한다. 또한 병렬 연산자(parallel operator)를 사용하여 컴포넌트간의 결합을 명세 할 수 있고 컴포넌트 기반 시스템을 명세하여 컴포넌트가 배포된 상황을 표현할 수 있다. 따라서 본 논문에서 제안된 정형 명세 언어를 사용하여 컴포넌트 설계에 필요한 모든 요소를 표현 할 수 있다. 사례연구에서는 은행 계좌 관리 시스템을 명세하여 Component-Z가 컴포넌트 설계의 전 단계에서 사용될 수 있음을 보인다.

공통성 및 가변성 분석을 활용한 컴포넌트 설계 기법 (A Method to Design Components using Commonality and Variability Analysis)

  • 장수호;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권6호
    • /
    • pp.716-727
    • /
    • 2004
  • 컴포넌트 기반 소프트웨어 개발 (CBD) 기술은 재사용 가능한 컴포넌트를 조합하여 효율적으로 소프트웨어를 개발함으로써 개발 노력과 상품화 시간을 줄여주는 새로운 기술로 정착되고 있다. 이러한 CBD 컴포넌트는 한 도메인의 표준이나 공통적인 기능을 제공하여야 재사용성이 높아진다. 특히, 공통성 안의 미세한 가변적인 부분도 모델링하고, 이 가변성을 각 어플리케이션의 특성에 적합하게 특화 할 수 있도록 설계되어야 한다. 기존의 CBD 방법론에서도 이 중요성이 강조되고 있지만, 체계적이며 구체적인 개발 프로세스, 적용 지침 및 산출물 양식의 제공이 미흡하여, 도메인 컴포넌트의 개발은 비체계적인 프로세스와 개발자의 경험에 의존해 왔다. 본 논문은 컴포넌트 설계를 위한 체계적인 프로세스와 기법을 제안한다. 이 프로세스는 여러 단계와 활동으로 구성되며, 각 활동에 대한 세부 지침과 표준 양식도 포함하여 보다 효과적인 컴포넌트 개발을 도모한다. 제안된 기법의 실효성 검증을 위하여 금융 도메인에 적용한 사례연구를 제시하며, 다른 기법들과의 비교 평가도 다룬다. CBD의 공통 컴포넌트 개발에 제안된 프로세스와 지침의 사용함으로써 보다 재사용성과 적용성이 높은 컴포넌트가 비용 및 시간에 있어서 효율적으로 개발될 것으로 기대된다.

Enterprise JavaBeans (EJB)에서 효율적인 CBD 컴포넌트 설계 기법 (An Effective Method to Design CBD Components in Enterprise JavaBeans (EJB))

  • 김수동;민현기;이진열;김성안
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권1호
    • /
    • pp.32-43
    • /
    • 2006
  • Enterprise JavaBeans (EJB)는 컴포넌트 기반 소프트웨어 개발 (Component-based Development, CBD)을 위해 보급된 환경이다. 컴포넌트는 재사용 단위의 복합 객체이지만, EJB는 객체단위의 작은 컴포넌트이므로 다수의 엔터프라이즈 빈을 복합하여 큰 단위 재사용을 지원해야 한다. 따라서 EJB를 이용하여 컴포넌트를 상세 설계 및 구현하기 위한 구체적이고 실용적인 기법이 필요하다. 본 논문에서는 CBD의 구성요소를 EJB를 이용하여 어떻게 설계하는지의 지침과 기법을 제시한다. 단일, 복합, 화이트, 블랙 박스, 다중 인터페이스, 가변성을 지원하는 EJB 환경의 컴포넌트 설계 및 구현 기법을 제시한다. 사례 연구를 이용하여 제시한 설계 기법을 보이고, CBD 컴포넌트의 특징과 본 논문의 기법을 비교하여 검증한다. 결론적으로 EJB 환경에서 컴포넌트의 재사용성, 활용성, 이식성을 더욱 증가 시킬 것이다.

규칙기반 분석 패턴과 UML Components을 사용한 가변적인 비즈니스 컴포넌트 개발과 적용 사례 (A Variable Business Component Development and Case Study Using a Rule Based Analysis Pattern and UML Components)

  • 이용환;민덕기
    • 정보처리학회논문지D
    • /
    • 제13D권7호
    • /
    • pp.947-958
    • /
    • 2006
  • 컴포넌트 확장성 및 재사용성을 향상시키기 위해서는 분석단계에서부터 가변적인 것들을 규칙기반으로 분석해서 컴포넌트로 식별할 필요가 있다. 본 논문에서는 시스템 외부 이벤트에 대해 트랜잭션 처리를 규칙기반으로 처리해야 하는 도메인 상에서 객체 기반의 중요 개념을 규칙기반으로 효과적으로 추출해 UML Components 개발 프로세스 상에서 가변적인 컴포넌트를 개발할 수 있는 규칙 기반 분석 패턴을 제시한다. 업무 지식이나 경험이 다른 많은 분석가들이 서브 시스템 많은 규칙 기반의 가변적인 복잡한 비즈니스 업무 분석 시 제안한 분석 패턴을 사용할 경우 분석 산출물의 일관성이나 가독성을 좋게 하며 또한 UML Components 방법론상에서 효과적으로 가변적인 비즈니스 컴포넌트들을 식별할 수 있다. 이러한 분석 패턴의 타당성을 증명하기 위해 본 논문에서는 가변적인 규칙기반으로 업무를 처리하는 은행 수신과 수출입 업무 도메인에 적용한 결과 패턴에서 제시한 중요 개념을 기반으로 거의 유사한 비즈니스 개념 모델을 도출할 수 있었으며 또한 이들 중요 개념을 기반으로 UML Components 개발 프로세스 상에서 가변적인 비즈니스 컴포넌트를 효과적으로 식별할 수 있었다.

온톨로지 기반 데이터 가변성 처리 기법 (An Ontology-based Data Variability Processing Method)

  • 임윤선;김명
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권4호
    • /
    • pp.239-251
    • /
    • 2010
  • 다계층 구조를 갖는 현대의 기업용 분산 애플리케이션에서 비즈니스 엔티티는 로직을 구현한 각 계층의 서비스 컴포넌트들을 관통하는 일종의 횡단관심사이다. 비즈니스 엔티티가 변화하면 이와 관련된 서비스 컴포넌트들은 비록 구현된 기능이 바뀔 필요가 없을지라도 새로운 타입의 비즈니스 엔티티를 다룰 수 있도록 수정되어야 한다. 본 연구팀은 이전 연구에서 서비스 컴포넌트로부터 외부화된 데이터인 비즈니스 엔티티에 대한 가변성을 효율적으로 처리하기 위한 DTT 컴포넌트 모델(Data Type-Tolerant Component Model)을 제안하였다. DTT 컴포넌트 모델은 서비스 컴포넌트들과 비즈니스 엔티티들 간의 직접적인 결합을 없앰으로써 서비스 컴포넌트들이 수정되지 않고도 새로운 비즈니스 엔티티들을 처리할 수 있게 된 반면, 이들을 중재하는 데이터 타입 컨버터를 개발해야 하는 부담이 발생한다. 이에 본 논문에서는 서비스 컴포넌트의 SCDT(Self-Contained Data Type)와 비즈니스 엔티티의 각 속성에 대한 메타데이터로 온톨로지를 사용하는 방법과, 이를 이용하여 데이터 타입 컨버터 코드를 생성하는 방법을 제안한다. 본 논문에서 제안하는 온톨로지 기반 DTT 컴포넌트 모델은 컴퓨터가 에러 없이 데이터 타입 컨버터를 자동으로 생성할 수 있게 함으로써, 서비스 컴포넌트들의 재사용성과 데이터 가변성 처리 효율을 크게 향상시킨다.

플러그-앤드-플레이 컴포넌트 프레임워크를 위한 조립 계약 (Compositional Contract for Plug-and-Play Compoment Framework)

  • 이석용;이경환
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.406-408
    • /
    • 2001
  • 소프트웨어 개발 기술은 컴포넌트의 재사용에 기반한 소프트웨어 개발 방법으로 발전하고 있다. 컴포넌트는 재사용 및 가변성을 족친시키며, 시스템의 전반적인 복잡도를 감소시켜 준다. 그러나 컴포넌트 조립정보는 디자인시점(design-time)에서 결정되고 특정 컴포넌트 모델과 컴포넌트 실행환경(Component Execution Environment)에 따라 소스코드에 반영되기 때문에, 시스템의 변경 관리 및 동적인 구성등의 소프트웨어 컴포넌트의 장점을 반영하지 못하고 있다. 본 논문에서는 현재 사용되고 있는 컴포넌트 컴포지션의 문제점을 제시하고, 이를 해결하기 위하여 컴포넌트 컴포지션시 필수적 정보들인 컴포넌트간의 상호작용, 컨텍스트 상의 종속성, 메시지 전달 및 호출상의 제약 조건 등의 기본 컴포지션 정도들을 표현하는 컴포지셔널 컨트랙트를 정의한다. 컴포지셔널 컨트랙트는 모든 정보를 컴포닌트 모델 및 환경에 의존적이지 않도록 XML 문서로 정의되므로, 각종 컴포지셔널 컨트랙트를 이용하여 컴포넌트 기술의 가장 큰 장점인 플러그-앤드-플레이(Plug-and-Play)방식의 지원 및 동적 바인딩, 동적 컴포넌트 컴포지션을 지원하는프레임워크를 제시한다.

  • PDF

소프트웨어 프로덕트 라인에서의 성적관리 컴포넌트 모델링에 관한 연구 (A Study on Modeling of Test Result Management Component based on Software Product Line)

  • 김수연;김지영;김행곤
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.947-950
    • /
    • 2004
  • 프로덕트 라인은 다양하고 빠르게 변화하는 시장의 요구사항과 특정 도메인 영역에 속하는 애플리케이션 간의 재사용 가능한 아키텍처 및 컴포넌트의 구성으로부터 연관된 시스템 구축 시 생산성과 품질의 향상을 제공함으로써 현재 많은 관심의 초점이 되고 있다. 컴포넌트의 가변성은 컴포넌트를 사용자의 요구사항에 알맞게 기능을 특화할 수 있다. 또한 프로덕트 라인에서 컴포넌트 내부에 공통으로 사용할 워크플로를 가지고 있어 컴포넌트 사용자는 순차 다이어그램 등을 통해 메시지 흐름을 직접 구현할 필요가 없고, 재사용 가능한 아키텍처는 많은 변화 계획들과 메카니즘을 포함하고 있다. 하지만, 아키텍처를 설계하기 위한 아키텍처에서의 변화성 관리와 컴포넌트의 변화성에 대한 명확한 방법이 미흡하다. 따라서 본 논문에서는 재사용 가능한 아키텍처를 설계하기 위해 변화성의 명확한 표현과 컴포넌트의 변화성을 설계하기 위해 다중 뷰의 모델링을 통하여 프로덕트 라인의 다양한 측면을 제시하고, 사례연구로 성적관리 컴포넌트 모델링에 적용해 보고자 한다.

  • PDF

가변적인 컴포넌트 개발을 위한 컴파일러 방식의 룰 엔진 (A Compiler Based Rule Engine for Developing Changeable Component)

  • 이용환
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제12권6호
    • /
    • pp.379-385
    • /
    • 2006
  • 가변적인 컴포넌트의 재사용성이나 적응성을 높이기 위해 룰 기반 컴포넌트 개발 방법들이 제안되고 있다. 룰 기반 컴포넌트 개발에서 사용하는 룰 엔진들은 룰을 표현하기 위해 추가적인 스크립트 언어가 필요하며 따라서 복잡한 비즈니스 룰을 표현하는데 어려움이 많다. 본 논문에서는 다양한 룰 표현과 성능 향상을 위한 컴파일러 기반의 룰 엔진을 제안한다. 제안한 룰 엔진은 룰의 컨디션과 액션 부분을 표현하기 위해 자바 프로그래밍 언어를 사용한다. 따라서 복잡한 비즈니스 룰을 쉽게 표현할 수 있으며 실행 시에 동적으로 룰의 컨디션과 액션 객체를 생성해서 실행시킬 수 있다. 성능 면에서도 제안한 룰 엔진은 스크립트 기반 룰 엔진보다 우수하다. 성능 실험에 의하면 컴파일러 기반의 룰 엔진 성능은 스크립트 기반 룰 엔진인 JSR-94 보다 2.5배의 높은 성능을 보이고 있다.

소프트웨어 제품계열 기반의 성적관리 컴포넌트 모델링에 관한 연구 (A Study on Modeling of Test Result Management Components based on Software Product Line)

  • 김수연;김행곤;김성원
    • 한국정보시스템학회:학술대회논문집
    • /
    • 한국정보시스템학회 2004년도 춘계학술대회
    • /
    • pp.269-272
    • /
    • 2004
  • 콤포넌트 가변성 장치를 이용하면 사용자가 용도에 알맞게 기능을 특화할 수 있다. 프로덕트 라인은 다양하고 빠르게 변화하는 시장의 요구사항과 특정 도메인 영역에 속하는 애플리케이션간의 재사용 가능한 아키텍처 및 컴포넌트의 구성으로부터 연관된 시스템 구축 시 생산성과 품질의 향상을 제공함으로써 현재 많은 관심의 초점이 되고 있다. 프로덕트 라인에서 컴포넌트 내부에 공통으로 사용할 워크프롤로를 가지고 있어 컴포넌트 사용자는 Sequence Diagram등을 통해 메시지 흐름을 직접 구현할 필요가 없다. 재사용 가능한 아키텍처는 많은 변화 계획들과 메커니즘을 포함하고 있다. 하지만, 아키텍처를 설계하기 위한 아키텍처에서의 변화성 관리에 대한 명확한 방법이 미흡하다. 따라서 본 논문에서는 재사용 가능한 아키텍처를 설계하기 위해 변화성의 명확한 표현과 아키텍처에서의 적절한 위치를 식별하기 위해, 다양한 변화성 타입을 정의하고, 프로덕트 라인 아키텍처상의 컴포넌트 설계의 변화성을 표현하고, 다중 뷰의 모델링을 통하여 프로덕트 라인의 다양한 측면을 제시하고, 사례연구로 성적관리 컴포넌트 모델링에 적용해 보고자 한다.

  • PDF

XSLT 스크립트를 이용한 계층 구조 조립 자동화 (Automatic Composition of Layered Architecture using XSLT Scripts)

  • 정주미;장정아;최승훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (2)
    • /
    • pp.433-435
    • /
    • 2004
  • 소프트웨어 프로덕트 라인은 핵심 소프트웨어 자산의 개발을 위한 도메인 공학과 실제 소프트웨어 부품을 조립하여 구체적인 소프트웨어 시스템을 개발하는 응용 공학을 포함한다. 소프트웨어 프로덕트 라인 구축 시 가장 중요한 점은 특정 도메인에 존재하는 가변성(variability)을 지원할 수 있어야 한다는 것으로, 재사용자의 목적에 따라 효율적으로 소프트웨어를 맞춤 생산할 수 있는 컴포넌트 재구성성(reconfigurability)이 핵심 요소라 할 수 있다. 본 논문에서는 재사용자가 선택한 특성 구성을 바탕으로 계층 구조 조립 자동화를 통해 컴포넌트 코드를 자동 생성하는 도구를 구현하였다. 이를 위하여, 컴포넌트 패밀리의 특성 모델에서 표현되는 차이점에 따라 계층 구조의 각 컴포넌트들이 조립되도록 XSLT 스크립트를 사용하였다. 특성 모델과 XML/XSLT 기술을 이용하여 컴포넌트 코드 생성 시에 재구성성을 지원하고 재사용자의 요구에 맞는 컴포넌트 소스 코드를 자동 생성함으로써 소프트웨어 프로덕트 라인 개발 생산성을 향상시킨다.

  • PDF