Feature Models Preconfiguration Based on User Profiling

Feature modeling is used to express commonality and variability among a family of software products called the software product line. To offer customized products to their customers, organizations need to build packages of features taking into consideration customer needs and preferences. This paper presents a platform named SPLP (Software Product Line Profiling) which allows pre-configuring feature models through the restriction of the configuration space to meet the requirements of a specific market segment. Considering that concerns and preferences of this latter are a key criteria to achieve a tailored pre-configuration, authors propose the integration of user profiling in the SPLP platform through the definition of a user profile model describing information about the user and the products he is used to consume. This information is then exploited by the SPLP platform to perform an automated pre-configuration according to each user profile requirements and preferences


Introduction
Feature modeling was proposed by Kang, Cohen, Hess, Novak, & Peterson (1990) as part of the FODA (Feature Oriented Domain Analysis) method as a mean to express commonality and variability among products within the same software product line.One of the main activities in a classical SPLE process is the product configuration which consists of deriving a specific product form the whole feature model according to a specific customer needs.It is performed through the selection of a valid subset of features from the feature model with respect to group cardinalities, feature cardinalities and cross-tree constraints.
Looking at the history of use of the software product line, organizations can note that some features are generally not selected while deriving products intended for some specific market segments while the same features are always included in the product configurations intended for another market segment.This fact incite these organizations to go through a customization process by proposing packages of features stemming from the overall feature model and responding to a specific set of requirements shared by a whole market segment, before performing a product configuration meeting needs of an individual customer belonging to this market segment.This process of massive customization is called pre-configuration in the rest of this paper.
To allow a tailored pre-configuration of the feature model ensuring that only features relevant to a specific market segment are available for selection, organizations need to take into consideration the specific concerns of each market segment as a key criteria such as: Business concerns (e.g. in case of establishing a pricing strategy intended for different market segments), legal concerns (e.g. for privacy policy issues shared within a specific market segment) or technical concerns to respect the technical constraints required by a specific market segment (see Figure 1).
On the other side, user profiling is an established technique allowing to capture information about groups or communities of users and their domain of interest and to gather this information in user profiles as presented by Kanoje, Girase, & Mukhopadhyay (2015).Authors believe that these user profiles are the best representation of the different market segments targeted by the feature model to be pre-configured.For this purpose, authors propose in this paper a platform called SPLP for software product line profiling integrating a user profile model.

Contributions:
In this paper, authors make use of advantages of user profiling in feature models pre-configuration through the integration of a user profile model generated from the application of a data mining algorithm on data related to the software product line under consideration.Integrating such a model in the SPLP platform facilitates the task of the package developer as he has to specify only technical requirements of the target market segment by simply assigning values to the dimensions specified in the user profile model without worrying about concerns or preferences of other nature (e.g. business and legal concerns).According to these values ranges, the user profile for whom the offer is designed is determined to guide the rest of the pre configuration process according to the target user profile preferences.To bridge the semantic gap between the dimensions in the user profile model and the corresponding features in the feature model, a domain ontology model is used.Thus, an automated feature selection is performed thanks to the mapping relationships and this selection is refined using the appropriate decision rules.In fact, determining the current user profile allows to invoke the right decision rule for a tailored pre-configuration.
To illustrate this approach, authors consider as an example a travel agency willing to offer customized packages of trips and related touristic services to different market segments as a mean to boost his marketing strategy and increase its sales.These packages stem from the profiling of an input feature model representing the different services offered by the travel agency such as flights, accommodations, cruises, etc.These packages are intended for different market segments requiring different needs and sharing a common set of preferences.These market segments and their preferences are determined thanks to the user profiling process performed based on data mining techniques applied on online reservation platforms and tourism related websites such as Booking.com, Kayak, Expedia, Tripadvisor, etc.The following key challenges are then to be tackled: • C1: Enabling the construction and identification of the different user profiles targeted by the software product line under consideration and their related preferences.
• C2: Allowing a user friendly and automated selection of features for the pre-configuration of the feature model • C3: Providing a decision support for feature selection refinement taking into consideration the different target user profiles preferences • C4: Consistency checking of the pre-configured feature model.Outline: This paper is organized as follows: Section 2 presents a set of core concepts that will be used along the paper.Section 3 presents the SPLP Platform integrating user profiling and the involved metamodels.Related work and a comparative assessment regarding the proposed approach are reported in section 4. Finally, section 5 concludes the paper

