• Title/Summary/Keyword: software product lines

Search Result 46, Processing Time 0.026 seconds

Code Generation System for Component-based Real-time Embedded Software Product Lines (컴포넌트 기반 실시간 임베디드 소프트웨어 프러덕트 라인을 위한 코드 생성 시스템)

  • Choi Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.7 no.4
    • /
    • pp.11-22
    • /
    • 2006
  • Software product-lines methodology is the software development paradigm to build the target system by customizing the variable part of software assets according to requirements. To attain this, the commonalities and variabilities of the system family should be modeled explicitly at early stage. Although the researches on general software product-lines are active, the researches on component-based real-time embedded software product-lines are rather inactive. In this paper a code generation system to support the functional variabilities via feature model and generate the code for synchronization via state model is proposed to increase the productivity of the development of the real-time embedded software product-lines.

  • PDF

Release Planning in Software Product Lines Using a Genetic Algorithm (유전자 알고리듬을 이용한 소프트웨어 제품라인의 출시 계획 수립)

  • Yoo, Jaewook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.35 no.4
    • /
    • pp.142-148
    • /
    • 2012
  • Release planning for incremental software development is to select and assign features in sequence of releases along a specified planning horizon. It includes the technical precedence inherent in the features, the conflicting priorities as determined by the representative stakeholders, and the balance between required and available resources. The complexity of this consideration is getting more complicated when planning releases in software product lines. The problem is formulated as a precedence-constrained multiple 0-1 knapsack problem. In this research a genetic algorithm is developed for solving the release planning problems in software product lines as well as tests for the proposed solution methodology are conducted using data generated randomly.

Variability Support in Component-based Product Lines using Component Code Generation (컴포넌트 코드 생성을 통한 컴포넌트 기반 제품 라인에서의 가변성 지원)

  • Choi, Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.6 no.4
    • /
    • pp.21-35
    • /
    • 2005
  • Software product-lines is the software development paradigm to attain the rapid development of quality applications by customizing the reconfigurable components and composing them based on predefined software architectures. Recently various methodologies for the component-based product lines are proposed, but these don't provide the specific implementation techniques of the components in terms of variability resolution mechanism. In other hand, the several approaches to implement the component supporting the variabilities resolution are developed, but these don't define the systematic analysis and design method considering the variabilities from the initial phase. This paper proposes the integration of PLUS, the one of product line methodologies extending UML modeling, and component code generation technique in order to increase the efficiency of producing the specific product in the software product lines. In this paper, the component has the hierarchical architecture consisting of the implementation elements, and each implementation elements are implemented as XSLT scripts. The codes of the components are generated from the feature selection. Using the microwave oven product lines as case study, the development process for the reconfigurable components supporting the automatic variability resolution is described.

  • PDF

An Approach to Managing Requirements Change Systematically in Software Product Lines (소프트웨어 프로덕트 라인에서 체계적인 요구사항 변경 관리 방법)

  • Park, Ji-Hyeon;Moon, Mi-Kyeong;Yeom, Keun-Hyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.12
    • /
    • pp.1164-1177
    • /
    • 2005
  • As the software development process becomes complicated, software requirements become complicated, too. Many efforts are needed in requirements management. It is impossible to define all requirements of software at first, and the development environment changes as project is gone. As the cost of requirements change management is much more than development cost, the changes should be controled immediately through systematic change management. In this paper, I suggest a method to manage requirements change systematically based on the change management process in software product lines. The requirements change at the application engineering process is analyzed and managed using the domain engineering process because the application requirements are customized from the domain requirements in software product lines. Such the consistent change management helps to make decisions about changes by change impact analysis and alternative solution design. Through this method, the potential change costs can be saved because same change requests are not repeated by controlling the change requests completely.

