• 제목/요약/키워드: Software Product Line

검색결과 149건 처리시간 0.027초

프로덕트 라인 기반의 센서 네트워크 응용 소프트웨어 개발 (Development of Ubiquitous Sensor Network Applications based on Software Product Line Approach)

  • 김영희;이우진;최일우
    • 정보처리학회논문지A
    • /
    • 제14A권7호
    • /
    • pp.399-408
    • /
    • 2007
  • 현재 센서 네트워크 응용 분야는 소프트웨어의 효율적 개발을 위한 다양한 연구가 진행되고 있다. 이러한 연구들은 대부분 단일 센서 네트워크 응용 소프트웨어를 쉽고, 빠르게 개발하기 위한 방법에 중점을 두고 있다. 그러나 센서 네트워크 응용 소프트웨어는 운영체제의 핵심 모듈을 기반으로 다양한 종류의 센서 노드들을 제어하는 특징을 가지므로, 다양한 센서 네트워크 어플리케이션의 핵심 공통 기능을 정의하고 특정 센서 네트워크 어플리케이션의 워크플로우에 따라 가변적인 센서 노드들의 다양한 기능을 취사 선택하여 개발하는 방법이 효율적이다. 본 논문에서는 이러한 특성에 따라 소프트웨어 프로덕트 라인 기법을 센서 네트워크 응용 소프트웨어 개발에 적용, 센서 네트워크 응용 소프트웨어 도메인의 공통성을 식별하고 어플리케이션의 가변성에 따라 선택적인 개발을 지원하는 개발 사례를 제시하였다. 제시하는 사례를 통하여 일반적인 비즈니스 도메인과 비교하여 센서 네트워크 응용 도메인의 프로덕트 라인 구축을 위한 특성을 살펴보고, 제시한 가변성 피처 모델과 VEADL을 통하여 설계한 센서 네트워크 응용 도메인의 핵심 자산이 각 노드의 기능에 따라 선택적으로 재사용되는 적용 효율성을 보인다.

가변성 타입을 이용한 프로덕트 라인 핵심자산 특화 프로세스 (A Core Asset Instantiation Process using Variability Type in Product line Engineering)

  • 강현구;장수호;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권2호
    • /
    • pp.154-166
    • /
    • 2006
  • 프로덕트 라인 공학(Product Line Engineering, PLE)은 한 도메인의 공통기능을 핵심자산화하고 이를 재사용하여 다양한 어플리케이션을 생성 할 수 있는 재사용 패러다임이다. 핵심자산을 효과적으로 활용하기 위해서는 각 어플리케이션의 요구사항을 기반으로 특화해야 할 값 즉, 가변치를 도출하고 이를 기반으로 핵심자산을 특화한다. 이를 위해, 아키텍처 가변성과 컴포넌트 내부의 가변성이 정확히 도출되어야 하며, 이를 반영한 체계적인 특화 프로세스와 지침이 정의되어야 한다. 본 논문에서는 핵심자산의 구성요소와 구체적인 가변점 종류를 제안하고 이를 표현하기 위한 핵심자산 산출물 양식을 정의한다. 그리고, 제안된 핵심자산의 구성요소와 가변점 종류를 기반으로 정의된 핵심자산을 이용하여 어플리케이션을 생성하는 체계적인 프로세스를 제안한다. 또한 제안된 프로세스를 적용하는 사례연구를 통하여 정의된 가변성 표현 및 특화 프로세스의 실용성을 검증한다. 제안된 프로세스를 이용하여 구체적인 핵심자산 및 가변성의 설계가 가능하며 프로덕트 라인에서의 실용적인 어플리케이션의 개발이 가능해 질 수 있다.