On Domain Requirements Engineering in SPLE
The origins of the SPLE paradigm reach back to the industrial field where the reuse-based product line concept was widely adopted.Applied to the software engineering development process as proposed by Kang et al. (1990), this paradigm aims at building software based on reusable core assets leading to lower costs, shorter time-tomarket, and higher quality and reliability, since a family of products is generated instead of developing them one by one from scratch as explained by Benavides, Segura & Ruiz-Cortés (2010).
According to Pohl, Böckle, & van Der Linden (2005), the product line is defined as a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market or mission, but that still show distinct and different characteristics.
To capture these commonalities and variability among the members of the same software product family, the SPLE process relies on variability management as a key activity (Pohl et al., 2005).In fact, variability modeling is part of the domain engineering phase which deals with the development and maintenance of reusable core assets in contrast to application engineering which is about using those assets in order to derive individual software products.
A well-known approach for variability modeling is Feature Models (FM) introduced as part of Feature Oriented Domain Analysis (FODA) proposed by Kang et al. (1990).In FODA, a FM is defined as a tree structure representation of features-"a prominent or distinctive user-visible aspect, quality or characteristic of a software system or systems- (Kang et al., 1990) and the relationships between them.A feature can be either mandatory, optional, alternative (Xor-group) or part of an Or-group.
The selection or deselection of features is called product configuration.Authors in this work focus more on preconfiguring a feature model to gather features usually requested by a specific market segment called the user profile in this work, rather than configuring it to derive an individual product meeting needs of a specific customer.
Thus, specifying the requirements of these groups of users (user profiles) is a central activity.To express such requirements, the FODA notation in this paper is extended with features cardinalities, features specific attributes and profiling specific attributes.Number of extensions were proposed in the literature to the original FODA notation.In fact, Cardinality-based feature models supporting both feature cardinalities and group cardinalities was proposed by Czarnecki, Helsen, & Eisenecker (2005).On the other side, several authors proposed the inclusion of attributes as a mean to specify non functional properties of different types (e.g.integer, string,...) in the FM (Czarnecki & Kim, 2005;Benavides, Trinidad, & Ruiz-Cortés, 2005;Batory, Benavides &, Ruiz-Cortes, 2006).Authors in this paper base the proposed extension on the FM metamodel proposed by Quinton, Romero, & Duchien (2013), and above all propose the use of profiling specific attributes to allow a tailored feature model pre configuration in response to a specific market segment needs.

On User Profiling
User profiling has gained a lot of interest in computer science especially in the context of personalization where systems need to understand more about the user and use this knowledge in order to provide him with the most appropriate products and services.Capturing information about users and their interest is the main function of user profiling.Several steps in this latter find their origins in the knowledge data discovery model (Fawcett & Provost, 1996) and are evolving with data mining and machine learning approaches.Most of research works have been done on profiling in the field of recommender systems and various profiling techniques have evolved around the time.Three main approaches are used for user profiling: explicit, implicit and hybrid (Kanoje et al., 2015).Explicit user profiling approach includes explicitly filling information from the user through the use of online forms and surveys as explained by Poo, Chng, & Goh (2003).This approach presents many limitations as the user may prefer not filling the forms because of the tediousness of this task or because of the private aspect of his information.Besides some users may provide fraudulent or wrong information about themselves.Hence, the advent of the implicit user profiling which aims to retrieve the user's information from different sources especially in social networks (Poo et al., 2003).The hybrid approach allows to perform a more efficient profiling as it takes into consideration both the static characteristics about a user and also goes retrieving its behavioral information in other sources.
The user profiling process is divided into three main subtasks: profile extraction, profile integration and user interest discovery.Profile extraction aims at extracting the useful information about a user from different sources such as web (Tang, Yao, D. Zhang, & J. Zhang, 2010), social media (Li, Ritter, & Hovy, 2014) and user behavior through web pages (Hijikata, 2004).The extracted information about users may present some ambiguities and duplication as it stems from heterogeneous sources.That's why it is important to perform a data integration (Tang et al. , 2010) before proceeding to the interest discovery based on filtering techniques such as content based filtering and collaborative filtering (Middleton, Shadbolt, & De Roure, 2003).

