• Title/Summary/Keyword: Product Line Engineering

Search Result 426, Processing Time 0.042 seconds

Dynamic Software Component Composition Based On Aspect-Oriented Programming (관점지향 프로그램 기반의 동적 소프트웨어 컴포넌트 조합 패턴)

  • Bae, Sung-Moon;Park, Chul-Soon;Park, Chun-Ho
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.31 no.4
    • /
    • pp.100-105
    • /
    • 2008
  • Cost reduction, time to market, and quality improvement of software product are critical issues to the software companies which try to survive in recent competitive market environments. Software Product Line Engineering (SPLE) is one of the approaches to address these issues. The goal of software product line is to maximize the software reuse and achieve the best productivity with the minimum cost. In software product line, software components are classified into the common and variable modules for composition work. In this paper, we proposed a dynamic composition process based on aspect-oriented programming methodology in which software requirements are classified into the core-concerns and cross-cutting concerns, and then assembled into the final software product. It enables developers to concentrate on the core logics of given problem, not the side-issues of software product such as transactions and logging. We also proposed useful composition patterns based on aspect oriented programming paradigm. Finally, we implemented a prototype of the proposed process using Java and Aspect to show the proposed approach's feasibility. The scenario of the prototype is based on the embedded analysis software of telecommunication devices.

An Approach to Managing Requirements as a Core Asset in Software Product-Line (소프트웨어 프로덕트 라인에서 핵심 자산으로서 요구사항을 관리하는 방법)

  • 문미경;염근혁
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.8
    • /
    • pp.1010-1026
    • /
    • 2004
  • The goal of product line engineering is to support the systematic development of a set of similar software systems by understanding and controlling their common and distinguishing characteristics. The product line engineering is a process that develops reusable core assets and develops a set of software-intensive systems from a common set of core assets in a prescribed way. Currently, many software development technologies are accomplished in context of product line. However, much of the product line engineering research have focused on the reuse of work products relating to the software's architecture, detail design, and code. The product lines fulfill the promise of tailor-made systems built specifically for the needs of particular customers or customer groups. In particular, commonality and variability play central roles in the all product line development processes. These must be treated already during the requirement analysis phase. Requirements in product line engineering are basis of software development just like as traditional system development engineering, and basis of deciding other core assets' property - commonalities and variabilities. However, it is difficult to elicit, analyze and manage correct requirements. Therefore, it is necessary to develop systematic methods which can develop and manage requirement as core asset, which can be stable in anticipative change and can be well adapted to unpredictable change. In this paper, we suggest a method of managing requirements as core asset in product line. Through this method, the reuse of domain requirements can be enhanced. As a result, the cost and time of software development can be reduced and the productivity can be increased.

Expressing Variability in Software Product Line Architecture Models: A Comparative Study (소프트웨어 제품라인 아키텍처 모델에서의 가변성 표현 방법 비교 연구)

  • Lee, Hyesun;Cho, Sungbae;Kang, Kyo Chul
    • Journal of Software Engineering Society
    • /
    • v.24 no.3
    • /
    • pp.77-89
    • /
    • 2011
  • Software product line engineering is a software reuse paradigm that helps organizations improve software productivity and quality by developing software products from reusable core assets. For the satisfaction of common and variable requirements among products in the product line, the core assets must be configurable according to the selection of variable features. Therefore, unlike software architecture model of a single product, product line architecture model must embed and express variabilities among the products. Many researches have proposed methods of embedding and expressing variabilities in the product line architecture models, but there are few comparative studies on the proposed methods. In this paper we discuss strong points and weak points of the proposed methods and compare expressiveness of the methods, which helps select a proper method.

  • PDF

Framework for Developing RFID Applications Based on Product Line Architecture (프로덕트라인 아키텍처 기반 RFID 애플리케이션 개발을 위한 프레임워크)

  • Moon, Mi-Kyeong;Kim, Han-Jun;Yeom, Keun-Hyuk
    • The KIPS Transactions:PartD
    • /
    • v.14D no.7
    • /
    • pp.773-782
    • /
    • 2007
  • Software produce line engineering is a method that prepares for future reuse and supports seamless reuse in the application development process. Analyzing the commonality and variability between products in a product line is one of the essential concerns that must be considered when building a product line. In this paper, we suggest to combine a product line engineering approach with RFID applications technology. More concretely, common activities are identified among the RFID-enable applications and the variability in the common activities is analyzed in detail. Then, we suggest reusable product line architecture as a product line asset. In addition, as a tool for supporting this research, a framework which provides both reusable product line architecture for REID applications and the components that implement concrete realization of the architecture is developed. Sharing a common architecture and reusing assets to deploy recurrent services may be considered an advantage in terms of economic significance and overall quality.