UML 2.0 프로파일링을 이용한 FORM 아키텍처 모델링 (Modeling FORM Architectures Based on UML 2.0 Profiling)

  • 양경모;조윤호;강교철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권6호
    • /
    • pp.431-442
    • /
    • 2009
  • 소프트웨어 제품 생산 라인(Software Product Line) 공학은 새로운 소프트웨어 개발 패러다임으로 각광받고 있다. SPL에 FORM(Feature-Oriented Reuse Method) 방법론을 적용하면, 휴대전화나 디지털TV 같이 공통점이 많은 제품군의 다양한 소프트웨어를 휘처 모델링을 통해 만들어진 재사용 가능하고 유연한 컴포넌트를 조합하여 생산해 낼 수 있다. 한편, MDA(Model Driven Architecture) 방법론은 PIM(Platform Independent Model) 을 통해 다양한 개별 플랫폼을 위한 소프트웨어를 생산할 수 있게 하는 새로운 기술을 제공한다. 위 두 가지 방법론의 장점을 조합하면 공통점을 공유하면서 다양한 플랫폼에서 동작하는 제품군의 소프트웨어를 생산하는데 도움이 된다. 이 논문에서는 FORM 방법론과 MDA 방법론을 조합하기 위해 먼저, 프로파일링 기법을 통해 UML2.0을 확장하여 FORM 아키텍처와 Parameterized Statechart 모델링이 가능하게 한다. 다음으로, 휘처가 휘처 모델과 Parameterized Statechart사이에서 일관성 있게 element의 형태로 위치하고 있는지 검증하는 일관성 규칙을 제공한다. 몇 가지 규칙은 FORM 아키텍처와 Parameterized Statechart 사이의 일관성을 검사하기 위해 고안되었다. 마지막으로, 엘리베이터 시스템의 사례연구를 통해 이 논문에서 제안하는 모델링 기법과 일관성 검사 법칙의 유효성을 제시한다.

MDA기반 이동 단말 시스템 소프트웨어 개발 기법 (A MDA-based Approach to Developing UI Architecture for Mobile Telephony Software)

  • 이준상;채흥석
    • 정보처리학회논문지D
    • /
    • 제13D권3호
    • /
    • pp.383-390
    • /
    • 2006
  • 현대의 소프트웨어공학 관련 연구 중에서, 산업계가 궁극적으로 추구하는 수준의 생산성을 제공할 수 있는 기술은 아마도 프로덕트라인 공학이 될 것이다. 지금까지의 소프트웨어공학 기술로는 소프트웨어 개발 분야에 프로덕트라인 기법을 실질적이고 실용적으로 적용하기에는 아직 충분히 성숙하지 못한 것이 사실이다. 본 논문에서는 저자가 산업체에서 접한 과거 3년 동안의 PDA 스마트폰 개발 경험을 바탕으로 실용적 수준의 프로덕트라인 기법을 Model-Driven Architecture(MDA) 접근 방법을 통해 제안한다. 이동 단말 시스템의 경우 단말기 제조사, 목적 사용자 층, 이동 단말 사업자 등에 따라 다양한 형태의 소프트웨어가 존재한다. 특히, 최근에는 단말기 사용자가 직접 느낄 수 있는 지원 기능 구성 및 인터페이스 형식은 매우 다양한 형태가 존재하며, 같은 제조사에 시리즈 제품으로 개발하더라도 이 부분에 대한 변이성이 매우 큰 특징이 있다. 하지만, 전형적인 폰 관련 기능 모듈 즉, 음성호 및 화상전화 기능, 메시지, 주소록, 데이터통신, 카메라 및 멀티미디어 기능, 웹 브라우징 과 같은 큰 기능 묶음에 대한 피처(Feature)들은 자체의 다양한 기능적 요구사항과 함께 피처 간 상호 연관성을 크고 다양한 형태로 구성될 수 있는 특성이 있다. 본 논문에서는 이동 단말기에서 구현해야 하는 다양한 형태의 사용자 소프트웨어의 요구사항에 대해 사용 시나리오 상에서 구분 가능하고 의미 있는 장면의 연속 관계로 정의하여 추후 설계, 구현, 시험 단계에서도 소프트웨어 아키텍쳐 역할을 할 수 있는 개발 기법을 제안한다. 따라서, 요구분석 단계에서도 사용자 인터페이스 관점에서 전반적인 소프트웨어 아키텍쳐에 대해 검증할 수 있게 될 뿐만 아니라 소프트웨어 개발 주기 전 과정에서 그 구조를 사용자 인터페이스 관점에서 유지, 관리 할 수 있는 핵심적인 방법을 제공한다.