Ontologies: The Semantic Bridge between User Profiles and Feature Models
To allow an automated feature selection taking into consideration the user profiles preferences identified in the user profile model, these latter should be linked to their corresponding features.Hence the need of ontologies which could play the role of a semantic bridge linking the user profile model to the feature model as proposed in this paper.
As reported in (Dermeval et al., 2015), an ontology can be defined as an ''explicit specification of a conceptualization''.It represents the semantics of concepts within a domain and the relationships between them in a an abstract and simplified way.This representation is both formal and shared.It is formal as it can be logically reasoned using description logic based approaches, and shared because it should be agreed by actors within the domain to be represented (Guarino, 1998).An ontology is generally represented using one of the variants of the Web Ontology Language (Antoniou & Van Harmelen, 2009).
Several works have shown a great interest in combining ontologies and feature modeling.In fact, two major facts were behind the adoption of semantic web ontology engineering in feature modeling.The first fact is the strong similarity existing between these two paradigms as both of them represent concepts in a particular domain and define how various properties relate them.In fact, Czarnecki, Hwan, Kim, & Kalleberg (2006) show how the various proposed extensions to feature modeling (e.g.attributes, cloning) increase the descriptive power of feature models and bring it closer to that of ontologies.Second, the absence of a formal semantics of features and feature modeling on one hand and the expressive power and formal semantic of ontologies on the other hand has sparked the interest of several works to combine both of them as complementary approaches.This combination was mainly investigated for the purpose of checking the validity of feature configurations based on the constraints specified in a feature model.These works conceived ontologies for feature modeling either based on OWL classes and properties as proposed in (Wang, Li, Sun, Zhang, & Pan, 2007;Lee, Kim, Song, & Baik, 2007) or based on OWL individuals as proposed in (Tenório, Dermeval, & Bittencourt, 2014).
On the other side, using an ontology to model the user profile has already been applied to various domains like web search (Trajkova & Gauch, 2004;Lawrence, 2000) and personal information management (Katifori, Poggi, Scannapieco, Catarci & Ioannidis, 2005).Such ontologies are application-specific as they are created specifically for these domains.Golemati, Katifori, Vassilakis, Lepouras, & Halatsis (2007) propose a standard ontology for modeling user profiles providing a general common structure to adapt to needs of every application and facilitate the communication between them.

SPLP Overview
Figure 2 depicts the SPLP (Software Product Line Profiling) platform which is composed of three main layers to allow a tailored and reliable feature model pre-configuration.SPLP platform involves two main stakeholders, domain experts and package developers.The domain experts are responsible for representing the commonalities and variability within the SPL to be profiled through a feature model extended with cardinalities and attributes.They are also responsible for defining the knowledge base including the domain ontology model, the decision rules and the mapping relationships used for automated feature selection refinement.On the other side, the package developers are the end users of the SPLP platform.They interact with it through the UI layer and they are responsible for designing offers or packages involving a subset of features stemming from the overall feature model and meeting the specific target market segment requirements.

Figure 2. SPLP Platform Overview
The following sub-sections describe in details each one of these layers while presenting the different steps and paradigms involved in each one of them.

