FLAME is a formal framework based on the Z specification language for the definition of analysis operations on software product lines using different variability modeling languages (VMLs).
FLAME is designed in two layers. The first one is the abstract foundation layer (AFL), which includes the definitions of abstract concepts (that can or must be redefined in the second layer), and 18 notation-independent, reusable analysis operations. The second layer is the characteristic model layer (CML), where the semantics of specific VMLs are specified.
The first VML specified in FLAME is the FODA-like basic feature model (BFM) notation, including the corresponding specification in the Z language and a reference implementation in Prolog. The reference implementation has been exhaustively tested using the BeTTy framework.
Related links:
- Technical Report ISA-12-TR-02 describing FLAME and the BFM specification
- Updated BFM reference implementation and tests in SWI Prolog
- Material in the corporate repository of the University of Seville