113 research outputs found
Consistency maintenance for evolving feature models
Software product line (SPL) techniques handle the construction of customized systems. One of the most
common representations of the decisions a customer can make in SPLs is feature models (FMs). An FM
represents the relationships among common and variable features in an SPL. Features are a representation
of the characteristics in a system that are relevant to customers.
FMs are subject to change since the set of features and their relationships can change along an SPL lifecycle.
Due to this evolution, the consistency of FMs may be compromised. There exist some approaches to
detect and explain inconsistencies in FMs, however this process can take a long time for large FMs.
In this paper we present a complementary approach to dealing with inconsistencies in FM evolution
scenarios that improves the performance for existing approaches reducing the impact of change to the
smallest part of an FM that changes. To achieve our goal, we formalize FMs from an ontological perspective
and define constraints that must be satisfied in FMs to be consistent. We define a set of primitive
operations that modify FMs and which are responsible for the FM evolution, analyzing their impact on
the FM consistency. We propose a set of predefined strategies to keep the consistency for error-prone
operations.
As a proof-of-concept we present the results of our experiments, where we check for the effectiveness
and efficiency of our approach in FMs with thousands of features. Although our approach is limited by the
kinds of consistency constraints and the primitive operations we define, the experiments present a significant
improvement in performance results in those cases where they are applicable.Comisión Interministerial de Ciencia y Tecnología TIN2009-07366Junta de Andalucía TIC-5906Junta de Andalucía P07-TIC-253
JPI Feature Models: Exploring a JPI and FOP Symbiosis for Software Modeling
Looking for a complete modular software
development paradigm, this article presents Join Point Interface
JPI Feature Models, in the context of a JPI and Feature-Oriented
Programming FOP symbiosis paradigm. Therefore, this article
describes pros and cons of JPI and FOP approaches for the
modular software and software product line production,
respective; and highlights the benefits of this mixing proposal; in
particular, the JPI Feature Model benefits for a high-level
software product line modeling. As an application example, this
article applies JPI Features Models on a classic FOP example
already modeled using a previous aspect-oriented feature model
proposal. Main goals of this application are to visualize
traditional feature models preserved components such
alternative and optional feature sets and optional and mandatory
features as well as special features associations (cross-tree
constraints), and differences and advantages with respect to
previous research works about extending feature model to
support aspect-oriented modeling principles
Visualizing the customization endeavor in product-based-evolving software product lines: a case of action design research
[EN] Software Product Lines (SPLs) aim at systematically reusing software assets, and deriving products (a.k.a., variants) out of those assets. However, it is not always possible to handle SPL evolution directly through these reusable assets. Time-to-market pressure, expedited bug fixes, or product specifics lead to the evolution to first happen at the product level, and to be later merged back into the SPL platform where the core assets reside. This is referred to as product-based evolution. In this scenario, deciding when and what should go into the next SPL release is far from trivial. Distinct questions arise. How much effort are developers spending on product customization? Which are the most customized core assets? To which extent is the core asset code being reused for a given product? We refer to this endeavor as Customization Analysis, i.e., understanding the functional increments in adjusting products from the last SPL platform release. The scale of the SPLs' code-base calls for customization analysis to be conducted through Visual Analytics tools. This work addresses the design principles for such tools through a joint effort between academia and industry, specifically, Danfoss Drives, a company division in charge of the P400 SPL. Accordingly, we adopt an Action Design Research approach where answers are sought by interacting with the practitioners in the studied situations. We contribute by providing informed goals for customization analysis as well as an intervention in terms of a visual analytics tool. We conclude by discussing to what extent this experience can be generalized to product-based evolving SPL organizations other than Danfoss Drives.Open Access funding provided thanks to the CRUE-CSIC agreement with Springer Nature. This work is supported by the Spanish Ministry of Science, Innovation and Universities grant number RTI2018099818-B-I00 and MCIU-AEI TIN2017-90644-REDT (TASOVA). ONEKIN enjoys support from the program 'Grupos de Investigacion del Sistema Univesitario Vasco 2019-2021' under contract IT1235-19. Raul Medeiros enjoys a doctoral grant from the Spanish Ministry of Science and Innovation
Product Line Management with Graphical MBSE Views
Reducing the cost and delay and improving quality are major issues for
product and software development, especially in the automotive domain. Product
line engineering is a wellknown approach to engineer systems with the aim to
reduce costs and development time as well as to improve the product quality.
Feature models enable to make logical selection of features and obtain a
filtered set of assets that compose the product. We propose to use a color code
in feature models to make possible decisions visual in the feature tree. The
color code is explained and its use is illustrated. The completeness of the
approach is discussed.Comment: In Proceedings TiCSA 2023, arXiv:2310.1872
An Agile Process Model for Product Derivation in Software Product Line Engineering
Software Product Lines (SPL) and Agile practices have emerged as new paradigms for developing software. Both approaches share common goals; such as improving productivity, reducing time to market, decreasing development costs and increasing customer satisfaction. These common goals provide the motivation for this research. We believe that integrating Agile practices into SPL can bring a balance between agility and formalism. However, there has been little research on such integration. We have been researching the potential of integrating Agile approaches in one of the key SPL process areas, product derivation. In this paper we present an outline of our Agile process model for product derivation that was developed through industry based case study research
Elimination of constraints for parallel analysis of feature models.
Cross-tree constraints give feature models maximal expressive power since any interdependency between features can be captured through arbitrary propositional logic formulas. However, the existence of these constraints increases the complexity of reasoning about feature models, both for using SAT solvers or compiling the model to a binary decision diagram for efficient analyses.
Although some works have tried to refactor constraints to eliminate them, they deal only with simple constraints (i.e., requires and excludes) or require the introduction of an additional set of features, increasing the complexity of the resulting feature model.
This paper presents an approach that eliminates all the cross-tree constraints present in regular boolean feature models, including arbitrary constraints, in propositional logic formulas.
Our approach for removing constraints consists of splitting the semantics of feature models into orthogonal disjoint feature subtrees, which are then analyzed in parallel to alleviate the exponential blow-up in memory of the resulting feature tree.Work supported by the projects IRIS PID2021-122812OB-I00 (cofinanced by FEDER funds), LEIA UMA18-FEDERJA-157, and DAEMON H2020-101017109; and by Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Automated Reasoning for Multi-step Feature Model Configuration Problems
The increasing complexity and cost of software-intensive
systems has led developers to seek ways of increasing software
reusability. One software reuse approach is to develop
a Software Product-line (SPL), which is a reconfigurable
software architecture that can be reused across projects.
Creating configurations of the SPL that meets arbitrary requirements
is hard.
Existing research has focused on techniques that produce
a configuration of the SPL in a single step. This paper
provides three contributions to the study of multi-step configuration
for SPLs. First, we present a formal model of
multi-step SPL configuration and map this model to constraint
satisfaction problems (CSPs). Second, we show how
solutions to these CSP configuration problem CSPs can be
derived automatically with a constraint solver. Third, we
present empirical results demonstrating that our CSP-based
technique can solve multi-step configuration problems involving
hundreds of features in seconds.Comisión Interministerial de Ciencia y Tecnología TIN2006-00472Junta de Andalucía TIC-253
- …