The User Interface Layer
The User interface (UI) layer is the entry point to the SPLP platform.In fact, it allows the representation of criteria distinguishing between the different market segments targeted by the software product line under consideration.Authors name these market segments as user profiles in the context of this work.In fact, each user profile represent a user community sharing a common set of interests and preferences which distinguish it from the rest of the market.Authors propose to represent the information related to these user profiles and their corresponding preferences in a dedicated model called the user profile model (UPM).
The UI layer is then nothing than a user friendly representation of this UPM displayed to the package developer in the form of two blocks.The first one represents information related to the identification of the target market segment for which the package is designed, while the second allows the package developer to specify the technical requirements by selecting, among a set of predefined preferences identified in the UPM, the ones that fit the most the requirements and interests of the target market segment.The predefined preferences are identified in the UPM thanks to a data mining technique applied over different web sources related to the SPL domain and are given as guidelines to the package developer in order to facilitate him the task of package design so that he won't be overwhelmed by the big number of features to be selected in the underlying feature model.Thus, the UI layer hides the complexity of the feature model to be pre-configured by displaying only preferences that need to be arbitrated by the package developer avoiding him thus the tedious and error-prone task of manually selecting the corresponding features one by one.The preferences specified by the package developer are then completed and validated against those specified in the UPM.
Hence the importance of the user profile construction which is considered as a preliminary and crucial step towards a user friendly and reliable feature model pre-configuration.Referring to the context of this work related to tourism activities and travel agencies, online reservation platforms such as Booking.com,Trip advisor, Kayak, Expedia, etc. seem to be an excellent source of information for the construction of such user profiles as these platforms are more and more solicited by users in order to organize their trips.On the other hand, organizations are nowadays more and more aware of the role of data mining techniques for knowledge discovery to search for interesting, novel and useful patterns in data.Thus, authors consider that applying data mining techniques on online reservation platforms is very useful to construct user profiles and anticipate customer demands for products of every organization.
Several techniques have been successfully adopted in data mining such as neural networking, decision tree/ rule induction, association rules and clustering techniques (McGarry, Martin & Addison, 2005).Authors intend to use conjunctive rules including association and classification rules as they are simple and intuitive way to represent user behavior.Besides, many algorithms are proposed in the literature to discover these rules such as Apriori for association rules and CART (Classification and Regression Trees) for classification rules.Applying such techniques allow the construction of the user profile model according to the meta model depicted in Figure 3.
The UPM is composed of a set of dimensions where each dimension may have a set of subdimensions.There are two types of dimensions the UserIdentificationDimension and the UserPreferenceDimension.The first one is about the demographic information related to a specific market segment (user community) such as: Age range, gender, Annual income range, geographical location, Area of interest, etc. which may be of different types, while the second one describes the characteristics distinguishing the products generally consumed and preferred by this market segment.The accommodation location, the preferred mean of transport, the catering mode, etc. are some examples of such preferences in the context of the motivating example presented in this paper.The UserPreferenceDimension may represent non functional preferences and it is then said to be a QuantifiableUserPreferenceDimension whose value and its related unit can be specified.

The Business Layer
This layer is considered as a knowledge base elaborated by the domain experts.It is mainly composed of the Domain Ontology Model (DOM), the mapping relationships linking UPM to the DOM and the DOM to the FM respectively, and the decision rules used for the purpose of the feature selection refinement based on the profiling specific attributes extending the feature model to be preconfigured.Each one of these artifacts is described in the following.

3.3.1The Domain Ontology Model
The Domain Ontology Model is a formal representation of a specific domain knowledge.As depicted in Figure 4, it is composed of a set of concepts and relationships between them describing the knowledge related to functional requirements (Concept metaclass) and non functional requirements (Measurable Concept metaclass) of the global domain targeted by the SPL under consideration: the tourism domain in the motivating scenario presented in this paper.Each concept may have a set of Subconcepts.A concept whose quantity value and its related unit can be specified is said to be a Measurable concept (e.g. 10 days for stay duration).As mentioned previously, this model plays the role of a semantic bridge in the SPLP Platform as it allows to unify the vocabulary used to express preferences stemming from heterogeneous sources and bring it closer to the one adopted by domain experts to represent features in the FM.To perform such a connection, authors appeal to mapping relationships.

The Mapping Relationships
To allow an end-to-end platform integration, authors propose to use mapping relationships allowing to link the preferences in the UPM to concepts in the DOM on one hand, and to link these latter to the features in the FM on the other hand.Establishing such a mapping allows the automation of the feature selection which is performed in a user friendly and transparent way for the package developer avoiding him the tedious and error-prone task of manually selecting the features one by one in the feature model to be pre-configured.For example, this latter has only to select the catering mode preference of the target market segment, so that the corresponding features such as snack, hotel restaurants, etc. would be automatically retrieved thanks to the link established through the concept Food.Note that the preference, the feature and the concept don't have necessarily the same name.That's why such a role of establishing semantic links between the three models is assigned to the domain expert who performs this mapping in a semi-automated way based on a data dictionary.Similarly, the quantifiable preferences are selected and the range of their values is specified by the end user according to the target user profile needs allowing to set the value of their corresponding feature attributes to the right range.

