• Title/Summary/Keyword: Software Product Line

Search Result 149, Processing Time 0.024 seconds

Specialized Product-Line Development Methodology for Developing the Embedded System

  • Hong Ki-Sam;Yoon Hee-Byung
    • International Journal of Fuzzy Logic and Intelligent Systems
    • /
    • v.5 no.3
    • /
    • pp.268-273
    • /
    • 2005
  • We propose the specialized product-line development methodology for developing the embedded system of an MSDFS (Multi Sensor Data Fusion System : called MSDFS). The product-line methodology provides a simultaneous design between software and hardware, high level reusability. However this is insufficient in requirement analysis stage due to be focused on software architecture, detailed design and code. Thus we apply the business model based on IDEF0 technique to traditional methodology. In this paper, we describe the processes of developing Core-Asset, which are requirement analysis, feature modeling, validation. The proposed model gives the efficient result for eliciting features, and ensures the high level reusability of modules performing on embedded system.

Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming (AOP를 적용한 프로덕트 라인 가변기능의 구현)

  • Heo Seung-Hyun;Choi Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.593-602
    • /
    • 2006
  • Software development methodology has been developed for satisfying goals of improvement in productivity and reduction in time-to-market through the reuse of software assets. The current methods that implement software product-line, one of software development methodologies, interfere massively with the core assets, which require high cost in assembly level reducing the effectiveness. In this paper, we introduce Aspect-Oriented Programming (AOP) as a method for improving assembly process in software product-line. The method that assembles core assets and variabilities is described by grammar elements such as Join point, pointcut and advice without code-change. We analyze requirements of a mini-system as an example adapting AOP and design using UML. Our study implements the variabilities, which are from design stage, using an Aspect-Oriented Programming Language, AspectJ and prove usability and practicality by implementing the proposed idea using an Aspect-Oriented Programming Language, AspectJ.

A Greedy Genetic Algorithm for Release Planning in Software Product Lines (소프트웨어 제품라인의 출시 계획 수립을 위한 탐욕 유전자 알고리듬)

  • Yoo, Jaewook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.36 no.3
    • /
    • pp.17-24
    • /
    • 2013
  • Release planning in a software product line (SPL) is to select and assign the features of the multiple software products in the SPL in sequence of releases along a specified planning horizon satisfying the numerous constraints regarding technical precedence, conflicting priorities for features, and available resources. A greedy genetic algorithm is designed to solve the problems of release planning in SPL which is formulated as a precedence-constrained multiple 0-1 knapsack problem. To be guaranteed to obtain feasible solutions after the crossover and mutation operation, a greedy-like heuristic is developed as a repair operator and reflected into the genetic algorithm. The performance of the proposed solution methodology in this research is tested using a fractional factorial experimental design as well as compared with the performance of a genetic algorithm developed for the software release planning. The comparison shows that the solution approach proposed in this research yields better result than the genetic algorithm.

A Specification Technique for Product Line Core Assets using MDA / PIM (MDA / PIM을 이용한 제품계열 핵심자산의 명세 기법)

  • Min, Hyun-Gi;Han, Man-Jib;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.9
    • /
    • pp.835-846
    • /
    • 2005
  • A Product Line (PL) is a set of products (applications) that share common assets in a domain. Product Line Engineering (PLE) is a set of principles, techniques, mechanisms, and processes that enables the instantiation of produce lines. Core assets, the common assets, are created and instantiated to make products in PLE. Model Driven Architecture (MDA) is a new software development paradigm that emphasizes its feasibility with automatically developing product. Therefore, we can get advantages of both of the two paradigms, PLE and MDA, if core assets are represented as PIM in MDA with predefined automatic mechanism. PLE framework in the PIM level has to be interpreted by MDA tools. However, we do not have a standard UML profile for representing core assets. The research about representing PLE framework is not enough to make automatically core assets and products. We represent core asset in PIM level in terms of structural view and semantic view. We also suggest a method for representing architecture, component, workflow, algorithm, and decision model. The method of representing framework with PLE and MDA is used to improve productivity, applicability, maintainability and qualify of product.

