Results 1 - 10
of
62
Formalizing cardinality-based feature models and their specialization
- Software Process: Improvement and Practice
, 2005
"... Abstract Feature modeling is an important approach to capture the commonalities and variabilities in system families and product lines. Cardinality-based feature modeling integrates a number of existing extensions of the original feature-modeling notation from Feature-Oriented Domain Analysis. Stage ..."
Abstract
-
Cited by 169 (18 self)
- Add to MetaCart
(Show Context)
Abstract Feature modeling is an important approach to capture the commonalities and variabilities in system families and product lines. Cardinality-based feature modeling integrates a number of existing extensions of the original feature-modeling notation from Feature-Oriented Domain Analysis. Staged configuration is a process that allows the incremental configuration of cardinality-based feature models. It can be achieved by performing a step-wise specialization of the feature model. In this paper, we argue that cardinality-based feature models can be interpreted as a special class of context-free grammars. We make this precise by specifying a translation from a feature model into a context-free grammar. Consequently, we provide a semantic interpretation for cardinalitybased feature models by assigning an appropriate semantics to the language recognized by the corresponding grammar. Finally, we give an account on how feature model specialization can be formalized as transformations on the grammar equivalent of feature models.
Staged configuration through specialization and multilevel configuration of feature models
- Software Process: Improvement and Practice
"... Abstract Feature modeling is a key technique for capturing commonalities and variabilities in system families and product lines. In this paper, we propose a cardinality-based notation for feature modeling, which integrates a number of existing extensions of previous approaches. We then introduce and ..."
Abstract
-
Cited by 141 (14 self)
- Add to MetaCart
(Show Context)
Abstract Feature modeling is a key technique for capturing commonalities and variabilities in system families and product lines. In this paper, we propose a cardinality-based notation for feature modeling, which integrates a number of existing extensions of previous approaches. We then introduce and motivate the novel concept of staged configuration. Staged configuration can be achieved by the stepwise specialization of feature models or by multi-level configuration, where the configuration choices available in each stage are defined by separate feature models. Staged configuration is important because in a realistic development process, different groups and different people make product configuration choices in different stages. Finally, we also discuss how multi-level configuration avoids a breakdown between the different abstraction levels of individual features. This problem, sometimes referred to as “analysis paralysis”, easily occurs in feature modeling because features can denote entities at arbitrary levels of abstractions within a system family. Key words: Software product lines, system families, domain analysis, software configuration 1
Staged configuration using feature models
- SOFTWARE PRODUCT LINES: THIRD INTERNATIONAL CONFERENCE, SPLC 2004
, 2004
"... Feature modeling is an important approach to capturing commonalities and variabilities in system families and product lines. In this paper, we propose a cardinality-based notation for feature modeling, which integrates a number of existing extensions of previous approaches. We then introduce and mot ..."
Abstract
-
Cited by 108 (4 self)
- Add to MetaCart
(Show Context)
Feature modeling is an important approach to capturing commonalities and variabilities in system families and product lines. In this paper, we propose a cardinality-based notation for feature modeling, which integrates a number of existing extensions of previous approaches. We then introduce and motivate the novel concept of staged configuration. Staged configuration can be achieved by the stepwise specialization of feature models. This is important because in a realistic development process, different groups and different people eliminate product variability in different stages. We also indicate how cardinality-based feature models and their specialization can be given a precise formal semantics.
Feature dependency analysis for product line component design
- Lecture Notes in Computer Science
, 2004
"... Abstract. Analyzing commonalities and variabilities among products of a product line is an essential activity for product line asset development. A feature-oriented approach to commonality and variability analysis (called feature modeling) has been used extensively for product line engineering. Feat ..."
Abstract
-
Cited by 35 (2 self)
- Add to MetaCart
(Show Context)
Abstract. Analyzing commonalities and variabilities among products of a product line is an essential activity for product line asset development. A feature-oriented approach to commonality and variability analysis (called feature modeling) has been used extensively for product line engineering. Feature modeling mainly focuses on identifying commonalities and variabilities among products of a product line and organizing them in terms of structural relationships (e.g., aggregation and generalization) and configuration dependencies (e.g., required and excluded). Although the structural relationships and configuration dependencies are essential inputs to product line asset development, they are not sufficient to develop reusable and adaptable product line assets. Other types of dependencies among features also have significant influences on the design of product line assets. In this paper, we extend the feature modeling to analyze feature dependencies that are useful in the design of reusable and adaptable product line components, and present design guidelines based on the extended model. An elevator control software example is used to illustrate the concept of the proposed method.
B.Kim. Feature-oriented Re-engineering of Legacy Systems into Product Line Assets, The 9
- th International Software Product Line Conference
, 2005
"... Abstract. Home service robots have a wide range of potential applications, such as home security, patient caring, cleaning, etc. The services provided by the robots in each application area are being defined as markets are formed and, therefore, they change constantly. Thus, robot applications need ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Home service robots have a wide range of potential applications, such as home security, patient caring, cleaning, etc. The services provided by the robots in each application area are being defined as markets are formed and, therefore, they change constantly. Thus, robot applications need to evolve both quickly and flexibly adopting frequently changing requirements. This makes software product line framework ideal for the domain of home service robots. Unfortunately, however, robot manufacturers often focus on developing technical components (e.g., vision recognizer and speech processor) and then attempt to develop robots by integrating these components in an ad-hoc way. This practice produces robot applications that are hard to re-use and evolve when requirements change. We believe that re-engineering legacy robot applications into product line assets can significantly enhance reusability and evolvability. In this paper, we present our experience of re-engineering legacy home service robot applications into product line assets through feature modeling and analysis. First, through reverse engineering, we recovered architectures and components of the legacy applications. Second, based on the recovered information and domain knowledge, we reconstructed a feature model for the legacy applications. Anticipating changes in business opportunities or technologies, we restructured and refined the feature model to produce a feature model for the product line. Finally, based on the refined feature model and engineering principles we adopted for asset development, we designed a new architecture and components for robot applications. 1
An approach for developing service oriented product lines
- In Proceedings of the 12th International Software Product Lines Conference
, 2008
"... Service Orientation (SO) is a relevant promising candi-date for accommodating rapidly changing user needs and expectations. Adopting SO in practice for real software and system development, however, has uncovered several chal-lenging issues, such as how to identify services, determin-ing configurati ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
(Show Context)
Service Orientation (SO) is a relevant promising candi-date for accommodating rapidly changing user needs and expectations. Adopting SO in practice for real software and system development, however, has uncovered several chal-lenging issues, such as how to identify services, determin-ing configurations of services that are relevant to users’ current context, and maintaining system integrity after con-figuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. Our method is based on the feature analysis technique that enables us to identify services of a service oriented system. The method is notable in that it guides developers to identify services at the right level of granularity, to map users ’ context to relevant ser-vice configuration, and to maintain system integrity in terms of invariants and pre/post conditions of services. We also propose a heterogeneous style based architecture model for developing such systems. 1.
A Feature-Based Approach to Product Line Production Planning
- LNCS, Springer Berlin / Heidelberg
, 2004
"... Abstract. A production plan, which describes how core assets are used to develop products, has an important role in product line engineering as a communication medium between core asset developers and product developers. Recently, there have been efforts to address issues related to production plann ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
(Show Context)
Abstract. A production plan, which describes how core assets are used to develop products, has an important role in product line engineering as a communication medium between core asset developers and product developers. Recently, there have been efforts to address issues related to production planning; however, most of them focus on the process and business/management aspects of production planning, and not much emphasis is given to technical issues such as deciding features that will be made as core assets and their granularity. In this paper, we introduce a feature-based approach to product line production planning and illustrate how our approach addresses these technical issues. In our approach, a feature model and feature binding information are used as primary input to production plan development. A product line production plan developed using our approach could be easily customized to a product-specific production plan, because it was developed with consideration of units of product configurations as well as their integration techniques. 1
Using a configurator for modelling and configuring software product lines based on feature models
- In Workshop on Software Variability Management for Product Derivation, Software Product Line Conference (SPLC3
, 2004
"... Abstract. We show how WeCoTin, an academic prototype product configurator originally designed for non-software products, can be used to create and edit feature models of software product lines. Further, we show that WeCoTin enables the easy configuration of software product lines, i.e., generating d ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
(Show Context)
Abstract. We show how WeCoTin, an academic prototype product configurator originally designed for non-software products, can be used to create and edit feature models of software product lines. Further, we show that WeCoTin enables the easy configuration of software product lines, i.e., generating descriptions of valid products in the product line. 1
Evolutionary Search-based Test Generation for Software Product Line Feature Models
"... Abstract. Product line-based software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances rapid and low cost development of new applications based on reuse engineering principles. Des ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
(Show Context)
Abstract. Product line-based software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances rapid and low cost development of new applications based on reuse engineering principles. Despite the numerous advantages of software product lines, it is quite challenging to comprehensively test them. This is due to the fact that a product line can potentially represent many different applications; therefore, testing a single product line requires the test of its various applications. Theoretically, a product line with n software features can be a source for the development of 2 n application. This requires the test of 2 n applications if a brute-force comprehensive testing strategy is adopted. In this paper, we propose an evolutionary testing approach based on Genetic Algorithms to explore the configuration space of a software product line feature model in order to automatically generate test suites. We will show through the use of several publicly-available product line feature models that the proposed approach is able to generate test suites of O(n) size complexity as opposed to O(2 n) while at the same time form a suitable tradeoff balance between error coverage and feature coverage in its generated test suites. 1
K.: Feature Binding Analysis for Product Line Component Development
- Software Product Family Engineering. Lecture Notes in Computer Science
, 2004
"... Abstract. Feature analysis, which provides commonality and variability information of a product line, is essential for product line asset development. Moreover, feature binding information (i.e., when and how product features are included to products and delivered to customers) also drives product l ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
(Show Context)
Abstract. Feature analysis, which provides commonality and variability information of a product line, is essential for product line asset development. Moreover, feature binding information (i.e., when and how product features are included to products and delivered to customers) also drives product line component design. Feature binding can be examined from three perspectives: what features are bound (feature binding unit), when features are bound (feature binding time), and how features are bound (feature binding techniques), and this information must be made available to component design so that composition of components for feature binding becomes feasible. In this paper, we introduce an approach to analyzing feature binding from the three perspectives (i.e., what, when, and how) and illustrate how the analysis results can be used for component development of a product line. 1