Results 1 - 10
of
41
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 67 (13 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.
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 66 (12 self)
- Add to MetaCart
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.
Staged configuration through specialization and multi-level configuration of feature models
- Software Process Improvement and Practice
, 2005
"... 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 54 (7 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
Staged configuration using feature models
- Software Product Lines: Third International Conference, SPLC 2004
, 2004
"... Abstract. 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 introdu ..."
Abstract
-
Cited by 52 (4 self)
- Add to MetaCart
Abstract. 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. 1
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 23 (9 self)
- Add to MetaCart
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.
Variability and component composition
- Software Reuse: Methods, Techniques and Tools: 8th International Conference (ICSR-8), volume 3107 of Lecture Notes in Computer Science
, 2004
"... CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms. ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms.
Capturing Timeline Variability with Transparent Configuration Environments
- IEEE Workshop on Software Variability Management (SVM’03
, 2003
"... Virtually every non-trivial software system exhibits variability: the property that the set of features---characteristics of the system that are relevant to some stakeholder--- can be changed at certain points in the system's deployment lifecycle. Some features can be bound only at specific moments ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
Virtually every non-trivial software system exhibits variability: the property that the set of features---characteristics of the system that are relevant to some stakeholder--- can be changed at certain points in the system's deployment lifecycle. Some features can be bound only at specific moments in the life-cycle, while some can be bound at several distinct moments (timeline variability). This leads to inconsistent configuration interfaces; variability decisions are generally made through different interfaces depending on the moment in the life-cycle. In this paper we propose to formalize variability into a feature model that takes timeline issues into account and to derive from such feature models configuration interfaces that abstract over the life-cycle.
Weaving Aspect Configurations for Managing System Variability
- In VaMoS’08: 2nd Int. Workshop on Variability Modelling of Softwareintensive Systems
, 2008
"... Variability management is a key concern in the software industry. It allows designers to rapidly propose applications that fit the environment and the user needs, with a certain Quality-of-Service level, by choosing adapted variants. While Aspect-Oriented Programming has been introduced for managing ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
Variability management is a key concern in the software industry. It allows designers to rapidly propose applications that fit the environment and the user needs, with a certain Quality-of-Service level, by choosing adapted variants. While Aspect-Oriented Programming has been introduced for managing variability and complexity at the code level, the Software Product-Line community highlights the needs for variability in the earlier phases of the software lifecycle, where a system is generally described by means of models. In this paper, we propose a generic approach for weaving flexible and reusable aspects at a model level. By extending our generic Aspect-Oriented Modeling approach with variability, we can manage variability and complexity in the early phases of the software lifecycle. 1
Generic Implementation of Product Line Components
- Proceedings of NetObjectDays
, 2003
"... An argument pro component-based software development is the idea of constructing software systems by assembling preexisting components instead of redeveloping similar or identical functionality always from scratch. Unfortunately, integrating existing components practically means adaptation and use r ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
An argument pro component-based software development is the idea of constructing software systems by assembling preexisting components instead of redeveloping similar or identical functionality always from scratch. Unfortunately, integrating existing components practically means adaptation and use rather than use only, which makes an ideal component-based development hard to realize in practice. Product line engineering, however, tackles this problem by making components as generic as needed for a particular product family and thus allows component reuse. Such a component covers variabilities and thus its implementation must consider variabilities as well.
Semantics of FODA feature diagrams
- Proceedings SPLC 2004 Workshop on Software Variability Management for Product Derivation – Towards Tool Support
, 2004
"... Abstract. Extended Feature Oriented Domain Analysis (FODA) Feature Diagrams (EFD) were introduced to compensate for a purported ambiguity and lack of precision and expressiveness of the original FODA feature diagrams (OFD). However, EFD never received a formal semantics, which is the hallmark of pre ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
Abstract. Extended Feature Oriented Domain Analysis (FODA) Feature Diagrams (EFD) were introduced to compensate for a purported ambiguity and lack of precision and expressiveness of the original FODA feature diagrams (OFD). However, EFD never received a formal semantics, which is the hallmark of precision and unambiguity. We propose here a semantics for both diagrams. From this we demonstrate that OFD are precise, unambiguous, and expressively complete, and thus that all extensions add no expressiveness. A finer notion is thus needed to compare these languages. Two solutions are well-established: succinctness and embeddability, that measures naturalness of a language. This tool shows that EFD indeed bring some naturalness, but are harmfully redundant and that the same naturalness can be attained with the simpler varied FD (VFD). We also show that no ambiguity is present, in fact.