애자일 제품 백로그 재사용 : 백로그 팩토링 접근 (Agile Product Backlog Reuse : Backlog Factoring Approach)

  • 김지홍
    • 디지털융복합연구
    • /
    • 제13권12호
    • /
    • pp.171-177
    • /
    • 2015
  • 본 연구의 목표는 제품 백로그 항목의 재사용을 위해 일반화된 애자일 프로세스에 소프트웨어 재사용 기술의 도입이다. 소프트웨어 공학 커뮤니티에는 애자일 방법과 소프트웨어 재사용을 통합하려는 연구들이 있다. 대부분의 통합 연구는 프로덕트라인 공학에 애자일 프랙티스를 도입하는 연구들이며 애자일 방법에 재사용을 도입하는 연구는 많지 않다. 애자일 방법이 제공하는 활동과 산출물에는 재사용을 촉진하는 특징이 있다. 본 연구에서는 일반화된 애자일 프로세스에서 재사용을 위한 촉매활동과 특성을 식별하고 제품 백로그 항목을 위한 재사용 기술을 제안하였다. 본 연구의 결과를 통하여, 제품 백로그 항목의 재사용을 위해 일반화된 애자일 프로세스에 백로그 팩토링 기술을 통합할 수 있었다. 아울러, 제안된 방법을 식당 체인점 응용에 적용하고, 프로토타이핑을 통해 백로그 항목의 재사용을 얻을 수 있었다.

도메인 핵심자산의 가변성 분석을 위한 2차원적 접근방법 (A 2-Dimensional Approach for Analyzing Variability of Domain Core Assets)

  • 문미경;채흥석;염근혁
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권6호
    • /
    • pp.550-563
    • /
    • 2006
  • 소프트웨어 재사용에 대한 활동들을 미리 계획하고 개발 프로세스의 연속적인 부분으로 이루어지도록 지원하는 방법이 소프트웨어 프로덕트 라인 공학이다. 이 방법에서 가장 중요한 것은 관련된 시스템들, 즉 도메인에서 공통성과 가변성(commonality and Variability: C&V)을 분석하는 일이다. 재사용 가능 항목들은 분석된 C&V를 명시적으로 나타냄으로써 프로덕트 라인의 핵심자산이 된다. 이러한 핵심 자산들은 소프트웨어 개발의 각기 다른 단계에서 생산되기 때문에 표현요소들의 추상화 수준이 다르며 이로 인해 각 핵심 자산이 가지고 있는 가변성 또한 각기 다른 수준에서 각기 다른 유형으로 나타나게 된다. 핵심자산의 C&V 분석에 대한 기존 연구들에서는 핵심자산의 구분 없이 일관되게 가변성을 분석하였으며, 공통성과 가변성 식별을 단지 개발자의 직관이나 도메인 전문가의 경험에 의존하고 있었다. 본 논문에서는 소프트웨어 프로덕트 라인에서 핵심자산의 가변성을 분석하기 위하여 수직적 측면과 수평적 측면으로 나누어 접근해가는 2차원적 분석방법을 제안한다. 수평적 접근 방법은 개발 프로세스의 각기 다른 단계에서 산출되는 요구사항, 아키텍처, 컴포넌트의 수준에서 가변성의 유형을 분석하는 것이고, 수직적 접근 방법은 가변성의 상세화 정도에 따라 공통성을 식별하는 수준과 가변점을 상세화하는 수준으로 나누어 분석하는 것이다. 이러한 2차원적 가변성 분석접근 방법은 핵심자산들의 가변성이 서로 연관관계를 가질 수 있도록 해주며, 핵심자산의 재사용 활동이 끊어짐 없이 이루어지도록 한다