The Decision Rules
Thanks to the mapping relationships, a set of features is selected automatically from the feature model and their related non functional properties ranges are set to the appropriate values by the package developer.As several features may correspond to the same concept, and by transitivity to the same preference, business conceptual conflicts may occur.The authors appeal thus to decision rules as a decision support mechanism used to refine the feature selection in accordance with business concerns of the target market segment.Decision rules are specified to express the business concerns of the target market segment which are different from the technical ones.In fact, the package developer may not be aware of business concerns of the target market segment such as cost, safety issues, etc., as he is only responsible for the technical requirements specification at the UI layer level.
Decision rules are used in the SPLP platform as a formalization of the domain experts knowledge representing guidelines for pre-configuration refinement according to business concerns of the different target users profiles.In the context of the motivating scenario presented in this paper, decision rules may involve criteria such as cost, service provision time, incident rate of a touristic destination, etc. corresponding to non functional requirements which can extend all features presenting potential business conceptual conflicts, called profiling specific attributes as it will be discussed further in this paper.
Decision rules are specified as optimization functions aiming at maximizing or minimizing a given profiling specific attribute.The decision rule specification proposed by the authors is based on the CoCo Domain Specific Language (DSL) proposed in (Ochoa, González-Rojas & Thüm, 2015).According to this DSL syntax, a block of one or more decision rules is specified by the domain expert for each target user profile (TUP).Decision rules should be defined below the label TUPidentifier_Decision Rules.Each rule has an identifier followed by the desired optimization function represented by the terminal symbols maximize or minimize, and the affected profiling specific attribute identifier.Several rules may be specified within the same decision rules block intended for a specific target user profile.Finally, the keyword execute is used to invoke the decision rules specified in the decision rule block.Logical operators AND and OR could be used in order to combine the execution of the decision rules specified in the decision rules block in different ways.
To invoke the right decision rule block, the active user profile should be first determined based on the market segment identification section in the UI layer specified by the package developer.
For example, for the SafetyMinded user profile, the following decision rule block may be specified by the domain expert:

The Resource Layer
This layer contains the resources on which operates the SPLP platform: the feature model to be pre-configured.As mentioned in section 2, The SPLP platform relies on a feature model extended with feature cardinalities and attributes based on the metamodel proposed by Quinton et al. (2013).Besides, authors propose two kinds of attribute-based extensions: feature specific attributes and profiling specific attributes.These latter are used to represent the business concerns related to a specific market segment and used as variables in decision rules in order to refine the feature selection performed automatically using the mapping relationships.
The solid boxes in Figure 5 represent the well-known metaclasses adopted in the original FODA notation while the dotted ones depict the proposed extension.This latter is mainly concerned with the addition of the Attribute, ProfilingAttribute, Cardinality, and ExtendedConstraint metaclasses.In fact, a feature may have two types of attributes: feature specific attributes to specify non functional properties related to features (e.g. the stopover duration) and/or profiling specific attributes providing additional information about features that may be used by the decision rules in order to refine the feature selection according to the business concerns of the target user profile.The feature metamodel presented in this paper allows also the definition of both feature cardinalities and group cardinalities.Authors in this paper focus more on Feature Cardinality specifying the number of instances of a feature included in the same product configuration rather than Group Cardinality specifying the number of child features a parent feature may have.These extended constraints are used to ensure a consistent feature model pre-configuration, as they allow to retrieve features in post-conditions whom pre-conditions are features contained in the pre-configuration.The postcondition feature is then added to the pre-configuration and its mandatory attribute is set to true or false depending on whether the pre-condition is satisfied or not.If this latter is not satisfied, the post-condition feature is added to the pre-configuration and the whole constraint is integrated in the profiled feature model.
An example of such constraint could be as follows: Luggage ϵ [4,*] => Luggage Handling (1) According to the constraint (1), a valid pre-configuration is obtained if and only if the number of instances of luggage feature is greater or equal than four then the luggage handling feature should also be included in the preconfiguration and its mandatory attribute should be set to true to guarantee that the feature would be selected in all configurations intended for the target user profile under consideration.Such a detail may be neglected by the package developer during the feature model pre-configuration and lead to an inconsistency.Thanks to this feature model constraints handling, the SPLP platform allows the generation of consistent profiled feature models obeying the constraints specified in the original feature model.

