Abstract
Feature models are frequently used to capture the knowledge about configurable software systems and product lines. However, feature modeling of large-scale systems is challenging as models are needed for diverse purposes. For instance, feature models can be used to reflect the perspectives of product management, technical solution architecture, or product configuration. Furthermore, models are required at different levels of granularity. Although numerous approaches and tools are available, it remains hard to define the purpose, scope, and granularity of feature models. This paper first reports results and experiences of an exploratory case study on developing feature models for two large-scale industrial automation software systems. We report results on the characteristics and modularity of the feature models, including metrics about model dependencies. Based on the findings from the study, we developed FORCE, a modeling language, and tool environment that extends an existing feature modeling approach to support models for different purposes and at multiple levels, including mappings to the code base. We demonstrate the expressiveness and extensibility of our approach by applying it to the well-known Pick and Place Unit example and an injection molding subsystem of an industrial product line. We further show how our approach supports consistency between different feature models. Our results and experiences show that considering the purpose and level of features is useful for modeling large-scale systems and that modeling dependencies between feature models is essential for developing a system-wide perspective.
Highlights
Introduction and motivationFeature modeling was originally proposed as part of the FODA method to elicit and represent commonalities and variability of systems’ capabilities in a specific domain [41]
We extended this work in several ways: We describe the tool-supported FORCE modeling approach we developed based on the results of the case study, including details on feature-to-code mappings
Regarding RQ2—What are the characteristics of specific modeling spaces?— we report detailed model space characteristics about KePlast’s problem and configuration space feature models, which are based on product maps and the custom-developed configurator, i.e., artifacts of high maturity
Summary
Introduction and motivationFeature modeling was originally proposed as part of the FODA method to elicit and represent commonalities and variability of systems’ capabilities in a specific domain [41]. Regarding the purpose of feature models, researchers have distinguished different modeling spaces [17,42]: problem space features generally refer to systems’ specifications established during domain analysis and requirements engineering; solution space features refer to the concrete implementation of systems created during development, often by defining mappings of the features to code, whereas configuration space features exist to ease the derivation of products by resolving variability. Dependencies between different feature models need to be managed [46] It is often unclear how problem space features describing customer-facing capabilities and their variability are related to solution space features implementing this functionality; or how configuration space features are related to configuration options used by service engineers for customizing and fine-tuning a system
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have