Results 1 - 10
of
115
Automated Reasoning on Feature Models
- LNCS, ADVANCED INFORMATION SYSTEMS ENGINEERING: 17TH INTERNATIONAL CONFERENCE, CAISE 2005
, 2005
"... Software Product Line (SPL) Engineering has proved to be an effective method for software production. However, in the SPL community it is well recognized that variability in SPLs is increasing by the thousands. Hence, an automatic support is needed to deal with variability in SPL. Most of the cur ..."
Abstract
-
Cited by 170 (27 self)
- Add to MetaCart
(Show Context)
Software Product Line (SPL) Engineering has proved to be an effective method for software production. However, in the SPL community it is well recognized that variability in SPLs is increasing by the thousands. Hence, an automatic support is needed to deal with variability in SPL. Most of the current proposals for automatic reasoning on SPL are not devised to cope with extra-functional features. In this paper we introduce a proposal to model and reason on an SPL using constraint programming. We take into account functional and extra-functional features, improve current proposals and present a running, yet feasible implementation.
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
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
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.
Source Tree Composition
- In Proceedings: Seventh International Conference on Software Reuse, volume 2319 of LNCS
, 2001
"... Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures. Such source code components are usu ..."
Abstract
-
Cited by 29 (9 self)
- Add to MetaCart
(Show Context)
Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures. Such source code components are usually strongly coupled in the directory structure of a software system. Their compilation is usually controlled by a single global build process. This entangling of source trees and build processes often makes reuse of source code components in different software systems difficult. It also makes software systems inflexible because integration of additional source code components in source trees and build processes is difficult. This paper's subject is to increase software reuse by decreasing coupling of source code components. It is achieved by automized assembly of software systems from reusable source code components and involves integration of source trees, build processes, and configuration processes. Application domains include generative programming, product-line architectures, and commercial off-the-shelf (COTS) software engineering.
Nix: A Safe and Policy-free System for Software Deployment
- 18th Large Installation System Administration Conference (LISA ’04
, 2004
"... Existing systems for software deployment are neither safe nor sufficiently flexible. Primary safety issues are the inability to enforce reliable specification of component dependencies, and the lack of support for multiple versions or variants of a component. This renders deployment operations such ..."
Abstract
-
Cited by 27 (8 self)
- Add to MetaCart
Existing systems for software deployment are neither safe nor sufficiently flexible. Primary safety issues are the inability to enforce reliable specification of component dependencies, and the lack of support for multiple versions or variants of a component. This renders deployment operations such as upgrading or deleting components dangerous and unpredictable. A deployment system must also be flexible (i.e., policy-free) enough to support both centralised and local package management, and to allow a variety of mechanisms for transferring components. In this paper we present Nix, a deployment system that addresses these issues through a simple technique of using cryptographic hashes to compute unique paths for component instances.
Variability and Component Composition
, 2004
"... Abstract. In component-based product populations, variability has to be described at the component level to be able to benet from a product family approach. As a consequence, composition of components becomes very complex. We describe how this complexity can be managed au-tomatically. The concepts a ..."
Abstract
-
Cited by 27 (4 self)
- Add to MetaCart
(Show Context)
Abstract. In component-based product populations, variability has to be described at the component level to be able to benet from a product family approach. As a consequence, composition of components becomes very complex. We describe how this complexity can be managed au-tomatically. The concepts and techniques presented are the rst step toward automated management of variability for web-based software de-livery. 1
Tracing Software Product Line Variability – From Problem to Solution Space
"... The management of variability plays an important role in successful software product line engineering. There is a need for a universal variability management approach to be consistent and scalable; it should provide traceability between variations at different levels of abstraction and across variou ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
The management of variability plays an important role in successful software product line engineering. There is a need for a universal variability management approach to be consistent and scalable; it should provide traceability between variations at different levels of abstraction and across various generic development artifacts; and there should be a means for visualizing variability. Focusing specifically on the aspect of traceability in the context of such an approach, we define a conceptual variability model that captures variability information in a third dimension, and allows a 1-to-1 mapping of variability between the problem space and the solution space. Decision models, of which the feature model is most popular, are commonly used for, amongst others, managing traceability of variation. These, however, usually reside in a two dimensional space. We analyze the feature model in a small case study with regards to our conceptual variability model, and present our findings.
Using Constraint Programming to Reason on Feature Models
- IN THE SEVENTEENTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING
, 2005
"... Feature models have been cited as one of the main contributions to model software product families. However, there is still a gap in product family engineering which is the automated reasoning on feature models. In this paper we describe how to reason on feature models using constraint programming. ..."
Abstract
-
Cited by 22 (5 self)
- Add to MetaCart
Feature models have been cited as one of the main contributions to model software product families. However, there is still a gap in product family engineering which is the automated reasoning on feature models. In this paper we describe how to reason on feature models using constraint programming. Although, there are a few attempts to reason on feature models there are two main drawbacks in these proposals: ## none of them associate parameters to features ### none of them use constraint programming as the reasoning base. Using constraint programming endows our proposal with a more powerful reasoning capacity and greater expressiveness than others.
An exploratory study of information retrieval techniques in domain analysis
- In SPLC
, 2008
"... ..."
(Show Context)