• Keine Ergebnisse gefunden

Principles of Feature Modeling

N/A
N/A
Protected

Academic year: 2022

Aktie "Principles of Feature Modeling"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

cba

(Hrsg.): , Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn 2019 1

Principles of Feature Modeling

Damir Nešić1, Jacob Krüger2, S,tefan Stănciulescu3, Thorsten Berger4

Abstract: This abstract summarizes our paper with the homonymous title published at the Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) 2019 [Ne19].

Keywords: feature models; modeling principles; software product lines

A software product line is a family of system variants in an application domain, typically engineered as an integrated software platform that allows to reuse and configure each system variant based on a built-in variability mechanism. As thefeatures(and their dependencies) of all system variants are part of a single software platform, product lines are inherently complex. To document and manage this complexity, feature models have become one of the most successful notations. They help organizations to keep an understanding of the platform, and support scoping, planning, development, variant derivation, configuration, and maintenance activities. Still, feature models are challenging to build and maintain: While feature models have been researched for three decades, resulting in various feature-modeling notations as well as automated analysis and configuration techniques, a generic set of modeling principles for building and evolving feature models is still missing. Actually, it is not even certain whether feature models could be engineered based on recurrent principles.

To tackle this problem, we analyzed feature-modeling practices that we triangulated from two different sources. First, we conducted a systematic literature review, based on which we included 31 papers that describe such practices. Second, we interviewed ten industrial practitioners on how they and their organizations build and evolve feature models. As a result, we elicited 34 principles by reading through nearly 190 instances of practices that we identified in the papers and interview transcripts. These principles cover eight phases of feature modeling: planning and preparation (6), training (3), information sources (1), model organization (5), modeling (11), dependencies (2), quality assurance (3), as well as model maintenance and evolution (3). Grounded in empirical evidence, these principles provide practical, context-specific advice on how to perform feature modeling, describe what information sources to consider, and highlight common characteristics of feature models.

The principles are a first step towards our overarching goal of defining a feature-modeling process and help practitioners as well as researchers to understand best practices.

1KTH Royal Institute of Technology, Stockholm 2Otto-von-Guericke-University, Magdeburg 3ABB Corporate Research, Baden-Dättwil 4Chalmers | University of Gothenburg

(2)

2 Damir Nešić, Jacob Krüger, S,tefan Stănciulescu, Thorsten Berger

While analyzing and discussing the principles, we obtained the following insights:

• Most papers report on experiences ofextractinga product line from existing systems.

Therefore, the practices and the principles identified mostly relate to bottom-up feature modeling.

• Some of our principles are applicable only in specific scenarios (e.g., depending on the purpose of the feature model) or represent alternative solutions to the same issue (e.g., splitting a feature model or providing views on it).

• Applying any principle comes with pros, cons, and dependencies to other principles.

For example, using a single feature model facilitates its governance and avoids interface models. However, this will also result in a higher depth of the feature model and more complex cross-tree constraints, which challenges maintenance activities.

• Planning and training activities are rarely reported in our sources, and mainly in interviews with tool-vendors or in industrial case studies. So, while feature modeling is considered intuitive, there are apparent efforts for training to support an organization in defining the scope and purpose of its feature model.

• The principles we identified are based on papers comprising ten different feature- model notations employed in 14 domains. Still, none of the principles requires to rely on a specific notation or is applicable only to a specific domain, indicating that the principles can be applied by any organization.

The principles and insights we describe in our paper are highly valuable for practitioners to build and evolve feature models, and for researchers to design supportive techniques.

Currently, we ordered the principles in the most reasonable sequence of steps for creating a feature model, which does not represent an actual modeling process. For instance, some principles are alternatives, depend on each other, can be optional or depend on an organization’s context. So, as future work, we aim to further evaluate the principles considering their applicability, to synthesize an executable modeling process, and to validate this process with our industrial partners.

Bibliography

[Ne19] Nešić, Damir; Krüger, Jacob; Stănciulescu, S,tefan; Berger, Thorsten: Principles of Feature Modeling. In: Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ESEC/FSE. ACM, pp. 62–73, 2019.

Referenzen

ÄHNLICHE DOKUMENTE

and Chaum, Cr´ epeau, Damg˚ ard [CCD88] showed the existence of information the- oretically secure general multiparty computation protocols. Both papers proved that there exists

This variation can come in the form of genetic differences, individual phenotypic plasticity (potential for an organism to produce different pheno- types in different

Modeling Finite Ionic Strengths: Poisson-Boltzmann Theory In Section 2.1, we introduced the basics of implicit solvation methods by deriving the generalized Poisson equation and

In the following, we focus on our adaptations for feature modeling, which includes introducing a conflict relation (Section 5) as well as a conflict resolution process (Section

The GRACE system uses solely the operation metadata to determine conflicts. However, no complex syntactic or semantic conflicts can be detected this way, because the underlying

In this paper, we present a study of feature-modeling practices we identified from a systematic lite- rature review of 31 papers and ten interviews with experts who created

For instance, on the one hand, pure::variants can be considered the worst tool for developers with weak background regards to three functionalities (i.e.,

Additionally, given a feature model and a certain mapping to implementation artifacts, we would need to remove all abstract features manually from the feature model, before we