Your Opinions Let us Know: Mining Social Network Sites to Evolve Software Product Lines

  • Ali, Nazakat;Hwang, Sangwon;Hong, Jang-Eui
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.13 no.8
    • /
    • pp.4191-4211
    • /
    • 2019
  • Software product lines (SPLs) are complex software systems by nature due to their common reference architecture and interdependencies. Therefore, any form of evolution can lead to a more complex situation than a single system. On the other hand, software product lines are developed keeping long-term perspectives in mind, which are expected to have a considerable lifespan and a long-term investment. SPL development organizations need to consider software evolution in a systematic way due to their complexity and size. Addressing new user requirements over time is one of the most crucial factors in the successful implementation SPL. Thus, the addition of new requirements or the rapid context change is common in SPL products. To cope with rapid change several researchers have discussed the evolution of software product lines. However, for the evolution of an SPL, the literature did not present a systematic process that would define activities in such a way that would lead to the rapid evolution of software. Our study aims to provide a requirements-driven process that speeds up the requirements engineering process using social network sites in order to achieve rapid software evolution. We used classification, topic modeling, and sentiment extraction to elicit user requirements. Lastly, we conducted a case study on the smartwatch domain to validate our proposed approach. Our results show that users' opinions can contain useful information which can be used by software SPL organizations to evolve their products. Furthermore, our investigation results demonstrate that machine learning algorithms have the capacity to identify relevant information automatically.

Automatic Component Reconfiguration Tool Based on the Feature Configuration and GenVoca Architecture (특성 구성과 GenVoca 아키텍처에 기반한 컴포넌트 재구성 자동화 도구)

  • Choi Seung Hoon
    • Journal of Internet Computing and Services
    • /
    • v.5 no.4
    • /
    • pp.125-134
    • /
    • 2004
  • Recently a lot of researches on the component-based software product lines and on applying generative programming into software product lines are being performed actively. This paper proposes an automatic component reconfiguration tool that could be applied in constructing the component-based software product lines. Our tool accepts the reuser's requirement via a feature model which is the main result of the domain engineering, and makes the feature configuration from this requirement. Then it generates the source code of the reconfigured component according to this feature configuration. To accomplish this process, the component family in our tool should have the architecture of GenVoca that is one of the most influential generative programming approaches. In addition, XSLT scripts provide the code templates for implementation elements which are the ingredients of the target component. Taking the ‘Bank Account' component family as our example, we showed that our component reconfiguration tool produced automatically the component source code that the reuser wants to create. The result of this paper would be applied extensively for creasing the productivity of building the software product lines.

  • PDF

Code Coverage Measurement in Configurable Software Product Line Testing (구성가능한 소프트웨어 제품라인 시험에서 코드 커버리지 측정)

  • Han, Soobin;Lee, Jihyun;Go, Seoyeon
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.11 no.7
    • /
    • pp.273-282
    • /
    • 2022
  • Testing approaches for configurable software product lines differs significantly from a single software testing, as it requires consideration of common parts used by all member products of a product line and variable parts shared by some or a single product. Test coverage is a measure of the adequacy of testing performed. Test coverage measurements are important to evaluate the adequacy of testing at the software product line level, as there can be hundreds of member products produced from configurable software product lines. This paper proposes a method for measuring code coverage at the product line level in configurable software product lines. The proposed method tests the member products of a product line after hierarchizing member products based on the inclusion relationship of the selected features, and quantifies SPL(Software Product Line) test coverage by synthesizing the test coverage of each product. As a result of applying the proposed method to 11 configurable software product line cases, we confirmed that the proposed method could quantitatively visualize how thoroughly the SPL testing was performed to help verify the adequacy of the SPL testing. In addition, we could check whether the newly performed testing for a member product covers the newly added code parts of a feature.

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.

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

Consistency Checking Rules of Variability between Feature Model and Elements in Software Product Lines (소프트웨어 제품라인의 휘처모델과 구성요소간 가변성에 대한 일관성 검증 규칙)

  • Kim, Se-Hoon;Kim, Jeong-Ah
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.3 no.1
    • /
    • pp.1-6
    • /
    • 2014
  • Many companies have tried to adopt Software Product Line Engineering for improving the quality and productivity of information systems and software product. There are several models defined in software product line methodology and each model has different abstraction level. Therefor it is important to maintain the traceability and consistency between models. In this paper, consistency checking rules are suggested by traceability matrix of work products.