A Tool for Workflow-based Product Line Software Development (워크플로우 기반의 제품라인 소프트웨어 개발 지원 환경)

  • Yang, Jin-Seok;Kang, Kyo C.
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.6
    • /
    • pp.377-382
    • /
    • 2013
  • A convergence software development methodology based on product line engineering provides an architecture model for application development and it also provides workflow as a behavior specification of control component development to develop transaction centric application. To effect a change on software development based on product line engineering it has to be supported by a tool. But almost workflow modeling tools dose not support product line engineering concept. So we need new workflow modeling tool to support the convergence software development methodology. In this paper, we introduce a toolset for workflow modeling that consists of eclipse plug-in applications and open source tool and describe the relationships of tools through example.

A Scoping Method to Implement Software Product Line for Inertial Navigation System (관성항법소프트웨어 SPL(Software Product Line) 구현을 위한 플랫폼 범위결정 기법)

  • Park, Samjoon;Noh, Sungkyu;Lee, Kwanwoo;Park, ByungSu;Nam, Seongho
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.10 no.7
    • /
    • pp.251-256
    • /
    • 2021
  • Software Product Line Engineering (SPLE) has been known as an efficient and effective software reuse methodology. One of the key activities of SPLE is scoping analysis, which determines the range of the features to be developed as reusable assets. Although several scoping methods has been reported, they are not sufficient to apply them to the defense domain. In this paper, we present a scoping method applicable to the defense domain, and present a case study for applying SPLE to inertial navigation weapon system. At first, the proposed method determines the range of candidate features to be applied for the platform. The range is then adjusted from the perspective of product benefit. The final range of features is decided through considering the total cost of a product line. We will demonstrate and evaluate the applicability of the proposed method by showing how we can decide the scope of features to be engineered for the navigation software product line.

Identification and Modularization of Feature Interactions Using Feature-Feature Code Mapping (휘처-휘처코드 대응을 이용한 휘처상호작용의 검출 및 모듈화)

  • Lee, Kwanwoo
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.14 no.3
    • /
    • pp.105-110
    • /
    • 2014
  • Feature-oriented software product line engineering is to develop various products by developing product line core assets in terms of features and composing those features. However, the developed product may not behave correctly if the feature interaction problem has not be properly taken into account during the feature composition. This paper proposes techniques for identifying and modularizing undesirable feature interactions effectively. The scientific calculator product line is used for evaluating the applicability of the proposed method.

A Model Driven Architecture and Product Line Engineering Technique for Adaptable Contents Service of Ubiquitous Computing : Applying to Vessel U-Safety Monitoring (유비쿼터스 환경에서 적응적 컨텐츠 서비스를 위한 모델기반 아키텍처와 프로덕트라인 기법 : 선발 U-안전모니터링 시스템응용)

  • Lee, Seo-Jeong;Choi, Mi-Sook
    • Journal of Advanced Marine Engineering and Technology
    • /
    • v.32 no.4
    • /
    • pp.611-617
    • /
    • 2008
  • In ubiquitous environments, the content adaptable services can be dynamically provided to adapt the frequent changes of contexts. These services have common things that the kinds of context factors are limited to ubiquitous environment, though the contexts are flexible. To reuse service architecture can be reasonable for effective adaptable service. In this paper, we design a software architecture with product line techniques for content adaptable applications in ubiquitous environment. Description of product line is to define variation points and their variants, to find out the dependencies between them and to keep the model based architecture, their alternatives.

A Method for Instantiating Product Line Architecture using Formal Specifications (정형 명세를 이용한 제품계열 아키텍처의 인스턴스화 기법)

  • Shin, Suk-Kyung;Her, Jin-Sun;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.12
    • /
    • pp.1008-1021
    • /
    • 2006
  • Product line engineering(PLE) is one of the recent and effective reuse approaches that enables developing a number of applications by instantiating a core asset. Elements of a core asset are product line architecture(PLA), component, and decision model. Among these elements, PLA is the key element since it defines the overall structure of the core asset. Although numerous PLE methodologies have been introduced, it is still unclear what should be the elements of a PLA and how to systematically instantiate it for specific applications. Formal specifications can play a key role in defining detailed and precise instantiation process. In this paper, we first present a meta model of PLA and show how to specify PLA in a formal language, Object-Z. Then, we propose instantiation rules using formal specification and those rules precisely define constraints for instantiating PLA. By applying the proposed formal specification, we believe PLA instantiation can be carried out precisely and correctly, yielding high quality software development.

A Metric-based Methodfor Evaluating Product Line Architecture (프로덕트라인 아키텍처의 정량성 평가 기법)

  • Chang Soo-Ho;La Hyun-Jung;Kim Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.5
    • /
    • pp.449-459
    • /
    • 2006
  • Product Line Engineering (PLE) has been widely accepted as a representative software reuse methodology by using core assets. As a key element of core assets, product line architecture (PLA) should be generic to a set of applications in the product line (PL). However, the difference between PLA and single system architecture has not been treated well enough, so evaluating PLA still remains as one of the difficult tasks in PLE. In this paper, we identify two intrinsic but overlooked issues in PLA; variability propagation chain and conflicts between architectural elements. And, we present a metric-based methodto evaluate PLA from the perspective of the two issues. We believe that the two issues in PLA and the evaluation method would make designing high-quality PLA more feasible and effective.