An Elicitation Approach of Measurement Indicator based an Product line Context (Product Line의 컨텍스트 기반 측정 지표 도출 방법)

  • Hwang Sun-Myung;Kim Jin-Sam
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.583-592
    • /
    • 2006
  • Software development based on product lines has been proved a promising technology that can drastically reduce cycle time and guarantee quality by strategically reusing quality core assets that belong to an organization. However, how to measure within a product line is different from how to measure within a single software project in that we have to consider the aspects of both core assets and projects that utilize the assets. Moreover, the performance aspects of overall project lines need to be considered within a product line context. Therefore, a systematic approach to measure the performance of product lines is essential to have consistent, repeatable and effective measures within a product line. This paper presents a context-based measurements elicitation approach for product lines that reflects the performance characteristics of product lines and the diversity of their application. The approach includes both detailed procedures and work products resulting from implementation of the procedures, along with their templates. To show the utility of the approach, this paper presents the elicited measurements, especially for technical management practices among product line practices. This paper also illustrated a real application case that adopt this approach. The systematic approach enables management attributes, i.e., measurements to be identified when we construct product lines or develop software product based on the product lines. The measurements will be effective in that they are derived in consideration of the application context and interests of stakeholders.

TToSA: An Architecture Model Translator toward Embedded Software Product Line Engineering (TToSA : 제품계열공학으로의 전이를 위한 임베디드 소프트웨어의 모델 기반 아키텍처 변환기)

  • Hong, Jang-Eui;Oh, Gi-Young;Kim, Jong-Phil
    • The KIPS Transactions:PartD
    • /
    • v.13D no.6 s.109
    • /
    • pp.807-814
    • /
    • 2006
  • Along with the enlargement of application scope, the growth of requirements complexity, and the fast development of product for embedded system, lots of industries developing embedded software try to evolve their traditional development environment into the new paradigm such as product line engineering approach. In order to sufficiently support the evolution, software architecture is essentially required to develop the embedded software. In this paper, we propose a tool, named TToSA which translates the conventional software models to software architecture models. Our TToSA is developed with the critical implication about that an industry can approach toward the new development paradigm without the big change of the existing software development method.

A Practical Techniquefor Designing Product Line Architecture (프로덕트라인 아키텍쳐의 실용적 설계기법)

  • Chang Soo Ho;La Hyun Jung;Kim Soo Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.3
    • /
    • pp.163-172
    • /
    • 2005
  • Product Line Engineering (PLE) has been widely accepted as a representative software reuse methodology by using core assets. Product line architecture (PLA) is a key element of core assets. However, current research works on designing PLA do not provide sufficient and detailed guidelines of defining PLA and reflecting variability in the architecture. In this paper, we present a reference model of PLA and propose a process to design PLA with detailed instructions. Especially architectural variability is codified by describing decision model depending variation points and traced through PLA activities. The proposed process would make it feasible to apply PLE to practice areas.

Feature Configuration Verification Using JESS Rule-based System (JESS 규칙 기반 시스템을 이용한 특성 구성 검증)

  • Choi, Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.8 no.6
    • /
    • pp.135-144
    • /
    • 2007
  • Feature models are widely used in domain engineering phase of software product lines development to model the common and variable concepts among products. From the feature model, the feature configurations are generated by selecting the features to be included in target product. The feature configuration represents the requirements for the specific product to be implemented. Although there are a lot of researches on how to build and use the feature models and feature configurations, the researches on the formal semantics and reasoning of them are rather inactive. This paper proposes the feature configuration verification approach based on JESS, java-based rule-base system. The Graph Product Line, a standard problem for evaluating the software product line technologies, is used throughout the paper to illustrate this approach. The approach in this paper has advantage of presenting the exact reason causing inconsistency in the feature configuration. In addition, this approach should be easily applied into other software product lines development environments because JESS system can be easily integrated with Java language.

  • PDF

A Code Clustering Technique for Unifying Method Full Path of Reusable Cloned Code Sets of a Product Family (제품군의 재사용 가능한 클론 코드의 메소드 경로 통일을 위한 코드 클러스터링 방법)

  • Kim, Taeyoung;Lee, Jihyun;Kim, Eunmi
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.1
    • /
    • pp.1-18
    • /
    • 2023
  • Similar software is often developed with the Clone-And-Own (CAO) approach that copies and modifies existing artifacts. The CAO approach is considered as a bad practice because it makes maintenance difficult as the number of cloned products increases. Software product line engineering is a methodology that can solve the issue of the CAO approach by developing a product family through systematic reuse. Migrating product families that have been developed with the CAO approach to the product line engineering begins with finding, integrating, and building them as reusable assets. However, cloning occurs at various levels from directories to code lines, and their structures can be changed. This makes it difficult to build product line code base simply by finding clones. Successful migration thus requires unifying the source code's file path, class name, and method signature. This paper proposes a clustering method that identifies a set of similar codes scattered across product variants and some of their method full paths are different, so path unification is necessary. In order to show the effectiveness of the proposed method, we conducted an experiment using the Apo Games product line, which has evolved with the CAO approach. As a result, the average precision of clustering performed without preprocessing was 0.91 and the number of identified common clusters was 0, whereas our method showed 0.98 and 15 respectively.

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.