Semantic and multiple-view feature modelling: towards more meaningful product modelling (original) (raw)

Separating Concerns in Feature Models: Retrospective and Support for Multi-Views

Domain Engineering, 2013

Feature models (FMs) are a popular formalism to describe the commonality and variability of a set of assets in a software product line (SPL). SPLs usually involve large and complex FMs that describe thousands of features whose legal combinations are governed by many and often complex rules. The size and complexity of these models is partly explained by the large number of concerns considered by SPL practitioners when managing and configuring FMs. In this chapter, we first survey concerns and their separation in FMs, highlighting the need for more modular and scalable techniques. We then revisit the concept of view as a simplified representation of an FM. We finally describe a set of techniques to specify, visualize and verify the coverage of a set of views. These techniques are implemented in complementary tools providing practical support for feature-based configuration and large scale management of FMs.

Relating Feature Models to Other Models of a Software Product Line

Lecture Notes in Computer Science, 2010

Software product lines using feature models often require the relation between feature models in problem space and the models used to describe the details of the product line to be expressed explicitly. This is particularly important where automatic product derivation is required. Different approaches for modelling this mapping have been proposed in the literature. However a discussion of their relative benefits and drawbacks is currently missing. As a first step towards a better understanding of this field, this paper applies two of these approaches-FeatureMapper as a representative of declarative approaches and VML* as a representative of operational approaches-to the case study. We show in detail how the case study can be expressed using these approaches and discuss strengths and weaknesses of the two approaches with regard to the case study.

Semantic Feature Modelling

Almost all current feature modelling systems are parametric, history-based modelling systems. These systems suffer from a number of shortcomings with regard to the modelling process. In particular, they lack a complete specification of feature semantics, and therefore fail to maintain the meaning of the features during modelling. Also, modelling operations sometimes are hampered by the model history, and occasionally even have ill-defined semantics. In the semantic feature modelling approach presented here, the semantics of features is well defined and maintained during all modelling operations. The result of these operations is independent of the order of feature creation, and is well defined. The specification of feature classes, the structure and functionality of the feature model, in particular the Cellular Model, and the model validity maintenance scheme are described. The advantages and disadvantages of the approach, compared to current feature modelling approaches, are pointed out.

Relating Feature Models to Other Models of a Software Product Line - A Comparative Study of FeatureMapper and VML

2010

Software product lines using feature models often require the relation between feature models in problem space and the models used to describe the details of the product line to be expressed explicitly. This is particularly important, where automatic product derivation is required. Different approaches for modelling this mapping have been proposed in the literature. However, a discussion of their relative benefits and drawbacks is currently missing. As a first step towards a better understanding of this field, this paper applies two of these approaches—FeatureMapper as a representative of declarative approaches and VML* as a representative of operational approaches—to the case study. We show in detail how the case study can be expressed using these approaches and discuss strengths and weaknesses of the two approaches with regard to the case study.

ADVANCED PRODUCT LINE FEATURE MODELLING USING FD2

Product Line Engineering (PLE) is a methodology for creating a collection of similar software systems from a shared set of software assets. A key concept in PLE is feature modelling, which is used during entire product line (PL) development process to represent all PL products in terms of features, as well as to manage software feature variability and complexity, and to document the PL. Feature models are represented graphically by means of Feature Diagrams (FD). This paper analyzes FD notations and feature modelling tools, and proposes a new feature modelling environment FD2, which supports wide FD editing capabilities, configuration of FD models, as well as integration with UML and generation of UML class diagrams.

Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line

Lecture Notes in Computer Science, 2002

Reengineering a legacy product line has been addressed very little by current product line research activities. This paper introduces a method to investigate feature dependencies and interactions, which restricts the variants that can be derived from the legacy product line assets. Reorganizing the product line assets with respect to new requirements requires more knowledge than what is easily provided by the classical feature-modeling approaches. Hence, adding all the feature dependencies and interactions into the feature tree results in unreadable and unmanageable feature models that fail to achieve their original goals. We therefore propose two complementary views to represent the feature model. One view shows the hierarchical refinement of features similar to common featuremodeling approaches in a feature tree. The second view describes what kind of dependencies and interactions there are between various features. We show two examples of feature dependencies and interactions in the context of an engine-control software product line, and we demonstrate how our approach helps to define correct product configurations from product line variants.

A Feature-Oriented Modelling Language and a Feature-Interaction Taxonomy for Product-Line Requirements

2013

Many organizations specialize in the development of families of software systems, called software product lines (SPLs), for one or more domains (e.g., automotive, telephony, health care). SPLs are commonly developed as a shared set of assets representing the common and variable aspects of an SPL, and individual products are constructed by assembling the right combinations of assets. The feature-oriented software development (FOSD) paradigm advocates the use of system features as the primary unit of commonality and variability among the products of an SPL [2]. A feature represents a coherent and identi able bundle of system functionality [89], such as call waiting in telephony and cruise control in an automobile. Furthermore, FOSD advocates feature-oriented artifacts (FOAs); that is, software-development artifacts that explicate features, so that a clear mapping is established between a feature and its representation in di erent artifacts. The thesis rst identies the problem of devel...