A formal framework for software product lines

被引:7
|
作者
Andres, Cesar [1 ]
Camacho, Carlos [1 ]
Llana, Luis [1 ]
机构
[1] Univ Complutense Madrid, Dept Sistemas Informat & Computac, Madrid, Spain
关键词
Formal methods; Software product lines; Feature models;
D O I
10.1016/j.infsof.2013.05.005
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: A Software Product Line is a set of software systems that are built from a common set of features. These systems are developed in a prescribed way and they can be adapted to fit the needs of customers. Feature models specify the properties of the systems that are meaningful to customers. A semantics that models the feature level has the potential to support the automatic analysis of entire software product lines. Objective: The objective of this paper is to define a formal framework for Software Product Lines. This framework needs to be general enough to provide a formal semantics for existing frameworks like FODA (Feature Oriented Domain Analysis), but also to be easily adaptable to new problems. Method: We define an algebraic language, called SPLA, to describe Software Product Lines. We provide the semantics for the algebra in three different ways. The approach followed to give the semantics is inspired by the semantics of process algebras. First we define an operational semantics, next a denotational semantics, and finally an axiomatic semantics. We also have defined a representation of the algebra into propositional logic. Results: We prove that the three semantics are equivalent. We also show how FODA diagrams can be automatically translated into SPLA. Furthermore, we have developed our tool, called AT, that implements the formal framework presented in this paper. This tool uses a SAT-solver to check the satisfiability of an SPL. Conclusion: This paper defines a general formal framework for software product lines. We have defined three different semantics that are equivalent; this means that depending on the context we can choose the most convenient approach: operational, denotational or axiomatic. The framework is flexible enough because it is closely related to process algebras. Process algebras are a well-known paradigm for which many extensions have been defined. (C) 2013 Elsevier B.V. All rights reserved.
引用
收藏
页码:1925 / 1947
页数:23
相关论文
共 50 条
  • [1] A formal model for Multi Software Product Lines
    Damiani, Ferruccio
    Lienhardt, Michael
    Paolini, Luca
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2019, 172 : 203 - 231
  • [2] A Formal Framework of Software Product Line Analyses
    Castro, Thiago
    Teixeira, Leopoldo
    Alves, Vander
    Apel, Sven
    Cordy, Maxime
    Gheyi, Rohit
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (03)
  • [3] FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing
    Amador Durán
    David Benavides
    Sergio Segura
    Pablo Trinidad
    Antonio Ruiz-Cortés
    [J]. Software & Systems Modeling, 2017, 16 : 1049 - 1082
  • [4] FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing
    Duran, Amador
    Benavides, David
    Segura, Sergio
    Trinidad, Pablo
    Ruiz-Cortes, Antonio
    [J]. SOFTWARE AND SYSTEMS MODELING, 2017, 16 (04): : 1049 - 1082
  • [5] A Framework for Managing Requirements of Software Product Lines
    Arias, Maximiliano
    Buccella, Agustina
    Cechich, Alejandra
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2018, 339 : 5 - 20
  • [6] Adapting the i* Framework for Software Product Lines
    Antonio, Sandra
    Araujo, Joao
    Silva, Carla
    [J]. ADVANCES IN CONCEPTUAL MODELING - CHALLENGES PERSPECTIVES, 2009, 5833 : 286 - +
  • [7] Formal verification and software product lines - Using formal verification techniques to verify designs within a product line
    Kishi, Tomoji
    Noda, Natsuko
    [J]. COMMUNICATIONS OF THE ACM, 2006, 49 (12) : 73 - 77
  • [8] A Framework for Modelling Variable Microservices as Software Product Lines
    Naily, Moh. Afifun
    Setyautami, Maya Retno Ayu
    Muschevici, Radu
    Azurat, Ade
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2017, 2018, 10729 : 246 - 261
  • [9] Security requirements engineering framework for software product lines
    Mellado, Daniel
    Fernandez-Medina, Eduardo
    Piattini, Mario
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2010, 52 (10) : 1094 - 1117
  • [10] Formal specification of software product lines: A graph transformation based approach
    Khalfaoui, Khaled
    Chaoui, Allaoua
    Foudil, Cherif
    Kerkouch, Elhillali
    [J]. Journal of Software, 2012, 7 (11) : 2518 - 2532