프로덕트라인 공학에서의 체계적인 핵심 자산 설계 프로세스 (A Systematic Process for Designing Core Asset in Product Line Engineering)

  • 라현정;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권10호
    • /
    • pp.896-914
    • /
    • 2006
  • 프로덕트라인 공학은 한 프로덕트라인에 속하는 여러 어플리케이션들이 공유할 수 있는 핵심 자산을 재사용하는 새로운 패러다임으로, 대표적인 소프트웨어 재사용 방법으로 넓게 수용되고 있다. 핵심자산은 프로덕트라인의 여러 멤버에서 재사용될 수 있기 때문에, 공통성과 가변성을 잘 정의하여 높은 재사용성을 가진 핵심 자산을 개발하는 것은 생산성을 향상시켜 고품질의 어플리케이션을 빠른 시간 내에 개발하는데 필수 요소이다. 프로덕트라인 공학을 적용한 기존 방법론에서도 핵심 자산의 중요성을 강조하였지만, 대개 공통성과 가변성을 분석하는데 초점이 맞추어져 있었다. 그리고, 일부 방법론에서는 핵심 자산을 개발하는 프로세스를 제안하고 있지만, 핵심 자산의 모든 구성 요소를 개발하는 체계적인 프로세스, 지침, 산출물 양식이 다소 부족하며, 이는 핵심 자산을 설계하는데 많은 어려움을 초래한다. 본 논문에서는 핵심 자산 설계를 위한 체계적인 프로세스와 기법, 산출물의 템플릿을 제안한다. 그리고, 제안된 프로세스가 실제로 어떻게 적용되는지 검증하기 위한 사례연구를 수행한다. 제안된 프로세스, 지침, 산출물 템플릿을 사용함으로써 보다 재사용성의 이점을 최대한 활용할 수 있는 동시에 고품질 핵심 자산을 체계적이며 효율적으로 개발할 수 있을 것으로 기대된다.

레거시 어플리케이션 제품군으로부터 제품라인 자산을 추출하는 휘처 기반의 방법 (A Feature-Oriented Method for Extracting a Product Line Asset from a Family of Legacy Applications)

  • 이혜선;이강복
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권7호
    • /
    • pp.337-352
    • /
    • 2017
  • 복제 및 소유(Clone-and-own) 재사용은 기존의 소프트웨어 제품을 복사하고 수정하여 새로운 소프트웨어를 개발하는 방법이다. 복제 및 소유 재사용으로 개발된 레거시 소프트웨어 제품군은 일반적으로 리팩토링 없이 패치 업 되고 구조적으로 저하되기 때문에 높은 유지보수 비용을 필요로 하고 오류가 발생하기 쉬운 경향이 있다. 기존에 복제 및 소유 재사용 방법을 사용했던 많은 회사들이 이러한 문제를 해결하고 소프트웨어 자산을 더 체계적으로 재사용하고 관리하기 위하여 레거시 제품들을 소프트웨어 제품라인으로 전환하려고 하고 있다. 하지만 대부분의 기존 방법들은 가변점(Variation points)을 디자인과 코드로부터 분리해서 모델링하고 관리하지 않고 디자인과 코드에 바로 임베드시킨다. 즉, 가변점이 가변성 모델을 기반으로 체계적으로 생성되고 관리되지 않는다. 이러한 기존 방법들은 다음의 문제를 야기한다. 기존 방법에서는 가변점 간 관계를 이해하기가 어렵기 때문에 가변점이 임베드 된 코드를 유지보수하기가 어렵고 코드가 변경 및 진화될 때 오류가 생기기 쉽다. 또한 소프트웨어 제품라인이 진화할 때 디자인/코드 자산이 적합한 리팩토링을 적용하여 체계적으로 변경되는 것이 아니라, 애드 혹(Ad-hoc) 방식으로 직접적으로 변경되는 경향이 있다. 본 논문에서는 이러한 문제를 해결하기 위하여 레거시 어플리케이션 제품군으로부터 소프트웨어 제품라인 자산을 구축하는 휘처 기반의 방법을 제안한다. 제안하는 방법에서는 가변점과 가변점 간 관계를 식별하고 이들을 구현으로부터 분리하여 휘처 모델로 모델링한다. 그리고 휘처 모델을 기반으로 레거시 어플리케이션으로부터 소프트웨어 제품라인 자산을 추출하고 관리한다. 제안하는 방법을 레거시 Notepad++ 제품군에 적용을 하여 방법의 실행가능성을 검증하였다.

