FAMA Tool Suite

FaMa-FW is a Framework for automated analyses of feature models integrating some of the most commonly used logic representations and solvers proposed in the literature (BDD, SAT and CSP solvers are implemented). FaMa is the first tool integrating different solvers for the automated analyses of feature models.

Registered Tool

FaMa Framework

From our experience on feature model analysis we have performed a domain analysis process with the aim of detecting the common features of different analysis tools. Those features and the different extension points are part of the FAMA FW Core. The remaining features are provided as FAMA Extensions.

In the Figure above you may see a detailed description of FAMA FW architecture that we briefly describe to understand the functionality and the flexibility of the tool:

  • QuestionTrader: interfaces for a query-like interaction with FAMA FW. They are uncoupled from FAMA Core so changes on it does not affect the final user.
  • FAMA Core: communicates different extensions among them.
  • FAMA Extensions: set of modules that allows FAMA FW to adapt to user needs:
    • Metamodels: integrate your own variability or feature metamodel and file loaders/savers into FAMA FW.FAMA FW supports XML,AFM;DOT(GraphViz Representation) and X3D (3D representation of feature models) file formats by default.Also support by default Attributes with Plain text format
    • Reasoners: add new reasoners or solvers developed by third parties. By default, JavaBDD, Choco, JaCoP GPL and SAT4j are provided with the tool.
    • Questions: incorporate new reasoning operations. Products counting and listing, error detection and explanation, and products filter are included to date.
    • Reasoner Selector: select at runtime the reasoner to answer an analysis question among all the available reasoners and based on a previously defined criterion (performance, accuracy,…). FAMA FW allows to develop your own smart selectors.
    • Benchmarking: compare different reasoners performance for the same peration. A random feature model generator is provided allowing to store the data and results for a later analysis. Now Fama Benchmark is another powerfull tool that internally can use FaMa or another frameworks.

From version 0.9.2 FaMa is compatible with OSGi, this makes possible to integrate easy with other applications as each extension is now also an OSGi bundle. And the core consumes this extensions and give the necessary feedback

Designed as a PL

FAMA FW has been designed and developed as a Product Line, making a previous domain analysis, identifying the variation points and the variability subjects and providing variablility management mechanisms. In the figure below the feature diagram of the tool is showed:

Operations supported

The next figure shows the operations or questions currently supported for each reasoner included in the framework:

Question / Reasoner Sat4j Reasoner JavaBDD Reasoner Choco Reasoner JaCoP GPL Reasoner
Number of Products Yes Yes Yes Yes
Filter Yes Yes Yes Yes
Products Yes Yes Yes Yes
Validation Yes Yes Yes Yes
Optimum Products

Yes
Yes
Error Detection
  Yes Yes
Error Explanation

Yes Yes
Commonality Yes Yes Yes Yes
Valid Configuration
YesYesYesYes
Variability
Yes
YesYesYes
Valid Product
YesYesYesYes
ConfigurationErrors


Yes

OneProduct
Yes
YesYesYes

Community

FAMA Framework (FAMA FW) is a tool for the automated analysis of variability models (VM). Its main objective is providing an extensible framework where current research on VM automated analysis might be developed and easily integrated into a final product.

FAMA FW is built following the SPL paradigm supporting different variability metamodels, reasoners or solvers, analysis questions and reasoner selectors, easing the production of customized VM analysis tools.

FAMA FW component-based architecture allows to extend or update FAMA FW by means of the so-called FAMA Extensions. We summarize the benefits of using FAMA FW:

  • Easy to integrate: FAMA FW has a simple and stable front-end Java interface(QuestionTrader), implementing a query-based interaction.
  • Easy to extend: FAMA FW architecture allows to extend or update existing products just by adding or updating its components or features. Third-parties are allowed to develop and integrated their own FAMA Extensions.
  • Easy to configure: FAMA FW is configured by means of an unique XML file, asing its maintenance and configuration to adapt the tool to the user needs.

As Open Source Proyect, FaMa Team, has a lot of contributions from diferent sources, as other open source proyects, universities or people. Feel free to use FaMa and give your opinion or upgrade it, simple remember to mail us(fama.support@gmail.com)

FaMa Friends

FaMa Team uses internally some of those products to enhance our productivity. Be sure that those pieces of software are great.

Sat4j is a java solver for SATisfiability problems.

CHOCO is a java library for constraint satisfaction problems (CSP) and constraint programming (CP). It is built on a event-based propagation mechanism with back-trackable structures.

JaCoP is a Finite Domain constraint solver 

JavaBDD is a Java library for manipulating BDDs (Binary Decision Diagrams).

 ANTLR, (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It’s widely used to build languages, tools, and frameworks.

Related Publications

Note: the list of publications is not exhaustive and is manually updated for the moment. For a more up-to-date list, we suggest to have a look also to FaMa team members’ web pages:

FAMA FW is the result of years of reseach on the software product line analysis field, concretly of automatic reaoning applied to product line analysis. The following papers put the basis for development of the tool: D. Benavides, P. Trinidad and A. Ruiz-Cortés. The 17th Conference on Advanced Information Systems Engineering (CAiSE’05): “Automated Reasoning on Feature Models”. Porto, Portugal. 2005.

D. Benavides, A. Ruiz-Cortés, P. Trinidad and S. Segura. Jornadas de Ingeniería del Software y Bases de Datos (JISBD’06): “A Survey on the Automated Analyses of Feture Models” . Sitges. 2006.

D. Batory, D. Benavides and A. Ruiz-Cortés. Communications of the ACM (Special Section on Software Produc Lines): “Automated Analyses of Feature Models: Challenges Ahead”. December 2006.

P. Trinidad, D. Benavides, A. Durán, A. Ruiz-Cortés and M. Toro. Journal of Systems and Software (in press): “Agile Error Analysis of Feature Models”.

P. Trinidad, D. Benavides, A. Ruiz-Cortés, S. Segura and A. Jimenez. Software Product Line Conference Tool Demonstrations (SPLC 08 Tools Demos): “FAMA Framework”. 2008

The following papers moves inside the tool, showing the architecture, functionality and mechanism of FAMA FW:

The following paper presents the feature model used by default in the tool:

More Information

FAMA TEST SUITE
FLAME FRAMEWORK
BETTY FRAMEWORK

For more information, contact us at fama.support@gmail.com