FCL code

Fuzzy Control Language

jFuzyLogic implements Fuzzy Control Language (FCL) which standardizes programming fuzzy logic systems and reduces programming times by removing the need to perform to boiler plate programming tasks.

Membership functions

Flexible and powerful

jFuzzyLogic supports many membership functions, many defuzzifiers, rule aggregation, rule implication and rule connection operators. You can create arbitrarily complex membership functions as well as variable parametrized ones.

Elcipse plugin

Eclipse plug-in

Programming fuzzy systems now is much easier thanks to jFuzzyLogic's Eclipse plug-in. FCL code coloring, code completion and simply see all the membership functions by running the code.


Fuzzy systems made easy.

Using standard language (FCL) and Eclipse IDE reduces learning curve and simplifies programing tasks. No need to learn or program APIs, you can new create fuzzy systems in minutes.


R&D made easy.

Tons of advanced features

  • C++ compiler (convert FCL to C++)
  • Core library available for Android developers
  • Parameter optimization
  • Parametric membership functions
  • Functionally defined memberships


Papers & Citing

If you are using jFuzzyLogic in academic environments, please cite our publications.

  • Cingolani, Pablo, and Jesús Alcalá-Fdez. "jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming", International Journal of Computational Intelligence Systems, vol. 6, no. sup1, pp. 61–75, 2013
  • Cingolani, Pablo, and Jesus Alcala-Fdez. "jFuzzyLogic: a robust and flexible Fuzzy-Logic inference system language implementation." Fuzzy Systems (FUZZ-IEEE), 2012 IEEE International Conference on. IEEE, 2012.

  • Example: Tipper demo

    Simple application example. To run this demo, download jFuzzyLogic.jar and run:
    java -jar jFuzzyLogic.jar demo