The Balancing of Disassembly Line of Automobile Engine Using Genetic Algorithm (GA) in Fuzzy Environment

  • Seidi, Masoud;Saghari, Saeed
    • Industrial Engineering and Management Systems
    • /
    • 제15권4호
    • /
    • pp.364-373
    • /
    • 2016
  • Disassembly is one of the important activities in treating with the product at the End of Life time (EOL). Disassembly is defined as a systematic technique in dividing the products into its constituent elements, segments, sub-assemblies, and other groups. We concern with a Fuzzy Disassembly Line Balancing Problem (FDLBP) with multiple objectives in this article that it needs to allocation of disassembly tasks to the ordered group of disassembly Work Stations. Tasks-processing times are fuzzy numbers with triangular membership functions. Four objectives are acquired that include: (1) Minimization of number of disassembly work stations; (2) Minimization of sum of idle time periods from all work stations by ensuring from similar idle time at any work-station; (3) Maximization of preference in removal the hazardous parts at the shortest possible time; and (4) Maximization of preference in removal the high-demand parts before low-demand parts. This suggested model was initially solved by GAMS software and then using Genetic Algorithm (GA) in MATLAB software. This model has been utilized to balance automotive engine disassembly line in fuzzy environment. The fuzzy results derived from two software programs have been compared by ranking technique using mean and fuzzy dispersion with each other. The result of this comparison shows that genetic algorithm and solving it by MATLAB may be assumed as an efficient solution and effective algorithm to solve FDLBP in terms of quality of solution and determination of optimal sequence.

상호작용을 고려한 최적의 제품휘처형상 도출 방법 (A Method for Deriving an Optimal Product Feature Configuration Considering Feature Interaction)

  • 이관우
    • 한국인터넷방송통신학회논문지
    • /
    • 제14권2호
    • /
    • pp.115-120
    • /
    • 2014
  • 많은 소프트웨어 프로덕트 라인 공학 방법들은 휘처모델을 사용하여 제품들 간의 공통성과 가변성을 휘처 단위로 구조화시키고, 특정 제품 개발을 위해 필요한 휘처 집합인 제품휘처형상을 도출한다. 제품 생산 시에 선택될 휘처는 주로 제품의 요구되는 품질 속성에 의해서 결정된다. 지금까지 발표된 대부분의 방법들은 휘처와 품질속성 간의 선형적 상관관계를 통해 최적의 품질 속성을 만족시킬 수 있는 제품휘처형상을 도출하였다. 하지만, 휘처 간의 상호작용을 고려한다면 휘처와 품질 속성 간의 관계는 비선형식으로 정의될 수 있다. 본 논문에서는 휘처 간의 상호작용을 고려하여 요구되는 품질 속성을 최적으로 만족시킬 수 있는 제품휘처형상 도출 방법을 제안한다. 제안된 방법을 평가하기 위해 네 가지 프로덕트 라인 사례에 대해 실험한다.