Related Work
Several works have been proposed in the context of feature model pre-configuration.Schroeter, Lochau, & Winkelmann (2012) present an approach for pre-configuring feature models to create multi-perspectives allowing the restriction of the configuration choices on feature models for different stakeholders.The creation of such perspectives is based on a view model used to associate features and business concerns related to each stakeholders group.The proposed pre-configuration in this work is only concerned with features and does not allow the preconfiguration of attributes values and cardinalities ranges.Nieke, Mauro, Seidl, & Yu (2016) introduce the notion of user profiles as a mean for SPL reconfiguration at runtime based on a context-aware reconfiguration engine providing valid configurations regarding contextual information and if necessary reconfiguring the SPL while trying to maximize the preferences of the user profile under consideration.The notion of user profiles used by Nieke et al. (2016) is much more concerned with the explicit preferences elicited by a specific user rather than the ones of a user community as proposed in the SPLP platform.Another work (Krueger & Clements, 2017) focus more on pre-packaging features in large scale SPL as a mean for managing feature models in large and complex organizations depending on which business role (developer, test engineer, product development manager) is going to deal with the feature-based product line.In fact, Krueger et al. (2017) propose a feature ontology based on layers of abstraction.Each of these layers bundles large number of available choices into smaller number of pre-packaged features available for selection for a specific business role in the organization.Comparing this work to the SPLP platform, a similarity can be observed concerning the use of the ontology as a mean to bundle features in order to provide a suitable view on the feature model for every kind of end users of the platform hiding thus the complexity of the underlying feature model.Ochoa et al. (2015) focuse more on solving conflicts among configurations performed by different stakeholders on the same feature model.This approach is based on a domain-specific language named CoCo describing business-related decision rules applied on non-functional properties such as cost, time, and human resources specified as feature attributes in the feature model.This approach deals with the configuration of the feature model under consideration in order to derive a specific product variant in opposition to the approach proposed in this paper which intends to propose a pre-configuration for a whole target user profile.Besides, in this work end users deal directly with the feature model to configure and could then be overwhelmed by the big number of features to select in case of large scale feature models in opposition to the SPLP platform which proposes the business layer as a middle layer allowing an intuitive and user friendly features selection.
Other works, focus more on the consistency checking of feature configurations using ontology based feature modeling approaches.The intersection of such works with the one proposed in this paper is bi-dimensional: first the combined use of ontologies and feature models in the same approach and second the feature models constraints handling in order to guarantee consistent feature selections.In fact, Santoro, Pino, & Spampinato (2012) present an OWL-based inferential engine for automatically creating a valid feature configuration from some users defined features.Another OWL-based approach was proposed by Kaviani, Mohabbati, Gasevic, & Finke (2008) to enrich feature models of a ubicomp environment with ontologies relating the required Non Functional Requirements (NFR) of offered services to the capabilities of requesting devices allowing the selection of services based on user goals and device capabilities.Some Other works consider feature models as views on ontologies and propose a semantic and syntactic mapping between feature models elements and ontology elements to solve semantic conflicts in potentially overlapping feature models, whereas feature models allows scoping and configuring ontologies from different perspectives.This mapping is used in the SPLP Platform for the purpose of logical grouping of several features in one conceptual element in the ontology model allowing the intuitive target user profile requirements specification (Czarnecki et al., 2006) Table 1 gives a comparative assessment between works above and the proposed SPLP Platform regarding key challenges identified previously:

Conclusion
This paper presented a platform named SPLP for feature model pre-configuration based on user profiles and their related preferences.The SPLP platform is a user-centric one allowing the end user to specify first the target user profile technical requirements in an intuitive way based on the preferences identified in the user profile model.Authors propose to generate this latter through the application of a data mining technique on data collected from online reservation platforms in the context of a motivating scenario related to tourism.An extension of the original feature model, a domain ontology model and the corresponding mapping relationships serving to link the different metamodels involved in the SPLP platform were also proposed in this paper.The domain experts knowledge related to business concerns of the target user profile is also included in the proposed platform by the mean of specific decision rules allowing the domain experts guidelines integration for pre-configuration refinement.
Authors intend in future works to focus more on the user profile construction step through the use of conjunctive rules including association and classification rules.

Figure 1 .
Figure 1.Integrating User Profiles in the Feature model pre-configuration process

Figure 3 .
Figure 3.The User Profile Meta Model

Figure 4 .
Figure 4.The Domain Ontology Meta Model

Figure 5 .
Figure 5.The Feature Meta Model

Table 1 .
A comparative assessment of related works regarding key challenges