Context and motivation: Software Product Lines (SPL) enable the creation of software product families with shared core components using feature models to model variability. Choosing features from a feature model to generate a product may not be sufficient in certain situations because the application engineer may need to be able to decide on configuration time the system's elements to which a certain feature will be applied. Therefore, there is a need to select which features have to be included in the product but also to which of its elements they have to be applied. Objective: We introduce local features that are selectively applied to specific parts of the system during product configuration. Results: We formalize local features using multimodels to establish relationships between local features and other elements of the system models. The paper includes examples illustrating the motivation for local features, a formal definition, and a domain-specific language for specification and implementation. Finally, we present a case study in a real scenario that shows how the concept of local features allowed us to define the variability of a complex system. The examples and the application case show that the proposal achieves higher customization levels at the application engineering phase.
翻译:上下文与动机:软件产品线(SPL)通过使用特征模型来建模可变性,从而实现具有共享核心组件的软件产品族创建。在某些情况下,从特征模型中选择特征以生成产品可能并不充分,因为应用工程师可能需要在配置时决定某个特征将应用于系统的哪些元素。因此,不仅需要选择产品中应包含哪些特征,还需要确定这些特征应应用于产品中的哪些元素。目标:我们引入局部特征,这些特征在产品配置期间选择性地应用于系统的特定部分。结果:我们使用多模型对局部特征进行形式化,以建立局部特征与系统模型其他元素之间的关系。本文包含说明局部特征动机的示例、形式化定义以及用于规范与实现的领域特定语言。最后,我们通过一个真实场景中的案例研究,展示了局部特征概念如何使我们能够定义复杂系统的可变性。示例与应用案例表明,该方案在应用工程阶段实现了更高的定制化水平。